glgeneratemipmap kam erst recht spät dazu, evtl is deine version zu niedrig, chau mal nach mit glgetversion. deine GK settings überschreiben evtl auch die texturfiltermodi oder zu setzt irgendwann den minfilter wieder auf nen anderen wert in deinem prog, oder du verwendest die falsche glsl-funktion. evtl. hilft es auch, ein tutorial source zu compilen, um zu sehen, ob da alles passt. allerings könnte auch bei deinen custom mipmapexperimenten was schief gegangen zu sein.
_________________ "Pixel, ich bin dein Vater." -Darf Shader
Registriert: Mi Aug 14, 2013 21:17 Beiträge: 588
Programmiersprache: C++
Bei so einfachen Sachen spinnt Mesa nicht. Hast du schon geprüft, ob irgendwelche OpenGL-Fehler auftreten? Wenn ja, wo genau? Der Code im ersten Post lädt eine 2x2-Textur hoch. Willst du davon wirklich eine Mipmap generieren?
_________________ So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)
Registriert: Mi Aug 14, 2013 21:17 Beiträge: 588
Programmiersprache: C++
Wie du siehst, verhält sich Mesa einfach spezifikationstreu, während der proprietäre Windows-Treiber bei GL_CLAMP ein Auge zudrückt. Bitte baue doch mal ganz einfaches Error-Checking ein. Das geht wirklich einfach:
Code:
// Code wurde nicht getestet
procedure checkError;
var
err :Integer;
begin
err = glGetError();
if err <> 0then
begin
// gebe Fehler aus
// hier einen Haltepunkt setzen
end
end;
Alles was du machen musst, ist Aufrufe von checkError zwischen deine OpenGL-Aufrufe zu setzen. Damit kannst du die Fehlerquelle ganz schnell einkreisen. Viel leichter als den Fehler durch bloßes Anschauen des Codes zu finden.
Mit dieser Vorgehensweise hättest du auch herausgefunden, dass glTexParameter mit GL_CLAMP einen Fehler produziert. Ein Blick auf die entsprechende Wiki-Seite und du siehst direkt, dass GL_CLAMP kein gültiger Parameter für GL_TEXTURE_WRAP_S ist. Das ist übrigens ein gängiger Fehler.
_________________ So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Es gibt gluErrorString welches einen GL-Error in einen String umwandelt.
Ansonsten debugt sich sowas sehr gut mit apitrace: Programm mitschneiden und dann replayen, beim replay werden Fehler etc. ausgegeben.
viele Grüße, 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 Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
mathias hat geschrieben:
Zitat:
Es gibt gluErrorString welches einen GL-Error in einen String umwandelt.
GLU will ich meiden, wen nicht unbedingt nötig.
Warum?
(Verwechselst du GLU mit dem veralteten GLUT?)
viele Grüße, 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
Wen ich es richtig verstehe ist GLUT zum zeichnen von fertigen Objecten wie Kugel, Scheiben, Zylinder. Und GLU ist da, um OpenGL zu verwalten, Context-Erzeugung, etc.
Mitglieder in diesem Forum: 0 Mitglieder und 8 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.