Ich arbeite seit etwa einem Jahr mit OpenGL und habe eine Menge gelernt. Leider habe ich die alte pre 3.x-Methode, dh den unmittelbaren Modus, Standard-Shader, Matrix-Stacks usw. gelernt. Ich habe mehr oder weniger eine Vorstellung davon, was sich von damals bis heute geändert hat, indem ich mir die OpenGL-Spezifikationen ansehe Ich verstehe einige der neuen Arten, Dinge zu tun, nicht völlig.OpenGL 3.1-4.1 neue und veraltete Funktionen
Von meinem Verständnis haben sie Matrixstacks losgeworden, was bedeutet, dass Sie Ihre eigenen Transformationsmatrizen verfolgen müssen, was nicht zu kompliziert erscheint. Sie haben auch den sofortigen Modus losgeworden, was bedeutet, dass Sie jetzt VBOs oder VAOs verwenden müssen (nie wissen, welche, vielleicht beide ...), um das Pixel/Normal/Textur, etc. Informationen zum Shader-Programm. Ich verstehe nicht wirklich, wie diese Objekte funktionieren, ich denke, Sie müssen alle Informationen in sie einfügen und eine Art von Offset zur Verfügung stellen, um die Separatoren zwischen Pixel-, Normal- und Texturkoordinaten zu zeigen. Könnte jemand kurz erklären, wie das eigentlich funktioniert (oder mir einen Link schicken, der es erklärt)? Ich habe Wikipedia ausprobiert und gegoogelt, aber ich habe sie immer noch nicht verstanden.
Ein weiterer Punkt, über den ich mehr wissen möchte, sind Shader, da ich sie nie benutzt habe. Ich werde nicht fragen, wie man sie oder irgendetwas programmiert, was genau dort hineingeht und was opengl noch für dich tut. Genauer gesagt, was müssten Sie in den Shadern tun, um ein grundlegendes Rendering-Programm zu erhalten? Ich weiß, dass Sie alle Berechnungen durchführen müssen und Ihre Matrizen verwenden müssen, um die reale Eckpunktposition zu berechnen. Aber kümmert sich opengl immer noch um die Rückseitenkeulung, Zeilenbegrenzung, Polygonfüllung und andere Probleme auf niedrigerer Ebene, oder müssen Sie sie in den Shadern (oder gehören sie nicht in die Shader)?
Danke für die Antwort. Ich werde mir den Link definitiv ansehen, sobald ich eine Chance habe. Und ich wusste, was Echoshader tun sollten, wie in dem, was du geschrieben hast, war einfach nicht sicher, ob du entscheiden musst, was du zeichnest oder ob Opengl das für dich getan hat und du nur die Scheitelposition/Pixelfarbe brauchst du selbst (das scheint der Fall zu sein, Gott sei Dank). Sehr hilfreiche Antwort +1 – Zepee
Sie sind herzlich willkommen – Bojan
Ihr Link zum Tutorial ist jetzt kaputt. – Ruslan