OpenGL - Problème avec lissage

OpenGL - Problème avec lissage - C - Programmation

Marsh Posté le 21-11-2008 à 23:50:40    

Bonjour,
 
Pour faire simple : j'essaie de coder quelque chose d'assez simple en C/OpenGL. Pour obtenir de meilleurs rendu, je souhaite activer le lissage / anti-crénelage. Pour cela, j'utilise le code suivant :

Code :
  1. // Activation du lissage
  2.    glEnable( GL_BLEND );
  3.    glEnable( GL_POLYGON_SMOOTH );
  4.    glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );

Ça fonctionne mais pas exactement comme voulu... Une image sera plus parlante qu'une longue description :
 
http://pix.nofrag.com/1/4/3/9f5a31307e08fe19434355f144065.jpg
 
On peut voire sur cette capture qu'une diagonale apparait sur mes cubes. Elle n'est pas là quand je désactive le lissage...
J'imagine que c'est dû au fait que mes GL_QUADS sont finalement représentés par deux polygones dont on voit bien la délimitation par cette diagonale.
Cela-dit, je vois pas comme résoudre le problème.
 
Par ailleurs vous verrez aussi que le lissage est fait par rapport à la couleur de fond de la scene et non pas de l'objet qui se trouve devant le fond. On voit donc des contours noirs sur le triangle rouge.
 
Voilà, si vous avez des pistes, des idées, je suis preneur.
Merci :jap:


Message édité par dwogsi le 22-11-2008 à 00:08:33

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 21-11-2008 à 23:50:40   

Reply

Marsh Posté le 22-11-2008 à 16:38:00    

Si je désactive les DEPTH_TEST j'ai plus ce problème, mais ça ne m'arrange pas vraiment...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 24-11-2008 à 00:20:32    

:bounce:


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 24-11-2008 à 01:08:55    

la technique du glEnable( GL_POLYGON_SMOOTH ) est une technique entrainant des restrictions comme tu as pu le constater...
 
regarde du coté de l'extension ARB liée au multisample:
http://nehe.gamedev.net/data/lesso [...] ?lesson=46

Reply

Sujets relatifs:

Leave a Replay

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