Ich bin momentan dabei mehrere Kugeln(Spheres) hintereinandergereiht darzustellen. Ich habe dabei GLScene verwandt. Nun möchte ich ein Additives Blending durchführen, welches mir die Farbwerte der Kugeln aufaddiert. Wodurch kann es dazu kommen, dass meine Kugeln nur weiss dargestellt werden?
Selbst wenn ich nur eine einzige Kugel darstellen möchte und den Blending Mode auf bmadditive stelle wird mir eine weisse Kugel dargestellt, obwohl meine Backproperties und Frontproperties (Diffuse,Specular und Ambient auf schwarz eingestellt sind).
Vielleicht habe ich einfach bei dem Blending noch nciht ganz durchgesehen. Ich hatte mir mal diese Seite, welche unter anderem auch additives Blending beinhaltet angeschaut:
http://wiki.delphigl.com/index.php/glBlendFunc
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Beim additiven Blending werden die Farbwerte einfach aufaddiert. Alle werte jenseits 1.0 werden abgeschnitten.
Wenn du einen farbigen Hintergrund hast, sagen wir graublau (0.4,0.4,0.6) und eine Kugel in hell gelb drauf legst (0.7,0.7,0.4) dann erhälst du (1.0,1.0,1.0) = Weiß.
Wenn du allerdings Licht eingeschaltet hast, dann kann es auch daran liegen, dass du vergessen hast GL_COLOR_MATERIAL einzuschalten (glEnable).
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Einen weißen Hintergrund dahinter zu machen ist kompliziert.
Man müsste dann, wenn man das wirklich will, zuerst den Vordergrund zusammenblenden und das Ergebnis dann in einer Textur/Buffer speichern, danach den Bildschirm mit weiß clearen und den Vordergrund mit normalen Blendingeinstellungen drüber blenden.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Einen weißen Hintergrund dahinter zu machen ist kompliziert.
Eigentlich sollte es reichen nach dem rendern der Szene ein bildschirmfüllendes, weißes Quad zu rendern. Der Z-Wert des Quads muss dabei dem Far-Plane entsprechen. Der Z-Buffer macht dann den Rest.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Flash hat geschrieben:
Öhm... nun gut, solange die Szene im Vordergrund keine Transparenz enthält. Oder habe ich jetzt hier einen Denkfehler...?
Bei Blending braucht man Z-Ordering. Ausnahmsweise ist das hier mal ein Vorteil, weil so das Quad, welches man nachträglich Rendert, nicht mehr mit einbezogen wird. Speziell, wenn man auch noch das Blending ausschaltet.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Mag sein, aber die Darstellung ist dann irgendwie seltsam, da das additiv zusammengeblendete dann dunkler ist als der Hintergrund.
Müsste man halt sehen. Vielleicht kann heavenssake007 ja mal ein Bild posten inkl. nachträglich geränderten Weißen Quad im Hintergrund.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 3 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.