I've been browsing couple of pages about GPUs and suddenly had this idea:
Isn'it possible to render 6 DOF Voxel engine like VOXLAP fully using GPU's pixel shader programs?
Aren't GPUs just specialized processors? Theoreticaly algorithm used now in software could be conwerted into pixel shader and executed directly in graphics hardware to render the voxels at full accelerated speed. With modern cards like geforce 6000, there can be up to 16 pixel shading units working in parallel, couldn't this improve performance dramatically? Maybe even the cards VRAM memory could be used to store voxel data and free system RAM for other things.
Personally I think the Voxlap is awesome :), I spent hour flying around in testing caves and blasting parts in many ways.
Robert at
Shaders are processed slower than polygon operations. Think about it - Your shader code has to be interpreted and is then adapted to your framedata. I guess using hardware accelerated polys for representing voxels would be much more faster - if used in the right kind of way.
etko at
I don't think that shaders are slower than normal polygon operations, in fact I think that they operate at same speed. They are not interpreted, first time they are compiled but then they are used as native GPU's code. Proof is that you can emulate fixed hardware pipeline (DX7 T&L and multitexturing) using shaders and achieve the same preformance. In fact I personally think that in DX8+ cards fixed hardware pipeline is emulated by "default" shaders internally.
If you have shader program it can have many vectors as input and one pixel as output. It is not possible to draw square directly from shader without having to pass all four vertices (two triangles) through the card's polygon engine?