AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Opengl Problem:Texturfarbe beeinflusst Materialfarbe

Opengl Problem:Texturfarbe beeinflusst Materialfarbe

Ein Thema von luisk · begonnen am 2. Aug 2014 · letzter Beitrag vom 5. Aug 2014
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#1

Opengl Problem:Texturfarbe beeinflusst Materialfarbe

  Alt 2. Aug 2014, 17:53
OpenGL:
Woran kann es liegen, dass die Texturfarbe die Farbe des folgenden Materials beeinflusst?
Hier wurde das Problem auch schon mal angesprochen
http://www.c-plusplus.de/forum/103156-full
leider fehlt dort die Erklärung bzw. eine Lösung des Problems.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe

  Alt 2. Aug 2014, 19:32
Und du bist der Meinung, dass du uns ansatzweise genügend Infos an die Hand gegeben hast, um deine Frage zu beantworten?
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#3

AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe

  Alt 2. Aug 2014, 23:03
Hatte das Problem auch einmal. Irgendwo stand es dann im Delphi-OpenGl-Wiki

Gruß
Puke
Gruß Puke
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#4

AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe

  Alt 3. Aug 2014, 10:38
Hatte das Problem auch einmal. Irgendwo stand es dann im Delphi-OpenGl-Wiki

Gruß
Puke
Danke Puke für den Hinweis.
Weißt Du evtl. noch, wo das Problem näher beschrieben wird ?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe

  Alt 3. Aug 2014, 15:58
Hatte das Problem auch einmal. Irgendwo stand es dann im Delphi-OpenGl-Wiki

Gruß
Puke
Danke Puke für den Hinweis.
Weißt Du evtl. noch, wo das Problem näher beschrieben wird ?
Keine

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:
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);
Nachdem gerendert wurde kannst du sie ja wieder einschalten wenn nötig.
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.
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);

gruss

Geändert von EWeiss ( 3. Aug 2014 um 16:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#6

AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe

  Alt 4. Aug 2014, 11:07
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:
// Enable Textures (look wiki.delphigl.com)
if not IN_SelectMode then
begin
  glEnable(GL_TEXTURE_2D);
  glColor3f(1, 1, 1);
end;
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.

Ich hoffe, dass dies die Lösung ist
Puke
Gruß Puke
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#7

AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe

  Alt 4. Aug 2014, 13:08
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 !


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

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);

Geändert von luisk ( 4. Aug 2014 um 16:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#8

AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe

  Alt 4. Aug 2014, 18:08
glenable( GL_Blend );
ist am Ende noch für die transparenten Elemente erforderlich.

Geändert von luisk ( 4. Aug 2014 um 18:22 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe

  Alt 4. Aug 2014, 18:17
Was man einschaltet muss man auch wieder ausschalten.
Mehr gibt's da nicht zu sagen.


gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: Opengl Problem:Texturfarbe beeinflusst Materialfarbe

  Alt 4. Aug 2014, 18:42
glenable( GL_Blend );
ist am Ende noch für die transparenten Elemente erforderlich.


glDisable(GL_BLEND); // Achtung! Kann einen negativen Effekt haben da einige Materialien durchsichtig sein müssen ist halt von Fall zu Fall unterschiedlich.

gruss

Geändert von EWeiss ( 4. Aug 2014 um 18:45 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz