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

Aktuelle Zeit: Di Jul 15, 2025 16:50

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: culling deaktiviert sich von selbst
BeitragVerfasst: Mi Feb 06, 2008 14:51 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 29, 2005 21:11
Beiträge: 88
Wohnort: Bonn
Moin Moin!

Ich flog gerade lustig durch einen Haufen Quads, als ich voller Bestürzung feststellen musste, dass die Rückseiten mitgerendert werden...
Kontrolle im Quelltext in der Initialisierung von OpenGL:
Code:
  1.     glEnable(GL_CULL_FACE);
  2.     glCullFace(GL_BACK);
  3.  


Sieht doch gut aus? Hilft aber nichts...
Habe in der Renderprozedur mit glGet den Status GL_CULL_FACE abgefragt und festgestellt, dass er beim ersten Rendern einmal true ist, danach nicht mehr.
Wenn ich bei jedem Renderdurchgang glEnable(GL_CULL_FACE) mache funktioniert es, aber das kann doch eigentlich nicht sein?
Das Culling kann sich doch nicht nach einmal Rendern selbst deaktivieren..?
Hab den Rest des Quelltext durchsuchen lassen, "cull" kommt nirgendwo anders vor.

Weiß jemand Rat?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 06, 2008 15:26 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
Hast du evtl. externe Klassen oder Routinen? Objekt-Loader oder ähnliches?

Spontan fällt mir auch noch glPush/(Pop)/Attrib ein. Kommt das evtl irgendwo vor?

[edit]nur mal nebenbei: könnte man den wert evtl aus Versehen durch "zu weit" in ein array schreiben, überschreiben? (oh "schreiben" kommt aber oft vor o.O) [/edit]

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 06, 2008 16:34 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 29, 2005 21:11
Beiträge: 88
Wohnort: Bonn
Aaarr... ja, benutze den AC3D Loader...
Was für ein Schlingel, dass er das Culling einfach deaktiviert...
Nungut, dann werd ich ihm das mal austreiben :twisted:

:lol: @ Edit

Danke!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 06, 2008 16:40 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
Ich tippe mal darauf dass er ne variable bereitstellt um es einzuschalten.

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 11, 2008 15:39 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 29, 2005 21:11
Beiträge: 88
Wohnort: Bonn
ich habe mir den code von der ac3d durchgeguckt und folgende übeltäter zeilen gefunden
Code:
  1.     if (AObject.Surfaces[SNr].Flags and AC_SURFACE_TWOSIDED)=AC_SURFACE_TWOSIDED
  2.     then
  3.         glDisable(GL_CULL_FACE)
  4.       else
  5.         glEnable(GL_CULL_FACE);


er stellt zwar allgemein ne variable SaveStates bereit, jedoch bezieht die sich nur auf Lighting, Texture und PolygoneMode

Die Codezeilen da oben solten die einzigen sein, die auf das Culling Einfluss nehmen (ich gehe mal optimistisch davon aus, das nicht aus versehen zu weit in einen array geschrieben wird :wink: ), aber ich bin mir nicht ganz sicher, was bei der If-Abfrage überprüft wird.
Kann es sein, dass es an dem Modell liegt, dass das Culling deaktiviert wird?

Wie ist das mit Lizenz und so, wenn ich das Culling manuell zu den SaveStates mit zu nehme, also direkt in der Unit rumwurschtel? An welche Regeln muss ich mich da ethisch/moralisch/rechtlich halten?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 11, 2008 17:09 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Wegen der Lizenz: Das kommt drauf an. Meistens steht ganz oben in der Datei eine Lizenz mit drin, schau mal, was da zum Thema modifications/änderungen steht.
Anscheinend liegt es tatsächlich am Modell. Irgendwo scheint da ein Flag gesetzt worden zu sein, der das Culling deaktiviert (in vielen Modellierungsprogrammen auch als Zweiseitig / Two Sided bekannt.

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 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  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 11, 2008 17:57 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 29, 2005 21:11
Beiträge: 88
Wohnort: Bonn
wenn's in blender n flag gibt, dann kann ich das ja da ändern
ist eh n dummy-modell ausm internet - wollte erstmal ne weile programmieren bevor ich auch noch modelle selber mache

danke für die info!


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 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.010s | 14 Queries | GZIP : On ]