5 ms·
Really interesting post which I enjoyed immensely, and a good point about being able to create custom renderers with DirectCompute/OpenCL and skip all the legac
by merlish 13y ago
Really interesting post which I enjoyed immensely, and a good point about being able to create custom renderers with DirectCompute/OpenCL and skip all the legacy baggage while harnessing the ultimate powah of modern GPUs. (Reckon we'll see a bit of this sort of stuff in some PS4 games later on in the console generation.)
Not a new idea, but one I'm glad to be reminded of.
I'm totally going to put some time into playing with this. Anyone here already doing something cool in the custom GPU renderer space?
- kevingadd 13y agoI know multiple devs on PS3 were using the SPUs to rasterize low resolution depth buffers, so that they could then do occlusion culling without hitting the GPU at all. I expect we'll see similar approaches using GPU compute in the future, assuming people can get the latency down low enough so that it still beats native GPU occlusion queries.
- pandaman 13y agoSeveral titles probably did it (I only know of one for sure) but it does not mean it's any good technique. You see, on PS3 GPU there are no pixel shader constant registers. This means you need to patch shader code if you want any alterations in your pixel shader. A naive approach, with patching on CPU when submitting every primitive, is horrendously slow because the CPU sucks at moving large amounts of data. A slightly faster approach, using the GPU DMA, is still unbelievably slow, because even though the GPU moves large amounts of data very quickly it takes a lot of time to switch between pushing triangles to copying mem ranges and back. Luckily, on the PS3 there are also SPUs, pretty good at moving large amounts of data and having no penalty for doing so. Patching shaders on SPUs is so fast you forget about it. Also very easy to write. So the mind boggles when you see people using GPU patching and, to somehow save peformance, do some complicated scheme with occlusion culling via SPU.
- psorcerer 13y agoAFAIR, "native" occlusion queries and conditional rendering are so prohibitively slow in D3D today that nobody uses them anyway.
- pjmlp 13y agoI remember reading some references about GPU voxel engines and raymarching in the demoscene, not sure about real games.