Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alpenite: create a CPU DAG renderer #191

Open
3 tasks
adam-ce opened this issue Mar 5, 2025 · 0 comments
Open
3 tasks

Alpenite: create a CPU DAG renderer #191

adam-ce opened this issue Mar 5, 2025 · 0 comments

Comments

@adam-ce
Copy link
Member

adam-ce commented Mar 5, 2025

This super task is about writing the cpu renderer for Alpenite. We should first implement DAG-node selection and draw call generation on CPU and move it to GPU only once that works. Some parts probably should stay on CPU anyways (to have a simpler architecture), e.g. generating network requests.

Roughly, we need:

  • DAG loading over the network. Given one root node, all child nodes should be found and loaded on demand. The root node should contain a good few LOD levels of child nodes. Every child node should again contain additional parts of the DAG (several levels below itself). For eviction, we need a similar strategy as in the 2.5D renderer (no missing parts between the current node and the root). this is mostly nucleus work.
  • meshlet rendering: write a new geometry rendering pipeline with the gltf meshlets (maybe reuse the prototype renderer?) this is mostly engine work (webgpu or webgl). for this task, we can use a fixed set of meshlets.
  • scheduled meshlet rendering: create a draw list using the parallel DAG cut algorithm
@adam-ce adam-ce moved this to Todo in Alpenite Mar 5, 2025
@adam-ce adam-ce added this to Alpenite Mar 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

1 participant