Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 4. srpen 2009, 21:13:41 Předmět: OpenGL GLSL VertexAttrib problém |
|
|
Zdravím,
měl bych prosbičku, nesetkal jste se někdo s problémem, že posílám na gpu k vertexům přes glVertexAttribPointer flotové hodnoty a dochází mi do gpu pro float vždy 1.0?
Debugoval jsem celou aplikaci, opravdu posílám třeba hodnotu 0.6 a do vertex Shaderu se dostane 1.0. :-/
Jedu na OpenGL 2.1, Shader Model 3.
Data na gpu posílám standardně
kód: |
GLint location = glGetUniformLocation(program, "skinWeight1");
glEnableVertexAttribArray(location);
glVertexAttribPointer(location, 1, GL_FLOAT, GL_FALSE, 0, (const GLfloat *)weightArray1);
glDisableVertexAttribArray(location);
|
vykresluji přes glDrawElements, počet atributů je stejný jako počet vertexů.
Ve vertex Shaderu pak mám standardně přístup k atributu přes stejně pojmenovanou attrib float proměnou.
kód: |
attribute float skinWeight1;
|
|
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 4. srpen 2009, 21:26:45 Předmět: |
|
|
kód: |
GLint location = glGetUniformLocation(program, "skinWeight1");
glEnableVertexAttribArray(location);
glVertexAttribPointer(location, 1, GL_FLOAT, GL_FALSE, 0, (const GLfloat *)weightArray1);
//dufam ze tu kreslis glDrawArray glDrawElements ...
glDisableVertexAttribArray(location);//lebo tu ten atribut zrusis. |
_________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
klapauciusk
Založen: 08. 08. 2007 Příspěvky: 76
|
Zaslal: 4. srpen 2009, 21:34:11 Předmět: |
|
|
kurnik, ja su kokot. Asi bych mel jit spat  |
|
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