GlShadeModel(GL_FLAT) equivalent for OpenGL ES ?
I'm drawing triangles with GL_TRIANGLE_STRIP, each triangle with diferent colors, but they are smoth and I want them to be flat.
glShadeModel(GL_FLAT) is not valid in OpenGL ES, so how to do it ?
You will have to split the vertices in the triangles, (GL_TRIANGLE_STRIP to GL_TRIANGLE). This way you can set same color for three vertices in the triangle.
That seems a good workaround.
I'm trying to draw a 3D graph with a pattern of 2 square colors. Right now I have a arrai of points and a arrai of colors. It works but the arrai of colors seems a waste of memory since I only have 2 colors, that repeat themselves in a pattern. Perhaps I can do something about it ?
In the good old desktop fixed pipeline I would eliminate the color arrai with something like:
if (i%2 == 0)
glColor3d(Red_a, Green_a, Blue_a);
glColor3d(Red_b, Green_b, Blue_b);
Don't know if I'll be able to do something like this in the fragment shader, I'll have to think about this.
Also regarding your sugestion, I'm using glDrawArrays(), shoud I add extra vertices to my arrai, or create another arrai with geometry info and use glDrawElements() ? Any sugestions ?
[quote author="john_god" date="1337295150"]
Don't know if I'll be able to do something like this in the fragment shader, I'll have to think about this.[/quote]
Since you don't have any topology information in vertex shader, you can't. You can do it with uniform, but then you have to do a lot of glDraw* call. Maybe if you can determine, let's say, by vertex position...
Also regarding your sugestion, I'm using glDrawArrays(), shoud I add extra vertices to my arrai, or create another arrai with geometry info and use glDrawElements() ? Any sugestions ?[/quote]
I prefer indexed array (glDrawElements) but that doesn't mean it's best for your case. If it's easier for your to implement with glDrawArrays, then go with that.
Thank you minimoog77