में मैट 4 सेट करना मैं शेडर्स के बारे में कुछ (मूल) ट्यूटोरियल पढ़ रहा हूं। अब तक उन्होंने आपके शेडर में चर सेट करने के तरीके को कवर किया है। लेकिन यह केवल स्याही, फ्लोट या वैक्टर के बारे में था। मुझे mat4 चर सेट करने के तरीके के बारे में कुछ भी नहीं मिला। मेरा शेडर निम्न की अपेक्षा करता है:ओपनजीएल
uniform vec3 CameraPos;
uniform mat4 ModelWorld4x4;
तो मॉडल की स्थिति और मॉडल का विश्व मैट्रिक्स। मुझे लगता है कि मेरे पास कैमरापॉस सही है, लेकिन मैं पृथ्वी पर कैसे वर्डवर्ल्ड 4x4 चर सेट करता हूं ??
यह मैं कैसे vector3
campos = glGetUniformLocation(shader.id(), "CameraPos");
glUniform3f(campos, 0.0f, 0.0f, 3.0f);
यह वह जगह है (तरीकों में से एक) की स्थापना की मैं कैसे mat4
glGetFloatv(GL_MODELVIEW_MATRIX, modelworld);
modelw = glGetUniformLocation(shader.id(), "ModelWorld4x4");
glUniformMatrix4fv(g_modelworld4x4, modelworld); // Not working
मैं उपयोग कर रहा हूँ सेट करने की कोशिश की है एक मॉडल लोड करने के लिए असिंप लाइब्रेरी, इसलिए वर्तमान में विश्व मैट्रिक्स AiMatrix4x4 संरचना में संग्रहीत है।
// world matrix of the model
aiMatrix4x4 m = nd->mTransformation;
// Save in a global variable
g_modelworld4x4 = m;