Autor Beitrag
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Fr 18.10.02 21:12 
Hi,

hab mal ne frage zu dem GL_BLEND...
wenn ich das enable wird ALLES transparent, aber ich hätte es gern so das nur bestimmte objekte Transparent werden... wenn ich bei der Color angabe den Alpha Wert auf 1.0 setzt hilt's auchnix... :(

UND, wenn ich GL_BLEND habe, muß ich ja GL_DEPTH_TEST deaktivieren... gibt es nicht irgendne möglichkeit einfach nur ein einziges objekt transparent werden zu lassen???

Au'revoir,
Aya
Aya Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Fr 18.10.02 21:20 
Mhh..
hab jetzt versucht alles mit dem Depth_Test zu zeichnen, und am ende erst Blend zu aktivieren und dann das Object mit der Transparenz zu zeichnen...

geht auch soweit, nur (!) das Transparente objekt ist jetzt IMMER sichtbar... also man sieht es auch durch wände hindurch (kein DepthTest halt...)

kann mir da jemand helfen??
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Sa 19.10.02 21:00 
Tja, eigentlich fällt mir da nur eins ein: alles mit Gl_Blend zeichnen, dabei Alpha auf undurchsichtig setzen, dann dein Transparenz-Objekt mit irgend einem andern Alpha-Wert rendern.

Noch was: verwendest du überhaupt die Funktion glBlendFunc? Spiel mal ein bisschen mit den Werten rum, ich glaube (Gl_Dst_Alpha, Gl_One_Minus_Dst_Alpha) müsste gehen. Wichtig: deine undurchischtigen Objekte müsse auch mit Alpha = Undursichtig gerendert werden!!!

Ausprobieren hilft immer :D
Aya Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: So 20.10.02 16:33 
ja, aber dann geht ja Depth_Test nichmehr... und dadurch sieht man dann die hälfte der Objekte nemmer :)
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: So 20.10.02 17:18 
Sorry... ausporbieren hilft immer... hätt' ich auch vorher tun sollen...

Aber hast du schon probiert, permanent Depth-Testing und Blending zu aktivieiren? Könnte klappen...
Außerdem gibt es da so eine Funktion, glDepthFunc. Ich kenne mich damit zwar nicht aus, aber villeicht ist das der schlüssel zum Erfolg...
Aya Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Fr 25.10.02 20:59 
Hi,

was ist denn permanent Depth-Testing und Blending??
oder meinst du einfach das GL_DEPTH_TEST und GL_BLEND dauernd aktiviert sind?? das geht nämlich net :)

Wenn du was anderes meintest, erklär mal bitte

Au'revoir,
Aya
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Fr 25.10.02 21:54 
Hi Aya,

ich muss sagen, das Problem hat mich ganz schön beschäftigt. Sogar so arg, dass ich mich 2 Stunden vor den PC gesetzt und nach einer Lösung gesucht habe. Jetzt funktioniert es, 100%!

1) Vergess alles, was ich bisher gesagt habe, das war nur Spekulation :oops:

2) So gehts (hab ich ausprobiert:
- Alle undurchsichtigen Objekte rendern (mit Depth_Test)
- glDepthMask(False); aufrufen
- Alle durchsichtigen Objekte rendern (auch mit Depth_Test)
- glDepthMask(True); aufrufen (rückgängig machen)
- Fertig!!!!!!!!!!!

Erklärung:
Zuert alles undurchsichtige rendern, klar. Dann verhinderst du mittels glDepthMask, dass neue Z-Werte gebuffert werden. D.h., es wird nur dann gezeichnet, wenn es von keinen undurchsichtigen Objekten überdeckt wird, durchsichtige sind egal (die sollen ja geblendet werden)... kann ich so schlecht erklären... mach die mal Gedanken darüber... auf jeden Fall funzt's!

:D AP
Aya Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Fr 25.10.02 22:09 
huhu, danke werd's nachher mal versuchen :)

PS: Schreib mir mal ne Mail (Aya@animes.de) oder per ICQ (36235116)... muß dich mal was fragen (Keine angst, nix wo ich hilfe brauch oder so *g*)