Good. Now, you just need to change your texture coordinates to match the vertices. I think that these should work:
0, 1,
1, 1,
0, 0,
0, 1,
1, 0,
1, 1
Good. Now, you just need to change your texture coordinates to match the vertices. I think that these should work:
0, 1,
1, 1,
0, 0,
0, 1,
1, 0,
1, 1
It still looks odd. maybe something should be flipped.
http://i.minus.com/iQj59V4Er1s3k.gif
Hmm… Yeah, just keep messing around with the coordinates. Maybe you have to re-order them or something.
Shaders aren’t the only part of the programmable pipeline. They are really the main part, but VBOs are really the only way to upload the data.
Hehe, yeah they are… Interleaving data or sending it down the pipeline in a new way doesn’t make it programmable. In that case OpenGL 1.5 had a programmable pipeline.
Why would you ever want to use immediate mode? Whenever I see a statement like this, I cringe. You don’t ever need to worry about whether something is compatible with immediate mode or not, because you should just never use it. This is another reason to stop using gl_Vertex…
I’m never using immediate mode. Using the old gl_Vertex in GLSL doesn’t mean its interleaved, not at all. I’m just saying the drawArrays call in GL1.5 and glBegin(…) commands basically send data to the same place. And you can still use them and their concepts in a more modern context.
The shaders were introduced with Opengl 2. This was before everything was deprecated in 3+. Thus, this was the best way at the time to handle your matrices. Now that they’re deprecated, there are other (better) ways to handle and send data do the shaders.
glUniform(…) has been around since 2.0, and still is the best way to send matrices in 3.0 ( I think… ). Although vertex attributes are cool. I just don’t think they’re programmable with the OpenGL programmable pipeline.