Registriert: Mo Okt 15, 2007 18:30 Beiträge: 74 Wohnort: Berlin
Hallo zusammen,
ich habe ein 3d-objekt erstellt dessen Polygone (hier: Quads) zum Teil unterschiedlich gefärbt sind. Ein Quad soll immer eine Farbe haben, also keinen Farbverlauf. ShadeModel habe ich nicht auf gl_smooth gesetzt. Auf fast allen Computern wird das auch korrekt dargestellt, aber auf einem Notebook (Dell, ca. 1 Jahr alt, Intel Grafik) war bei den eingefärbten Polygonen nur jeweils eine Ecke in der richtigen Farbe und diese verlief sich zu den anderen Ecken.
Kann das am GL-Treiber liegen? Oder wieso wird die Colorierung smooth dargestellt obwohl per default eigentlich flat-shading eingestellt sein müsste?
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Hast du mal versucht explizit auf Flat-Shading umzuschalten?
Code:
glShadeModel(GL_FLAT);
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: Mo Okt 15, 2007 18:30 Beiträge: 74 Wohnort: Berlin
Dummerweise nein. Und leider kann ich auf den 'betroffenen' Rechner auch nicht mehr zugreifen. Ich hab mir nur gedacht ich poste die Sache mal im Forum, vielleicht hat ja jemand ähnliche Erfahrungen oder weiß woran es liegt. Vielleicht weiß auch jemand ob es Treiberabhängig ist und man besser immer glFlat vorher aufruft. Um auf nummer sicher zu gehen kann ich natürlich vor jeder der Definition einer neuen Vertex den Befehl glColor aufrufen, aber das sollte ja eigentlich nicht nötig sein
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Du wirst übrigens nicht zu dem gewünschten Ergebnis kommen, wenn du die Quads im Strip renderst. Und du musst bei jedem Farbwechsel natürlich glColor aufrufen.
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: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ich glaube du hast das Zauberwort bereits erwähnt. "Intel" Grafik. Nichts gegen Intel aber ich habe auch schon ein paar seltsame Dinge mit Intels Interpretation von OpenGL erlebt. Zum Beispiel hatten die mal eine Zeit lang als Versionnummer "1.15" obwohl die genau genommen "1.1.5" heißen sollte. Und ich hatte auch einige Probleme mit den Farben auf den Intel chip. Ist aber schon ein paar Jahre her. Das war zu mindest alles reichlich seltsam. Wie man es lösen kann weiß ich allerdings nicht. Ich denke das hängt immer an den jewiligen Fall. Aber ich hatte solche Phänomene auch nur auf Intel Chips. Was 3D Grafik angeht ist Intel da halt eine Randgruppe und das ist kein Hauptaugenmerk von denen.
Registriert: Mo Okt 15, 2007 18:30 Beiträge: 74 Wohnort: Berlin
Tatsächlich ist gl_smooth der default wert. Aber trotzdem dürfte auch nur smooth gerendert werden wenn ich den anderen Vertices des selben quads explizit eine andere Farbe zugeordnet habe, oder? Man erinnere sich das openGL eine state machine ist. Also Farbe einmal gesetzt, dann wird alles danach auch weiter in dieser Farbe gezeichnet. Von daher vermute ich auch eher das der Intel-treiber fehlerhaft war. Auf meinen neuen ATIs und auch anderen Intelchips läufts ja vernünftig.
Mitglieder in diesem Forum: 0 Mitglieder und 7 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.