Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 23:00

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Blending und Texturen
BeitragVerfasst: Fr Mär 23, 2007 15:29 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 23, 2006 17:48
Beiträge: 24
Hallo,

meine Szene sieht so aus:
  1. Textur auf GL_QUADS
  2. Weißes GL_QUADS, dass über die Textur geblendet wird (Alpha=30%)
  3. Polygon oben drauf.

Ist es möglich, dass das Polygon rein durch Blending die Textur aus dem Hintergrund kriegt?
(Siehe Bild)

Danke+Gruß,
Florian


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 23, 2007 15:32 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
wäre es nicht möglich evtl. wieder mit 30% schwarz darüberzublenden um die 30% weiss gut zu machen? bin mir da aber überhaupt nicht sicher, da es gut sein kann, dass sehr helle sachen dann dunkler sind.

Ansonsten berechnest du einfach die Texturkoordinaten und renderst die gleiche textur nochmal ohne blending drüber. was besseres kommt mir nicht in den sinn.

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 23, 2007 15:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 23, 2006 17:48
Beiträge: 24
Hallo Gaukler,

danke für deine schnelle Antwort. Mit schwarz 30% drauf klappts leider nicht - dadurch wird es nur dunkler als das Original und verliert zusätzlich an Sättigung+Kontrast.
Das Problem mit den Texturkoordinaten ist nur, dass die Hintergrundtextur aus mehreren Blöcken besteht.
Das Polygon im Vordergrund sollte in Echtzeit bewegbar/drehbar, etc. sein.
Jetzt müsste ich also das Polygon in jedem Bewegungsschritt in die Teilpolygone zerlegen, die auf den entsprechenden Texturblöcken der Hintergrundtextur liegen und diese dann einzeln mit dem jeweiligen Block texturieren und hierfür auch noch die entspr. Texturkoordinaten rausrechnen.
Riecht nach reichlich Rechenarbeit... :roll:

Gruß,
Florian


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 23, 2007 16:08 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also als Erstes einmal was dein Problem ist. Du zeichnest eine Textur und anschließend zeichnest du eine weiße Fläche mit 30% Alpha darüber. Im Framebuffer steht in diesem Fall schon die komplet verrechnete Textur. Selbst wenn du es jetzt schaffen würdest mit Blending deine Textur wieder so hinzubiegen wie sie war hast du in dem Falle einen Verlust im Dynamicbereich. Jeder der mal versucht hat ein zu dunkles Foto aufzuhellen weiß wovon ich rede. Ist vom Prinzip her nur gegen weiß.

Der Umkehrschluss zu dem wieder abdunkel ist doch der, dass du lediglich verhindern musst, dass dein Weiß an den Stellen gezeichnet wird an denen sich später das Polygon befinden soll. Und das kannst du mit dem Stenciltest erreichen. Das Stencil Spiegel Tutorial von Sascha sollte dabei behilflich sein. Damit kannst du es erreichen, dass dein Weiß nicht überall gezeichnet wird. Jetzt nur noch den Rand gezeichnet und fertig. Problematisch könnte es mit 2 überlappenden Polygonen werden. Dann ragen die Ränder übereinander.

Eine andere Möglichkeit wäre, dass du aus deinen vielen kleinen Texturblöcken einen erstellst. Also ala RenderToTexture/PixelBuffer/FrameBufferObject etc etc etc. Und damit hättest du eine Textur und könnte diese recht einfach auf dein Polygon übertragen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 23, 2007 16:55 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich denke der Stenciltest ist hier wirklich ne gute Lösung. Und was soll bei mehreren Polys das Problem sein? Falls man dann nur den Bereich wo sich beide überschneiden ganz klar haben will, dann muss man halt zwei mal nen Stencil anlegen und die weise Fläche mit 15% Alpha 2x drüber legen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 23, 2007 17:45 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Na ja. Da man nur noch die Ränder zeichnen würde würde das eine "Polygon" das Andere nicht mehr überlagern. Es gäbe ja auch keine mehr. Sondern man würde nur noch die Ränder sehen. Und die überlagern sich nicht. Drahtgitter halt. Je nach Anforderung könnte das ein Problem sein.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]