M
Maiworm
Neues Mitglied
- 0
Hallo,
ich probiere gerade ein wenig Dreiecke mit Farbverlauf in OpenGL darzustellen. Es funktioniert auch soweit, nur sind die Farben irgendwie blasser als ich es mir wünsche. Wenn ich z. Bsp. alle drei Ecken grün zeichne, so bekomme ich später die Farbe RGB = 82,113,0 statt 255,255,0.
Hier der Code:
Die werte fx.rot, fx.gruen und fx.gelb sind float-Werte, die ich für gelb zum Beispiel mit 1,1,0 belege.
Hat einer eine Idee, was ich falsch mache bzw. wie ich es richtig machen kann?
Hier das Ergebnis:
farbengm8ey2plon.png auf fotos-hochladen.net
ich probiere gerade ein wenig Dreiecke mit Farbverlauf in OpenGL darzustellen. Es funktioniert auch soweit, nur sind die Farben irgendwie blasser als ich es mir wünsche. Wenn ich z. Bsp. alle drei Ecken grün zeichne, so bekomme ich später die Farbe RGB = 82,113,0 statt 255,255,0.
Hier der Code:
Code:
GL10 gl = glGraphics.getGL();
gl.glDisable(GL10.GL_BLEND);
FloatBuffer vertices;
int VERTEX_SIZE = (2 + 4) * 4;
ByteBuffer bytebuffer = ByteBuffer.allocateDirect(12*VERTEX_SIZE);
bytebuffer.order(ByteOrder.nativeOrder());
vertices = bytebuffer.asFloatBuffer();
vertices.put( new float[] { xl, yu, f3.rot ,f3.gruen , f3.blau,1f,
xr, yu, f4.rot ,f4.gruen , f4.blau,1f,
xm, ym, f5.rot ,f5.gruen , f5.blau, 1f});
vertices.put( new float[] { xr, yo, f2.rot ,f2.gruen , f2.blau,1f,
xr, yu, f4.rot ,f4.gruen , f4.blau,1f,
xm, ym, f5.rot ,f5.gruen , f5.blau, 1f});
vertices.put( new float[] { xr, yo, f2.rot ,f2.gruen , f2.blau,1f,
xl, yo, f1.rot ,f1.gruen , f1.blau,1f,
xm, ym, f5.rot ,f5.gruen , f5.blau, 1f});
vertices.put( new float[] { xl, yu, f3.rot ,f3.gruen , f3.blau,1f,
xl, yo, f1.rot ,f1.gruen , f1.blau,1f,
xm, ym, f5.rot ,f5.gruen , f5.blau, 1f});
vertices.flip();
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
vertices.position(0);
gl.glVertexPointer(2, GL10.GL_FLOAT, VERTEX_SIZE, vertices);
vertices.position(2);
gl.glColorPointer(4, GL10.GL_FLOAT, VERTEX_SIZE, vertices);
gl.glDrawArrays(GL10.GL_TRIANGLES,0,3);
gl.glDrawArrays(GL10.GL_TRIANGLES,3,3);
gl.glDrawArrays(GL10.GL_TRIANGLES,6,3);
gl.glDrawArrays(GL10.GL_TRIANGLES,9,3);
Hat einer eine Idee, was ich falsch mache bzw. wie ich es richtig machen kann?
Hier das Ergebnis:
farbengm8ey2plon.png auf fotos-hochladen.net
