Voxel Software Rendering Feasibility
#1 Crossbones+ - Reputation: 743
Posted 12 April 2012 - 04:58 PM
http://www.youtube.com/watch?v=IrohwKhsxJ4
"The only thing stopping you from what you want in the future is what you want right now." - Zig Ziglar
#2 Crossbones+ - Reputation: 3518
Posted 13 April 2012 - 12:57 PM
So, yes, software voxel rendering is feasible. What library/API you choose to implement it with is, of course, up to you.
#3 Members - Reputation: 1281
Posted 13 April 2012 - 03:18 PM
For low quality look into raycasting methods. They often rely on single sampling and are extrmely fast with the right algorithms, but their quality with a single sample per pixel is often low. If you want to go that route look into 3DDDA and octree traversal algorithms. They are rather easy to thread. Look at Laine's papers on SVO traversal. Note with some tweaks this method looks very nice.
For medium quality look into cone tracing.
For higher quality (or "perfect" rendering) look into beam tracing.
For naive rendering look into polygon rasterization. In any case read the Larrabee article as it comes up sometimes for things like octree frustum culling. (Similar algorithm).
For handling the framebuffer look into pixeltoaster. Also this goes without saying, but work on your algorithms from a high level and optimize down. When you think you have things right start switching over to SIMD instructions.
Also if you render volumes front to back don't use source alpha minus one blending. It doesn't model volumes. This algorithm does.
#4 Members - Reputation: 1383
Posted 15 April 2012 - 08:18 PM
With some smart memory management, it actually scales better on CPU than on GPU, as your GPU is just dependent on raw memory bandwidth, and having a lot of diverging ray paths, results in cache trashing between rays in the same warp/wavefront. On cpu, you can organize rays to travel coherent through memory, to maximize the cache usage.
Atm my GPU version is usually faster (quadcore intel Penryn vs NVidia GTX460), but with more complex models and some compression, the GPU version is faster (in smaller resolutions).
you can check out some voxel renderings in my gallery: http://twitpic.com/photos/michael_hpp , sometimes I state which version I've used, I think the bottom most picture with the animated imp was CPU.
Edited by Krypt0n, 15 April 2012 - 08:21 PM.
#5 Members - Reputation: 579
Posted 16 April 2012 - 02:18 AM
you can check out some voxel renderings in my gallery: http://twitpic.com/photos/michael_hpp , sometimes I state which version I've used, I think the bottom most picture with the animated imp was CPU.
Nice pictures! Kind of off topic but where is this scene from: http://twitpic.com/8iohd5/full Is it a freely available test scene or something you aquired privately?
#6 Members - Reputation: 1281
Posted 16 April 2012 - 01:45 PM
That's actually one of the model's in Laine's SVO papers also. It's Marko Dabrovic's Sibenik Cathedral model. You can find it in a lot of places online. One of them is here.Nice pictures! Kind of off topic but where is this scene from: http://twitpic.com/8iohd5/full Is it a freely available test scene or something you aquired privately?
#8 Members - Reputation: 1281
Posted 17 April 2012 - 07:59 AM
Wait a second. I spoke too soon since I just took a quick glance. That doesn't look like that model at all. I've never seen that model he linked with the cars. Now I'm curious also.Ah, I recognise it now :-) Because of the cars I though it was a museum or something. They must have been added seperatly.
#9 Crossbones+ - Reputation: 743
Posted 17 April 2012 - 04:43 PM
you can check out some voxel renderings in my gallery: http://twitpic.com/photos/michael_hpp , sometimes I state which version I've used, I think the bottom most picture with the animated imp was CPU.
Wow, those are IMPRESSIVE. Are any of those done in real time with software rendering? How big are those voxel models in file size?
"The only thing stopping you from what you want in the future is what you want right now." - Zig Ziglar






