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

Aktuelle Zeit: Di Mai 14, 2024 04:54

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



Ein neues Thema erstellen Auf das Thema antworten  [ 17 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
BeitragVerfasst: Mi Apr 03, 2013 14:54 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey Leute,

ich sitz schon wieder am Blending meiner GUI. Und mal wieder bin ich am verzweifeln. Ich hatte dazu zwar schonmal was im TextSuite-Thread geschrieben, aber den will ich jetzt nicht weiter damit zumüllen, das sich das Problem ja eher ums Blending als um die TextSuite dreht. Also folgendes Problem:

Ich render jedes meiner Controls in ein extra FBO. Das Problem ist nun das der Text relativ stark ausfranzt. Das liegt daran, dass er sozusagen 2x geblendet wird. Einmal wenn ich ihn in das FBO render und einmal wenn ich das FBO in den FrameBuffer render. Wenn ich den Text ohne Blending in ein leeres FBO render und dann das FBO zeichne sieht alles 1a aus. Kleines Bsp (siehe Anhang). Die Texte im TabControl sind Labels und haben ihr eigenes FBO in dem nur der Text steht. Die Texte in den Tabs selbst haben kein extra FBO sondern werden in das FBO des TabControls geblendet. Die Frage ist nun ob ich das auch irgendwie im FBO so hin bekomm das es gut aussieht, oder ob ich die ganze Textausgabe so umbau, das der Text immer in einem eigenen FBO landet (was ich gern vermeiden würde).
Geblendet wird immer mit GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA. Ich hab es auch schon mit GL_ONE, GL_ONE_MINUS_SRC_ALPHA probiert, aber da bekomm ich komisches Verhalten bei einem nicht transparenten weißen Design. Hat zufällig jmd n Geistesblitz, der das Problem löst?

MfG & Thx Bergmann.


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

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Apr 03, 2013 15:36 
Offline
DGL Member

Registriert: Do Mär 05, 2009 20:17
Beiträge: 284
Wohnort: Kaiserslautern
ok auf die gefahr hin, das das jetzt totaler müll ist, aber wenn du den text in das "leere" fbo renderst muß er doch auch schon einen hintrgrund haben... (so kenn ich das zumindest von der textsuite) ändert sich was wenn du dieses hintergrundquad schonmal mit dem grau des controls malst?


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Apr 03, 2013 15:46 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Mhhh wenn du ein FBO nimmst sollte doch Scissor kein Problem sein oder? Dann kannst du die Texte auch ohne FBO machen. Eventuell koennte aber man auch
den AlphaTest nehmen.... das ist aber nen bissl bloed von wegen Kantenglaettung.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Apr 03, 2013 15:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

@wölfchen: wenn das Control grau wäre, dann würde das gehen, aber das Control is schwarz und halbtransparent und der Hintergrund ist komplett weiß. Hab ich vergessen oben zu erwähnen :/

@yunharla: Wie meinst du das mit Scissor? Scissor geht doch nur rechteckig soweit ich weiß, oder? Die Alpha Func is ne Idee, das muss ich mir nochma genau angucken.

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Apr 03, 2013 16:04 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Bergmann89 hat geschrieben:
@yunharla: Wie meinst du das mit Scissor? Scissor geht doch nur rechteckig soweit ich weiß

ja genau, aber das musst du ja sowieso schon machen. Der einzige Unterschied duerfte der andere Viewport machen...

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Apr 03, 2013 19:02 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Ich versteh immer noch nicht ganz, worauf du hinaus willst. Wobei genau soll mir Scissor helfen?
€: grad nochma drüber nachgedacht, AlphaTest bringt mir auch nix...

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Apr 04, 2013 08:36 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Naja ich hatte mal so ein aehnliches Problem. Das ganze wurde durch die Texturfilter ausgeloest. Das ganze kann sich dann bei Render-to-Texture und co immer weiter addieren.
Ich habs dann so geloest das ich nur 1 einziges FBO fuer GUI verwendet habe. Mit Scissor wirds nur etwas leichter, da man sich keine Gedanken mehr um Sachen wie Clipping
(Scrollviews z.B.) oder Clear machen muss.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Apr 04, 2013 12:38 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Ja das stimmt schon. Das hab ich auch schon so drin, aber das hat doch mit dem Blending Problem nix zu tun?!

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Apr 04, 2013 12:59 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Nov 30, 2011 21:41
Beiträge: 136
Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
Ich glaube das Problem ist dass der Rand der Schrift die Farbe transparentgrau hat, also $8888 und nicht transparentweis, $fff8. Wie wärs du die Hintergrundfarbe der FBOs auf weis setzt (also nicht weis sondern transparentes weis: glClearColorf(1,1,1,0).


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Apr 04, 2013 14:38 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Das würd nix bringen, weil ich den Hintergrund des Controls ohne Blending ins FBO zeichne. Da würde das weiß überschrieben werden. Und wenn ich den Hintergrund ins FBO rein blenden würde, dann wäre der dann grau und nicht mehr schwarz :/

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Apr 04, 2013 15:25 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Premultiplied Alpha ist das Stichwort und eine Ausgeburt der Hölle. Kann man nicht vermeiden, wenn man's erstmal hat. Also du musst in dem Fall auf ein FBO umsteigen und selbst dann wirst du noch Artefakte haben. Am geringsten Fallen diese aus, wenn du das GUI-FBO dann mit GL_ONE, GL_ONE_MINUS_SRC_ALPHA renderst.

grüße

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy 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


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Apr 04, 2013 21:42 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

den Tipp hattest du mir damals im TextSuite-Thread schonma gegeben. Mit dem schwarzen halbtransparenten (20%) Control Hintergrund funtkioniert das auch wunderbar, aber bei meinem weißen Design mit halbtransparentem (70%) weißen Control-Hintergrund wird mein Control nicht durchsichtig, sondern weiß :?
Ich glaub langsam mir bleibt nix anderes übrig, also noch ein extra FBO für den Text zu machen...

MfG

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Apr 05, 2013 12:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Nein, was ich eigentlich sagen wollte ist, nicht noch mehr FBOs. Eigentlich willst du FBOs um jeden Preis vermeiden (vom Blending-Aspekt her) und wenn du schon eins hast, dann möglichst alles da rein rendern.

grüße

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy 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


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Apr 05, 2013 15:11 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

dann geht mir aber die Performance verloren, weil ich dann alles neu Rendern muss, nur weil ich irgendwo ein MouseOver-Glow hab :/ Und wie schon gesagt, [GL_ONE, GL_SRC_ALPHA] geht mit nem weißen Design nich. Hab ma noch n Bild mit angehängt, wo man das sieht. Abgesehen davon überlagen sich die Fenster ja auch. Wenn ich die alle in ein FBO Render, dann geht da bestimmt auch noch irgendwas schief...
Ich hab mir das auch nochma genau durch den Kopf gehen lassen. Man muss die Blendreihnfolge einhalten, wenn man das richtige Ergebniss haben will. Mir ist kein Weg eingefallen wie ich das realisieren könnte:
Code:
  1. (Background + ControlBackground + Text) = (Background + (ControlBackground + Text))
Wobei + das Blending wäre und die Klammern das FBO bzw. der FrameBuffer.

MfG Bergmann.


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

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Apr 05, 2013 15:27 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Naja, und da kommt glScissor ins spiel: Scissore dir einfach das Rechteck raus, welches sich geändert hat, cleare das und rendere dann neu. Das bringt nicht viel, aber besser wirds nicht, wenn du ein korrektes Ergebnis willst.

grüße

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy 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


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 17 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 17 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.054s | 17 Queries | GZIP : On ]