Salve a tutti,
Inizio col dire che non sono un esperto dell'opengl XD.
Più o meno l'anno scorso ho iniziato un progetto per l'università, praticamente il prof chiedeva di realizzare un gioco utilizzando il C o C++ con le sole librerie SDL o GLUT,ricordando che il progetto non è sul gioco ma sulla grafica.
Io ho deciso di realizzare un gioco automobilistico (con una fisica grezza).
Librerie da installare da apt :
freeglut3-dev freeglut3 libsdl1.2-dev libsdl-image1.2 libsdl-image1.2-dev fglrx-dev
Arrivo al problema :
-più o meno un anno fa avevo quasi completato il progetto su un Ubuntu 9.xx(non ricordo di preciso)
- qualche giorno fa mi sono installata una ubuntu 11.10 (tutto tranquillo ma per compilare ho dovuto aggiungere fglrx-dev)
quindi sono riuscito a sistemare tutto e a compilare:
aggiungendo al compilatore gcc: -lGLU -lglut -lSDL_image -lSDL -lm
fin qui tutto ok.
Avvio il gioco e noto subito una differenza che con il compilato vecchio non c'era, il vetro dell'auto non rende il riflesso e la trasparenza in modo analogo.
Allego la differenza del render:
Render col vecchio compilato
http://imageshack.us/photo/my-images...ndcorretto.png
![]()
Render del nuovo compilato
http://imageshack.us/photo/my-images...lenderrore.png
![]()
Codice che uso per il blend assieme environment mapping per la realizzazione del vetro.
da notare che l'environment mapping sulla carena dell'auto va tranquillamente senza problemi,
il problema avviene quando è assieme al blend.
codice://trasparenza glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA,GL_ONE); //environment mapping glBindTexture(GL_TEXTURE_2D,blocco->texture); glEnable(GL_TEXTURE_2D); glEnable(GL_TEXTURE_GEN_S); // abilito la generazione automatica delle coord texture S e T glEnable(GL_TEXTURE_GEN_T); glTexGeni(GL_S, GL_TEXTURE_GEN_MODE , GL_SPHERE_MAP); glTexGeni(GL_T, GL_TEXTURE_GEN_MODE , GL_SPHERE_MAP);
Vedete la differenza?? che può essere o come posso risolvere? grazie in anticipo XD

Rispondi quotando
.