CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

openGL transparence

delf__ar
delf__ar
Niveau 7
30 janvier 2005 à 18:26:30

je voudrais savoir si il y a moyen de faire des formes openGL ou on peut voire a travers ex : vitre

LGV
LGV
Niveau 28
30 janvier 2005 à 18:29:46

oui, il suffit d´activer le blending ( à coup de glEnable et de GL_BLEND si je me souviens bien...) et de savoir ce qu´on fait avec ses textures ( canal alpha ? facteurs de blending ? tout ça quoi)

JeanYvesYves
JeanYvesYves
Niveau 10
31 janvier 2005 à 09:45:44

le probleme ( et gros probleme), c´est qu´en activant le blending, tu es obligé de désactiver le Z-buffer... :(
Gros soucis de OpenGL, fait des essais !

Exemple tuto 8 de Nehe : http://nehe.gamedev.net

Sinon, ce qu´on peut faire aussi, pour autre utilsation, c´est utiliser, et sans soucis cette fois, le GL_TEST_ALPHA, qui permet de ne pas afficher certains pixels :

cela te permettra par exemple , d´afficher un bonhomme sur un Quad, avec couleur transparente, autrement dit sasn avoir le fond du quad : et ainsi te faire des jeux genre " paper mario" ou " guardian Heroes" sur Saturn...
( de la 2d en 3d en fait)

ou alors de faire des effets, genre tu as l´aile d´un oiseau, et qq plumes derriere donc : au lieu de faire 50 triangles, tu en fait 1 ou 2 en démarquant le bord des plumes...

LGV
LGV
Niveau 28
31 janvier 2005 à 10:16:59

pas tout a fait d´accord

" en activant le blending, tu es obligé de désactiver le Z-buffer"

dans la mesure ou toute appli bien concue devrait rendre le polys solides front-to-back et les translucides back-to-front, je ne vois pas tres bien ou se situe le probleme :-?

sinon pour l´alpha-test, si c´est pratique pour la decoupe a l´emporte piece ou les effets ( dissolution d´une image dans une autre par ex.), c´est aussi plus couteux

Enfin, tout cela dedans des finalites recherchees :D

JeanYvesYves
JeanYvesYves
Niveau 10
31 janvier 2005 à 11:38:05

ça peut poser problemes si tu envoies anarchiquement tes polygones dansla carte graphique :)

si tu envoies des transparents ou des opaques, selon l´ordre ou tu les envoies, le résultat n´est pas le meme avec OpenGL, c´est une de ses faiblesses :(
pour parer ça, faut faire un début de triage...

exemple ou ça foire : je pose z = le plan perpendiculaire a l´axe de la cam : je dis que les triangles sont dans un tel plan pour simplifier.

si je pose un triangleopaque z=3, puis un triangle transparent z = 1 ( qui couvre une partie du traingle z=3) : ça marche bien :
le triangle opque se met, puis le triangle transparent z=1 calcule la couleur.

si tu fais l´inverse ( avec le zbuffer activé), tu poses le transparent z=1 ( qui fait transparent avec le fond) puis tu poses le opaque z=3 : le zbuffer te bloque la partie d´en dessous, et le triangle transparent ne se change pas : le résultat n´est pas le meme a la sortie...

LGV
LGV
Niveau 28
31 janvier 2005 à 12:43:45

tout a fait d´accord sur les resultat, mais pas sur le fait que ce soit un probleme, c´est meme tout a fait normal selon moi ( et on retrouve ca avec toute API 3D d´ailleurs) : au programmeur d´assurer le bon ordre des operations. Comme on a tout le controle, rien n´empeche de fournir une interface pour assurer l´ordre d´affichage, mais il est heureux que cela ne soit pas fait automatiquement. Dans tous les cas, il FAUT trier, on est bien d´accord :)

JeanYvesYves
JeanYvesYves
Niveau 10
31 janvier 2005 à 12:48:04

:) en effet, avec tri, aucun soucis :)

gollumkawder
gollumkawder
Niveau 10
31 janvier 2005 à 12:52:37

Hm j´ai eu aussi quelques problemes avec l´alpha blending, mais j´ai activé le Depth buffer, utilisé GlDpethMask(GL_DISABLE); avant de mettre mes dessins et GlDepthMask(GL_TRUE); après avoir rendu le cube texturé et alpha blendé, je ne sais pas si c´est le meme probleme, mais c´est récurrent au débutant d´après ce que m´as dit un ami... en tout cas ça ressemble au votre
hm exemple içi :d)
glLoadIdentity();
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
glEnable(GL_TEXTURE_2D);
glColor4f(1.0f,1.0f,1.0f,0.5f);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTranslatef(1.2f, 1.3f, -20.0f);
glRotatef(xrot, 1.0f, 0.0f, 0.0f);
glRotatef(yrot, 0.0f, 1.0f, 0.0f);
glRotatef(zrot, 0.0f, 0.0f, 1.0f);

glBegin(GL_QUADS);
. ..
glEnd();
glDepthMask(GL_TRUE);

et désolé si c´est pas le même probleme :-d
/ over

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment