![]() |
Opengl Problem:Texturfarbe beeinflusst Materialfarbe
OpenGL:
Woran kann es liegen, dass die Texturfarbe die Farbe des folgenden Materials beeinflusst? Hier wurde das Problem auch schon mal angesprochen ![]() leider fehlt dort die Erklärung bzw. eine Lösung des Problems. |
AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe
Und du bist der Meinung, dass du uns ansatzweise genügend Infos an die Hand gegeben hast, um deine Frage zu beantworten?
|
AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe
|
AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe
Zitat:
Weißt Du evtl. noch, wo das Problem näher beschrieben wird ? |
AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe
Zitat:
Wie sollen wir das wissen? Ohne in den Quelltext zu schauen? Keine Ahnung welche Initialisierungen du vorgenommen hast bevor das Material eingebunden wurde. GL_LIGHTING GL_BLEND usw.. kann Einfluss auf die Farbe des Materials haben. Bevor du das Material bindest über Texturen oder was auch immer versuche mal vorher diese Funktionen zu deaktivieren.
Delphi-Quellcode:
Nachdem gerendert wurde kannst du sie ja wieder einschalten wenn nötig.
glDepthMask(ByteBool(GL_FALSE));
glDisable(GL_LIGHTING); glDisable(GL_BLEND); // Achtung! Kann einen negativen Effekt haben da einige Materialien durchsichtig sein müssen ist halt von Fall zu Fall unterschiedlich. glBindTexture(GL_TEXTURE_2D, meinetexture); Aber wie gesagt ohne Quelltext sind das "NUR" Vermutungen. Deshalb auch nur als Beispiel anzusehen. Auf jeden fall must du den Tiefenbuffer und den Farbbuffer an erster stelle im RenderEvent vorher löschen bevor was neues gerendert wird.
Delphi-Quellcode:
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
gruss |
AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe
Ich hab grad kein Windows zur Hand, weswegen ich meine Vermutung nicht testen konnte. Aber in einer meiner Quelltexte habe ich genau das hier gemacht:
Delphi-Quellcode:
Ich vermute mal (ich mach ja nichts ohne Grund:?), dass ich hier dem Problem aus dem Weg gehen wollte. Also müsste ein einfaches Weiß die normalen Texturen sichtbar machen.
// Enable Textures (look wiki.delphigl.com)
if not IN_SelectMode then begin glEnable(GL_TEXTURE_2D); glColor3f(1, 1, 1); end; Ich hoffe, dass dies die Lösung ist Puke |
AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe
So sieht meine Ausgabe aus und dennoch ändert meine gelbe Hintergrundfarbe der Textur
mit Alph-Werten die Materialfarbe aller folgenden Objekte. alle haben eine Gelbstich. Was hat die Texturfarbe mit der Materialfarbe zu tun ? über gldisable(GL_TEXTURE_2D) muss die Textur wieder deaktiviert werden !:idea: glDisable( GL_Blend ) gldisable(GL_ALPHA_TEST); glDisable(GL_LIGHTING) ; glEnable(gl_Color_Material); glcolor3f(1,1,1); glEnable(GL_TEXTURE_2D); glListBase(listbase); glCallLists (length(in_text), GL_UNSIGNED_BYTE, @in_text[1]);// Aufruf der Listen mit Buchstabentexturen gldisable(GL_TEXTURE_2D);// jetzt geht's :idea: glDisable(gl_Color_Material); glEnable(GL_LIGHTING) ; glMaterialfv(GL_FRONT_and_BACK, GL_Diffuse,p_Diffuse_0); glMaterialfv(GL_FRONT_and_BACK, GL_Ambient,p_Ambient_0); glMaterialfv(GL_FRONT_and_BACK, GL_Emission,p_Emission_0); glMaterialfv(GL_FRONT_and_BACK, GL_SPECULAR,p_specular_0); glMateriali(GL_FRONT_and_BACK,GL_SHININESS,g_Color _fv.b_Shine); |
AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe
glenable( GL_Blend );
ist am Ende noch für die transparenten Elemente erforderlich. |
AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe
Was man einschaltet muss man auch wieder ausschalten.
Mehr gibt's da nicht zu sagen. gruss |
AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe
Zitat:
Delphi-Quellcode:
glDisable(GL_BLEND); // Achtung! Kann einen negativen Effekt haben da einige Materialien durchsichtig sein müssen ist halt von Fall zu Fall unterschiedlich.
gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz