Direct acces to the vram in vertex/pixel/geometry shaders.
This way you can create quite interesting things beside the fact that you could store any kind of information on the card(like an octree structure or a bsp and traverse it entirely on the gpu)?
What do you think?
Why ? Aren’t octree and BSP made to free the GPU to work a lot even if at the time they were created they helped to free the CPU to consume too much ?
I’m not really sure of this point. What kind of quiete interesting things you intend to do exactly ? How do you intend to to any tree traversals in a vertex shader ?
What i mean is that you can treat data on the gpu however you like, and not be restricted for example to a specific vertex array or index array.
Octree and BSP are meant to cull invisible geometry, I dont see a reason why that should be done on the cpu and not on the gpu(assuming the amount of vram in not an issue)
You can already store arbitrary data in VRAM with (vertex) textures. Anything significantly more arbitrary than that will break platform independance.
As for processing dynamic tree structures on the GPU, you have the additional problem that you can’t dynamically delete or generate vertices on the GPU. You’ll have to wait for the geometry shader extension for that, I’m sure the ARB is working on that right now.
I meant using the geometry shader.
You can’t do it only using pixel/vertex shader.
I assume that we’ll have texture access in the geometry shader once it’s released. I don’t see why we shouldn’t get it there when we have it in vertex shaders…