Salut, voila mon projet avance pas trop mal, mais j'ai un dernier petit soucis en OpenGL :
1) j'aimerai dessiner un sphere dont la moitié serait noir opaque et la
seconde serait transparente... comment faire une sphere transparente
d'un coté et opaque de l'autre ?? je ne sais pas trop... si qqun a une
idée.
2) j'arrive toujour pas a fixé le fait que openGL bug sur l'affichage
de ma scene 3D, tous ce qui est prêt est correctement affiché, mais au
loin, il bug et les éléments cachés apparaissent !! donc par exemple
pour mes montagnes, dans celle du milieu je vois celle de derriere !!!!
mais quand je me rapproche, Oooups sa devient normal !!!! donc si qqun a un conseil.....
est ce que sa peu venir du fait que j'utilise pas de glDrawArry ?
pourtant l'affichage est rappide, j'ai bcp de frame par seconde...
enfin, voila, je débute donc je pose des questions plutot bête mais bon....
Utilisation d'une image TGA, donc transparente ou on veu quand on veu,
j'utilise les spheres de glut, et la texture est facile a controller
donc c'est ok.
Pour la scene qui s'efface :
Le z-buffer était en fait trop petit, je tournais avec 16 bit et je
suis donc passé a 24bit, voila donc la définition du format de pixel
static PIXELFORMATDESCRIPTOR pfd= // pfd tells windows how we want things to be
{
sizeof(PIXELFORMATDESCRIPTOR), // Size of this pixel format descriptor
1,
// Version number
PFD_DRAW_TO_WINDOW |
// Format must support window
PFD_SUPPORT_OPENGL |
// Format must support OpenGL
PFD_DOUBLEBUFFER,
// Must support double buffering
PFD_TYPE_RGBA,
// Request an RGBA format
BITS,
// Select our color depth
0, 0, 0, 0, 0,
0,
// Color bits ignored
0,
// No alpha buffer
0,
// Shift bit ignored
0,
// No accumulation buffer
0, 0, 0,
0,
//
Accumulation bits ignored
24,
// 24 Bit Z-Buffer (depth buffer)
0,
// No stencil buffer
0,
// No auxiliary buffer
PFD_MAIN_PLANE,
// Main drawing layer
0,
// Reserved
0, 0,
0
// Layer masks ignored
};
désolé : KeniiyK j'avais pas vue, mais sa ne résoud pas mon probleme et sa fait *$%& car sa fait vraiment trop affreux quand tu vois les montagnes bugger !!!
Barraq, je sais pas si t'as lu
tout les post sur "pb echelle OpenGL", il y a un moment ou je t'ai
parlé du Z-Buffer, et si ton pb vient de ca alors ca changera rien que
tu utilise les glDrawArray...
Met du brouillard pour tes montagnes :) Pour ta sphère je sais
pas comment faire :) Enfin si mais ca me parait compliqué. C'est à dire
récréer un algorithme pour construire une sphère, mais gérer toi meme
la texture de chaque face.
lol, non le brouillard c'est pas la solution , fau que je trouve pourquoi !! en plus dans ma map il fait grand soleil , donc pas de brouillard......
et pour la sphere oui peut etre que c'est la seul solution.... en fait
je cherche a créé un type de personnage, cette sphere representera un
personnage et tu pouras interagir avec lui, l'idée est de faire un truc
futuriste, un peu comme si cette sphere été télécommandé par ton
clavier et que ta sphere se trouve dans le monde que j'ai créé. Vu
qu'il y a plusieur personne faisant comme toi il y a plusieur sphere,
et donc par l'intermediaire de ton écran tu les vois.
Mais il faut bien que je fasse un devant et un derriere a mes spheres pour savoir si tu parle a ma tete ou a mon .... ....
lol, voila, donc je cherche un design simple mais simpa...
Hey !!!, salut Barraq, voui ben le probleme des montagnes qui s'affichent anormalement ressemblent fortement a un Z-Buffer equivalent sur deux coordonées de profondeurs non-équivalentes, en fait le Z-Buffer utilise une echelle logarithmique, c'est a dire qu'il différencie mieux les distances diférentes "proches" que les distances "non-proches" du point de vue.
Après pour le problème des deux hémisphères, l'un en opaque et l'autre translucide, il faut dessiner l'hémisphère opaque en premier "normalement" (sans glBlend ..., dans ta couleur) et ensuite l'hémisphère transluicide avec du blend, bien sur cela implique qu'il te faut une méthode de tracé d'hémisphère (QUAD ou TRIANGLE peu importe, mais une méthode...)