Vertex attribute slot the optional uv stream is bound to (§53, §55; R-19,
2026-08-07) — fixed by layout(location = 2), exactly as the position and
normal slots are.
Location 2 collides with nothing: the particle pipeline's instance
attributes live in its own vertex arrays and attribute bindings are VAO
state, so the same number means different things in two arrays that are never
bound at the same time. A geometry without uvs enables nothing here and a
textured draw of it reads GL's constant default (0, 0, 0, 1), i.e. samples
the texel at the texture's origin for every fragment.
Vertex attribute slot the optional uv stream is bound to (§53, §55; R-19, 2026-08-07) — fixed by
layout(location = 2), exactly as the position and normal slots are.Location 2 collides with nothing: the particle pipeline's instance attributes live in its own vertex arrays and attribute bindings are VAO state, so the same number means different things in two arrays that are never bound at the same time. A geometry without uvs enables nothing here and a textured draw of it reads GL's constant default
(0, 0, 0, 1), i.e. samples the texel at the texture's origin for every fragment.