Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Sieht für mich korrekt aus, du bekommst eine variable vom typ GL_FLOAT mit 3 Elementen zurück. size ist ist Elementanzahl und type gibt dir den Datentyp zurück. Wenn du ein struct hast, wie bei vec3, dann können da 3 floats drin sein(x,y,z) aber der type ist vec3 und es ist nur 1 Element davon.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Mi Aug 14, 2013 21:17 Beiträge: 588
Programmiersprache: C++
Aus meiner Erinnerung hätte ich gesagt, dass wenn MyColor[0] die ID x hat, dass MyColor[1] dann die ID x+1 hat usw. Im Widerspruch dazu steht in der Doku allerdings Folgendes:
man glGetActiveUniform hat geschrieben:
If one or more elements of an array are active, the name of the array is returned in name, the type is returned in type, and the size parameter returns the highest array element index used, plus one, as determined by the compiler and/or linker. Only one active uniform variable will be reported for a uniform array.
Aber in der Praxis holt man sich doch sowieso nur die ID von MyColor[0] und setzt dann für das gesamte Array die Werte mittels glUniform3fv. Oder man nutzt UBOs.
_________________ So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.