PDA

Visualizza la versione completa : [C++] OpenGL: usare glcolor in modo corretto


cerza
19-07-2011, 10:14
Salve,
spero di non aver sbagliato sezione, stò facendo un'applicazione in 3D con opengl solo che essendo luci e colori ho un pò di problemi in quanto con le luci abilitate i colori non dovrebbero funzionare quindi disabilito le luci ed uso i colori ma il tutto non funziona perchè il colore viene applicato a tutta la scena 3D.
c'è qualcuno che può aiutarmi?
grazie per la disponibilità, buona gionata a tutti.

alka
19-07-2011, 10:15
Manca il linguaggio di programmazione di riferimento.

linoma
19-07-2011, 10:28
glColor è uno dei pochi comandi che puoi applicate al interno glBegin - glEnd (se nn ricordo male) quindi puoi variarlo ad ogni singolo vertice

cerza
19-07-2011, 10:50
scusatemi il linguaggio non mi sembrava rilevante perchè il problema è riferito alla libreria opengl; comunque il linguaggio è c++ e adesso non so come variare il titolo del post.
Per quanto riguarda il glcolor già lo faccio all'interno di una glbegin e glend e già lo applico in modo diverso ai vertici.

linoma
19-07-2011, 11:23
Credo che dovresti aggiungere enable/disable GL_LIGHTING oltre che x le singole luci. Se posti un (qualche riga) di codice ti dico qualcosa.

cerza
19-07-2011, 11:41
bene il codice è il seguente

void Events::creaScia(float x, float z){
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
if(speed!=0){
glShadeModel(GL_SMOOTH);
glBegin(GL_LINE);
glColor3f(1.0,0.0,0.0);
glVertex3f(x,0.0, z);
glColor3f(0.0,0.0,1.0);
glVertex3d(x+1,0.0, z+1);
glEnd();
}
glEnable(GL_LIGHTING);
glEnable(GL_TEXTURE_2D);
}

linoma
19-07-2011, 11:44
Credo che il tuo problema sia l'ultimo glColor lo devi variare al vecchio, bianco? Credo che qui (http://www.falloutsoftware.com/tutorials/gl/gl8.htm) possa trovare qualcosa di utile.

cerza
19-07-2011, 12:29
ma se faccio glcolor bianco non vedo più nessun colore.....

Loading