Couche alpha (opengl)

Couche alpha (opengl) - C++ - Programmation

Marsh Posté le 25-06-2003 à 14:27:41    

Salut,
 
j'ai implémenté un certain alpha (glEnable(GL_SRC_ALPHA) ou quelque chose approchant, je ne peux avoir mon code sous les yeux ...)
Quand j'affichage quelques points (GL_POINT, tous compris dans un cube centré en 0 et d'arête 1), et que je fais tourner ma scène autour du point origine, il y a certains angle ou on ne voit plus rien ...
 
est-ce normal ?


Message édité par darkalt3 le 25-06-2003 à 14:39:06
Reply

Marsh Posté le 25-06-2003 à 14:27:41   

Reply

Marsh Posté le 26-06-2003 à 05:32:47    

quel est le rapport avec la couche alpha?
 
Tu as essaye en desactivant l'alpha ?
 
LeGreg
ps: a priori non ce n'est pas normal mais je ne peux pas t'en dire plus sans plus de detail ou le code fautif.

Reply

Marsh Posté le 26-06-2003 à 09:46:32    

legreg a écrit :

quel est le rapport avec la couche alpha?
 
Tu as essaye en desactivant l'alpha ?
 
LeGreg
ps: a priori non ce n'est pas normal mais je ne peux pas t'en dire plus sans plus de detail ou le code fautif.


 
Alors:
-j'ai effectivement essayé en désactivant l'alpha, et là on voit bien tout mes points (ils forment des nuages, ~10000 points), et lorsque je tourne mon cube, ils restent affichés toutt à fait normalement ...
- Quand j'active l'alpha, sous certains angles, ils sont tous invisibles.
 
=> pourquoi cette différence de comportement ? ...
 
J'essaierais de fournir un morceau de code ce soir.
 
PS: merci !


Message édité par darkalt3 le 26-06-2003 à 09:46:59
Reply

Marsh Posté le 26-06-2003 à 09:55:01    

ok,
si tu as des faces transparentes  
alors tu dois tracer les faces transparentes de l'arriere vers l'avant
ou alors tu changes de methodes de blending
par exemple en additif.
 
Ps: est-ce que tes points sont de couleur uniforme?  
a quoi sert l'alpha dans leur cas ?
 
LeGreg

Reply

Marsh Posté le 26-06-2003 à 10:02:29    

legreg a écrit :

ok,
si tu as des faces transparentes  
alors tu dois tracer les faces transparentes de l'arriere vers l'avant
ou alors tu changes de methodes de blending
par exemple en additif.
 
Ps: est-ce que tes points sont de couleur uniforme?  
a quoi sert l'alpha dans leur cas ?
 
LeGreg


Non, aucune face, juste des points, de couleurs non uniforme.
Ce sont des points qui representent des stats, et dont l'alpha représente une certaine 'présence'...
 
Je ne comprends pas d'ou vient le pb avec l'alpha... ca devrait etre indépendant des matrices de transformation ....
Rhâ, j'aurais accès à mon code que ce soir :/
 

Reply

Marsh Posté le 26-06-2003 à 10:10:24    

oui mais si tu ecris la profondeur de ces points dans le depth buffer, au fur et a mesure que tu traces seuls les points les plus proches vont apparaitre.
 
Le depth buffer est la pour cacher les pixels opaques, cela ne marche pas pour les pixels transparents pour les tracer correctement, tu desactives le test de profondeur et soit tu traces de l'arriere vers l'avant, soit tu changes de methode de blending.
 
LeGreg

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed