OyoBon je vais encore vous casser les pieds avec une question
Vous allez vous dire pk lui il fait jamais comme les autres ???
bon le but c de pouvoir stoquer la couleur sur un DWORD et qu'opengl arrive à la récupérer(en gros faire comme dans directX)
G une structure de vertex :
je crée donc un vertex buffer ARB avec et je veux lire la couleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 struct VERTEX2 { float x,y,z; float nx,ny,nz; DWORD Color; };
mais pb !!! il inverse le rouge et le bleu :'(
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int nOffsetForColor = offset; glColorPointer( 4, GL_UNSIGNED_BYTE, nVertexStride, BUFFER_OFFSET(nOffsetForColor) ); glEnableClientState( GL_COLOR_ARRAY );
voilà la macro que j'utilise pour crée ma couleur :
En fait c pour mon moteur qui doit afficher OpenGL et DirectX de la même façon
Code : Sélectionner tout - Visualiser dans une fenêtre à part #define M3D_RGBA(r, g, b, a) ((((long)((a) * 255)) << 24) | (((long)((r) * 255)) << 16) | (((long)((g) * 255)) << 8) | (long)((b) * 255))
donc en D3D pas de pbs car lui il sait comment lire la couleur, mais en opengl pourrait on pas lui dire d'inverser certaines couleur ?
merci si qq un arrive à répondre !
Partager