Vavassor / ParaDraw

Drawing tools for visual debugging in VRChat worlds.
MIT License
4 stars 2 forks source link

Wireframe Mesh Performance on Quest #12

Open Vavassor opened 1 month ago

Vavassor commented 1 month ago

Geometry shaders are used to draw wireframe meshes on PC. But Meta Quest headsets don't support geometry shaders in VR. So for Quest we use a wireframe shader using Vertex IDs. This requires a copy of the mesh that has split faces.

This copy is both slow and annoying because it requires your meshes to have "read/write" enabled in import settings. Caching is used to mitigate the performance cost. But it can cause framerate stutters or freezing if meshes are big. Or if the cache is filled.

Investigate alternative methods of wireframe rendering.

Vavassor commented 1 month ago

Rejected Ideas

Ideas to Investigate

Vavassor commented 1 month ago

Having a retained mode option for drawing meshes would help. Because those meshes could be copied up front instead of doing on-demand copies and caching. But it wouldn't help meshes that truly need to change frequently.