VisGL depth buffer
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 280
- Forks
- 46
- Avg merge
- 10h 11m
- Merged PRs (30d)
- 2
Description
Testing the VisGL device with our example code, we found that the depth values wouldn't behave as expected (or, e.g., as the depths provided by the "visrtx" device do). According to @jeffamstutz the depth values returned by ANARI are supposed to be linear, and should originate at the camera position. For interop with OpenGL, our app therefore transforms these depth values to GL window coordinates (cf. this code).
So I'm wondering if the depth values that the "visgl" device generates are already in window coordinates (which to my understanding they're not supposed to be, according to the specs). Could you please clarify what the format is of the depth buffer obtained by VisGL? (for spheres and cylinders I found fragment shader code that I'm quite sure generates depth in WC, but have a bit of a hard time following what the triangle object shaders do.)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the depth output with the VisGL example code, then inspect the sphere and cylinder fragment shaders and the triangle object shaders mentioned in the issue. Compare their output with the ANARI linear, camera-origin depth expectation and the conversion in Projection.cpp; done means the depth-buffer format is clarified and behaves consistently with the specification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100