NVIDIA / NVIDIA/VisRTX

VisGL depth buffer

Open
#60 3 comments 0 reactions 0 assignees View on GitHub

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

  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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.