KhronosGroup / KhronosGroup/WebGL

No specification for the interaction between ANGLE_instanced_arrays and OES_vertex_array_object

Open
#1,955 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
2.9k
Forks
703
Avg merge
2d 9h
Merged PRs (30d)
4

Description

This is probably not a big deal but .... AFAICT there's no specification for the interaction between `ANGLE_instanced_arrays` and `OES_vertex_array_object` (and probably no tests since both would have to be enabled)

In other words `ANGLE_instance_arrays` adds a divisor setting per attribute. `OES_vertex_array_object` moves the attributes to separate objects. But `OES_vertex_arrays_object` does not mention the divisor. At best it says

> All state related to the definition of the data used by the vertex processor is encapsulated in a vertex array object.

But it goes on to mention

> The resulting vertex array object is a new state vector, comprising all the state values (listed in Table 6.2, except ARRAY_BUFFER_BINDING):
>
> ```
> VERTEX_ATTRIB_ARRAY_ENABLED,
> VERTEX_ATTRIB_ARRAY_SIZE,
> VERTEX_ATTRIB_ARRAY_STRIDE,
> VERTEX_ATTRIB_ARRAY_TYPE,
> VERTEX_ATTRIB_ARRAY_NORMALIZED,
> VERTEX_ATTRIB_ARRAY_POINTER,
> ELEMENT_ARRAY_BUFFER_BINDING,
> VERTEX_ATTRIB_ARRAY_BUFFER_BINDING.
> ```

No mention of `VERTEX_ATTRIB_ARRAY_DIVISOR`.

And visa-versa `ANGLE_instanced_arrays` makes no mention of `OES_vertex_array_object`

In other words it seems ambiguous whether the divisors become part of the vertex array object's state or if it's global state.

ES 3.0 makes it clear it's part of the vertex array object's state.

I don't know if this needs to be cleared up. I suppose it belongs in the OpenGL mailing list?

Contributor guide

Open the contributing guide

Research direction

Start by comparing the ANGLE_instanced_arrays and OES_vertex_array_object specifications, focusing on VERTEX_ATTRIB_ARRAY_DIVISOR and the listed vertex array object state. Determine whether the divisor belongs to vertex array object state, then clarify the relevant specification text and identify whether interaction tests are needed.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.