KhronosGroup / KhronosGroup/WebGL

instancedrendering seem to be broken when using attrib_divisor instancing

Open
#1,431 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
2.9k
Forks
704
Avg merge
2d 9h
Merged PRs (30d)
4

Description

These tests perform two types of instanced rendering - instance_id type, vertex_attrib_divisor type (and a mix of the two).

It looks to me like the tests are broken when using the attrib_divisor type. When using this type, nothing gets rendered at all (other than the case where we just have one instance, and we see an undersized black rectangle). All tests using the instance_id type look fine. For the tests that use a mix of the two types of instancing, red is handled by the instance_id type and looks fine, whereas green/blue don't show up as they are handled by the attrib_divisor type.

I've debugged this on Firefox and I don't see any errors, the shaders are compiling fine and the draw call is being made. I also looked at this on Chrome Canary and see the exact same results as Firefox.

Can someone take a look at the attrib-divisor tests and see if anything looks off?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate the attrib-divisor instancing tests and compare them with the instance_id cases, including the mixed tests. Check the shaders and draw-call setup first; done means attrib-divisor instances render correctly, including the green and blue mixed-test output.

Written by the indexing model from the issue text.

Assessment

Domain
computer-graphics, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.