Ich versuche, einen Scheinwerfer in meinem 2D-Spiel erstellen mit dem folgenden CodeAndroid OpenGL ES 1.0 Beleuchtung Position, Richtung und Cutoff
float[] ambient = {0.1f, 1, 1, 1};
float[] position = {45, 20, 0, 1};
float[] direction = {0, -1, 0};
gl.glEnable(GL10.GL_LIGHT1);
gl.glLightfv(GL10.GL_LIGHT1, GL10.GL_AMBIENT, ambient, 0);
gl.glLightfv(GL10.GL_LIGHT1, GL10.GL_POSITION, position, 0);
gl.glLightfv(GL10.GL_LIGHT1, GL10.GL_SPOT_DIRECTION, direction, 0);
gl.glLightf(GL10.GL_LIGHT1, GL10.GL_SPOT_CUTOFF, 30.0f);
Im Allgemeinen ist die Stelle arbeitet, aber ich kann es nicht bewegen, noch Ändern Sie die Richtung und den Cutoff. Wenn ich den Positionsvektor ändere, bleibt er in der gleichen Position oder verschwindet vollständig. Dasselbe passiert mit Richtung und Cutoff. Es glänzt immer links/oben mit einem Winkel von 45 Grad. Wenn ich GL_AMBIENT zu GL_DIFFUSE oder GL_SPECULAR ändere, verschwindet auch das Licht. Das einzige, was ich ändern kann, ist die Farbe des Lichts.
Was mache ich falsch?
hm, Projektion ist bereits eingerichtet –
@zolex: und Kameramatrix? – Tim
Was ist Kameramatrix? –