2010-06-09 26 views
6

पर यूबीएलएएस मैट्रिस को बढ़ावा देने के लिए मैं एक ओपनजीएल प्रोग्राम लिख रहा हूं जहां मैं अपनी खुद की मैट्रिक्स की गणना करता हूं और उन्हें शेडर्स में भेजता हूं। मैं matrices के लिए बूस्ट की यूब्लैस लाइब्रेरी का उपयोग करना चाहता हूं, लेकिन मुझे पता नहीं है कि ओपनजीएल के शेडर वर्दी कार्यों में यूबीएलएएस मैट्रिक्स कैसे प्राप्त करें।ओपनजीएल शेडर

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

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

मैट्रिक्स को एक GLfloat सूचक में डालने का प्रयास संकलन पर एक अवैध कास्ट त्रुटि का कारण बनता है।

उत्तर

7

यह करना चाहिए कि:

glUniformMatrix4fv(projectionU, 1, GL_FALSE, &projection.data()[0]); 
संबंधित मुद्दे