Я пытаюсь реализовать отображение теней webgl из примера кода, который уже реализует , используя spidergl. Я пытаюсь реализовать это прямо поверх WebGL.
Я считаю, что у меня почти такой же код, но я не получаю результаты. Я сузил проблему до меньшей части кода. Мой код шейдера определяет a_position
(атрибут позиции вершины), как vec3; в то время как код spidergl определяет его как vec4. Я прочесал код spidergl, чтобы понять, как их атрибуты положения вершин, которые представляют собой триплеты x-y-z, заполняются в vec4. Я ожидал найти хитрость в вызове vertexAttribPointer. Но значения размера и шага, которые они передают, соответствуют ожидаемым: 3 и 12. Я изменил свой код, чтобы сделать то же самое, но пока не получаю те же результаты.
Может кто-нибудь объяснить основной механизм, с помощью которого триплеты позиции отображаются на vec4
? Я никогда не видел код, который также упоминает w вместе с координатами x, y, z углов куба, но есть шейдеры, которые принимают a_position
как vec4
. Тогда что заполняется в четвертом выпуске vec4?