Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
johnnash
Založen: 30. 07. 2007 Příspěvky: 80
|
Zaslal: 20. květen 2010, 15:06:00 Předmět: glVertexAttribIPointer |
|
|
Zdravim tak tu mam dalsi kuriozitku z OpenGL.
Vertex buffer mam naplneny 2D integer daty ktere ve vertex shaderu prevadim na normalni 3D float vertex pro vykresleni.
Pri kresleni provadim priblizne takovou sekvenci
kód: |
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indexBuffer);
glVertexAttribIPointer(0, 2, GL_INT, 0, 0); // jo ta nula jako index vim o ni
glDrawRangeElements(GL_QUADS...
|
Ve vertex shaderu pak mam
kód: |
....
in ivec2 indexPos; // odpovida atributu s indexem nula
...
|
Coz bohuzel nefunguje a do shaderu se ty data nedostanou.
Jedinym resenim bylo zmenit in ivec2 na vec2 coz sebou prineslo brutalni pokles vykonu(cemuz se nelze divit ale pekne blbe se to hleda).
Nakonec jsem zmenil glVertexAttribIPointer na
kód: |
glVertexAttribPointer(0,2, GL_FLOAT, GL_FALSE, 0, 0);
|
a vse najednou funguje jak ma. Je to normalni, ze to takto funguje? |
|
Návrat nahoru |
|
 |
pcmaster

Založen: 28. 07. 2007 Příspěvky: 1827
|
Zaslal: 20. květen 2010, 17:54:18 Předmět: |
|
|
Nechyba tam nejaky glEnableClientState()? Pripadne vyrabas dobry OpenGL 3.0 kontext? (s GL3.0 nemam nijake skusenosti a glVertexAttribIPointer v GL2.1 nie je). _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
 |
|
|
Nemůžete odesílat nové téma do tohoto fóra Nemůžete odpovídat na témata v tomto fóru Nemůžete upravovat své příspěvky v tomto fóru Nemůžete mazat své příspěvky v tomto fóru Nemůžete hlasovat v tomto fóru
|
Powered by phpBB © 2001, 2005 phpBB Group
Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna