4 ms·
I really don't like the RenderingDevice abstraction they've ended up with. It's strongly reminiscent of OpenGL, doesn't expose command buffers or queues (no as
by Rhedox 4y ago
I really don't like the RenderingDevice abstraction they've ended up with.
It's strongly reminiscent of OpenGL, doesn't expose command buffers or queues (no async compute). Barriers are too coarse. There's also no support for a bindless approach, no GPU driven rendering or even just GPU culling.
- koolala 4y agoWhat's an example of something that does blindless fully GPU driven rendering? Would it mean CPU lag wouldn't slow your game because the camera could be fully controlled by the GPU?
- ninepoints 4y agoOn the contrary, bindless means less work for the CPU. Bindless basically means the GPU is responsible for querying image and buffer resources from a global heap or descriptor table.
- vblanco 4y agoI wrote extensively about that as part of my vulkan guide. https://vkguide.dev/docs/gpudriven https://vkguide.dev/docs/gpudriven . The TLDR of it is that you have the cpu upload scene information to the GPU, and then the GPU performs culling and batching by itself in a series of compute shaders. In most games the scene is 99% static, so you can upload the scene at the beggining and never touch it again. this decreases CPU-GPU traffic by orders of magnitude, and if used right, gives you 10x or more performance improvements. Unreal 5 Nanite tech is based on this concept.
- Rhedox 4y agoLove your site btw!
- MikusR 4y agohttps://news.ycombinator.com/item?id=15338055 https://news.ycombinator.com/item?id=15338055