[OPENGL/C++] Couleur sur un DWORD ?
Oyo :) Bon 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 :
Code:
1 2 3 4 5
| struct VERTEX2 {
float x,y,z;
float nx,ny,nz;
DWORD Color;
}; |
je crée donc un vertex buffer ARB avec et je veux lire la couleur :
Code:
1 2 3
| int nOffsetForColor = offset;
glColorPointer( 4, GL_UNSIGNED_BYTE, nVertexStride, BUFFER_OFFSET(nOffsetForColor) );
glEnableClientState( GL_COLOR_ARRAY ); |
mais pb !!! il inverse le rouge et le bleu :'(
voilà la macro que j'utilise pour crée ma couleur :
Code:
#define M3D_RGBA(r, g, b, a) ((((long)((a) * 255)) << 24) | (((long)((r) * 255)) << 16) | (((long)((g) * 255)) << 8) | (long)((b) * 255))
En fait c pour mon moteur qui doit afficher OpenGL et DirectX de la même façon :) 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 !