Domanda

Ciao a tutti,    Sto scrivendo un piccolo motore 3D per Android per meglio conoscere la piattaforma e OpenGL. Spero eventualmente utilizzare come base per i piccoli giochi 3D a.

Sto cercando di implementare l'illuminazione in questo momento, e in generale in seguito alla NeHe OpenGL tutorial porta Android. Ho un cubo semplice filatura e 1 luce che non dovrebbe cambiare posizione. Al momento il rendering mia scena su un dispositivo viene visualizzato il segno di luce per "dim" e ri-alleggerire come ruota cubo.

Questo è un video swf del comportamento: http://drop.io/obzfq4g

Il codice per il mio "motore" si trova qui: http: // GitHub. com / mlasky / Smashout-Android-3D-Engine /

I bit rilevanti sono:

http: //github.com/mlasky/Smashout-Android-3D-Engine/blob/master/src/com/supernovamobile/smashout/SmashoutGLRenderer.java
questo è dove sto inizializzazione OpenGL e installare il mio scena.

e

http: //github.com/mlasky/Smashout-Android-3D-Engine/blob/master/src/com/supernovamobile/smashout/SMMesh.java questo è il codice effettivamente rotante / disegno maglia cubo.

Vorrei poter formulare una domanda migliore; ma io sono molto bloccato / confusa e non riesco nemmeno a pensare a una domanda intelligente di chiedere oltre a "qualcuno sa che cosa potrebbe causare il tipo di comportamento che sto vedendo?"

Grazie per qualsiasi aiuto che potete fornire.

Edit: anche la lentezza / choppyness dell'animazione nel video è il risultato del software screencap. E 'liscia per tutta la rotazione sul emu.

È stato utile?

Soluzione

Dal video sembra che le vostre normali non sono corrette.

Per un cubo asse allineato le normali in cube.xml sembrano fuori. Essi dovrebbero essere l'asse allineato, non qualunque esse siano. Dove hai preso il modello?

Questa risposta può anche essere collegato se mVNormalsBuffer è vuoto.

Altri suggerimenti

Si utilizza

gl.glNormalPointer(3, GL10.GL_FLOAT, mVNormalsBuffer);

sbagliata.

Dovrebbe essere:

gl.glNormalPointer(GL10.GL_FLOAT,0, mVNormalsBuffer);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top