Rendering pipeline #1

Open
opened 2024-05-09 12:24:19 +00:00 by Jayrude · 0 comments
Owner

The whole point of this project is to be able to compare multiple renderers, so we need to think about a standard renderer interface.

I want to take some inspiration from hardware raytracing pipelines. I'm thinking there will be four shaders:

  1. Ray generation - Generate initial rays from the camera
  2. Traversal - Traverse the acceleration structure and report any hits
  3. Miss shading - Runs if the ray doesn't hit anything. Basically just colours against a skybox
  4. Hit shading - Runs if the ray did hit something

The ray generation and miss shading shaders should be able to be made generic across all of the voxel raytracing methods but we'll see. Having this common setup and common GPU buffers for rays means we could theoretically be swapping between each raytracing technique each frame (assuming all of the raytracers have the appropriate voxels in memory).

The whole point of this project is to be able to compare multiple renderers, so we need to think about a standard renderer interface. I want to take some inspiration from hardware raytracing pipelines. I'm thinking there will be four shaders: 1. Ray generation - Generate initial rays from the camera 2. Traversal - Traverse the acceleration structure and report any hits 3. Miss shading - Runs if the ray doesn't hit anything. Basically just colours against a skybox 4. Hit shading - Runs if the ray did hit something The ray generation and miss shading shaders should be able to be made generic across all of the voxel raytracing methods but we'll see. Having this common setup and common GPU buffers for rays means we could theoretically be swapping between each raytracing technique each frame (assuming all of the raytracers have the appropriate voxels in memory).
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: NERV/BEAVER#1
No description provided.