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:
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
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.
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"
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 ), 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?
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 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: 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
Mitglieder in diesem Forum: 0 Mitglieder und 14 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.