DGL https://delphigl.com/forum/ |
|
Problem mit VBO-Daten im Vertexshader https://delphigl.com/forum/viewtopic.php?f=20&t=9832 |
Seite 1 von 1 |
Autor: | stitchy [ Sa Apr 02, 2011 19:41 ] |
Betreff des Beitrags: | Problem mit VBO-Daten im Vertexshader |
Hallo, ich bin mir nicht ganz sicher ob meine Daten aus dem VBO richtig beim Vertexshader ankommen. Kann man das überprüfen? Jendenfalls laufen sowohl Vertex- als Fragmentshader. Die Shaderinfologs und das Shaderprogramminfolog sind leer. Ansonsten siehts schematisch bei mir so aus: - FBO binden - Zieltextur an FBO attachen - setting stuff (kamera, enables, disables,...) - get attribute location für "InVertex" - binden der attribute location - shaderprogramm nochmal linken - use programm - vbo binden - vertex attribbute array enablen - vertex attribute pointer mit der location von vorhin, 4 komponenten pro vertex, type GL_FLOAT, normalisierung = false, stride = 0 und startpunkt 0 im vbo setzen - rendering mit glDrawArrays - disablen des vertex attribute array - der restliche aufräumkram und im vertex shader erwarte ich eigentlich bei " in vec4 InVertex " jeweils die vertices aus dem vbo. hab ich was offensichtliches falsch gemacht/ vergessen? Wäre schön, wenn mir jemand helfen könnte. |
Autor: | Lord Horazont [ So Apr 03, 2011 09:57 ] |
Betreff des Beitrags: | Re: Problem mit VBO-Daten im Vertexshader |
Also ich erwarte meinen Vertex in GL_VERTEX, aber ich bin auch noch in der OpenGL Steinzeit von GL 2.1. Vielleicht hilftst aber dennoch ![]() greetings |
Autor: | stitchy [ So Apr 03, 2011 13:31 ] |
Betreff des Beitrags: | Re: Problem mit VBO-Daten im Vertexshader |
Vielen Dank für die Antwort. Ich hab beides ausprobiert sowohl die kombination mit glvertexattributepointer und InVertex als auch glvertexpointer und gl_Vertex. und beides hat mich nicht zu meinem gewünschten ergebnis gebracht. |
Autor: | Lord Horazont [ So Apr 03, 2011 13:38 ] |
Betreff des Beitrags: | Re: Problem mit VBO-Daten im Vertexshader |
Zeig mal wie du dein VBO füllst. Hast du auch die Client-States aktiviert (glEnableClientState(GL_VERTEX_ARRAY); und so)? greetings |
Autor: | stitchy [ Mo Apr 04, 2011 15:21 ] |
Betreff des Beitrags: | Re: Problem mit VBO-Daten im Vertexshader |
Also ich befülle das VBO immer schritt für schrit mit ner for-schleife und der Funktion: Code: glBufferSubData( GLenum target, GLuint offset, GLsizeptr size, GLvoid* data ); vorher habe ich natürlich die Gesamtgröße des VBOs mit: Code: glBufferDataARB(GLenum target, GLsizeptr size, GLvoid* data, GLenum usage); angegeben. Ich bin mir allerdings nicht sicher wie ich nun die Daten des VBOs an den Vertexshader weiterleite. Momentan siehts bei mir so aus:
wobei offset wie folgt definiert ist: Code: char* offset(unsigned int _offset) const { return ((char*)NULL + _offset); }
ich habe mehr oder weniger bewusst kein glEnableClientState(GL_VERTEX_ARRAY) aktiviert/deaktiviert, weil ich dachte, dass man das nur bei Vertex arrays braucht. oder brauch ich das auch für vbos? Könnt ihr in der Abfolge ( diese sieht dann ja doch ein wenig anders aus als der erste beitrag ![]() |
Autor: | stitchy [ Mo Apr 04, 2011 15:59 ] |
Betreff des Beitrags: | Re: Problem mit VBO-Daten im Vertexshader |
habt einer von euch schonmal gDEBugger verwendet? dort kann man sich unter anderem Textureninthalte und Vertexbufferinhalte anzeigen lassen. Jedoch bekomme ich bei vielen Einträgen entweder "nan" raus oder extrem winzige zahlen à la -e^ 30 . wenn mir den bufferinhalt mit glGetBufferSubData() ausgeben lasse kommen ordentliche zahlen raus, die auch meiner eingabe entsprechen. Welche Zahlen sind nun richtig? |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |