2010-06-09 12 views
6

Piszę program OpenGL, w którym obliczam własne macierze i przekazuję je do cieniowania. Chciałbym użyć biblioteki uBLAS Boosta dla macierzy, ale nie mam pojęcia, w jaki sposób uzyskać macierz uBLAS w jednolite funkcje cieniowania OpenGL.Przekazywanie macierzy UBLAS do shadera OpenGL

matrix<GLfloat, column_major> projection(4, 4); 
// Fill matrix 
... 

GLuint projectionU = glGetUniformLocation(shaderProgram, "projection"); 
glUniformMatrix4fv(projectionU, 1, 0, (GLfloat *)... Um ...); 

Próba rzutowania macierzy na wskaźnik GLfloat powoduje błąd nieprawidłowej obsady podczas kompilacji.

Odpowiedz

7

To powinno zrobić:

glUniformMatrix4fv(projectionU, 1, GL_FALSE, &projection.data()[0]); 
Powiązane problemy