Sign in to follow this  
Butabee

Software Rasterizer?

Recommended Posts

Butabee    274
I was wondering... is there any reason this day and age to write a pure software rasterizer?

I kinda wanted to make one, but I'm left with the question... what's the point? GPUs are here to stay.

Share this post


Link to post
Share on other sites
Geri    367
Well i have a software rasterizer wich can outperform mesa 3x-4x in speed but no one was realy interested in it, even if it was able to run quake3 playable. It seems it was a mistake to spend energy in it. I removed it from nets also.

Share this post


Link to post
Share on other sites
doesnotcompute    262
One use for a software renderer is for software that needs to run on a wide variety of systems and cannot be at the mercy of graphics card driver bugs or even assume a GPU with features it needs will be present.

Share this post


Link to post
Share on other sites
Sirisian    2263
It can be a fun academic effort. Use something like AVX if you have a sandy bridge CPU. There are a lot of fun optimizations people don't research since they're newer.

Share this post


Link to post
Share on other sites
Krohm    5030
[url="http://www.slideshare.net/repii/parallel-graphics-in-frostbite-current-future-siggraph-2009-1860503"]Software occlusion[/url].
I considered it for some "batch merging" of massive particle systems with high overdraw. But it was way too much work.

Share this post


Link to post
Share on other sites
Danny02    279
I think they used a software rasterizer for the newest Splinter Cell game for Occlusion Culling on the PC, because on the PC the latency between GPU and System memory is bigger than rasterize a few quads on the CPU.

Share this post


Link to post
Share on other sites
Hodgman    51237
[quote name='Krohm' timestamp='1306401141' post='4815960'][url="http://www.slideshare.net/repii/parallel-graphics-in-frostbite-current-future-siggraph-2009-1860503"]Software occlusion[/url].[/quote]I've been wanting to try that out for a while, but I can't be bothered writing my own rasterizer. If there was a really [i]clean and simple[/i] software rasterizing library ([i]open source or not[/i]) out there that I could use for tasks like this (without dragging the kitchen sink into my project), that'd be awesome.

Share this post


Link to post
Share on other sites
Krypt0n    4721
I started to write those, since it was the only way 20years ago to have something 3d on the screen and once you start, you can't stop. it's fun to write them if you know all the details and there is always something new to learn. I've written some on old 1MHz cpus, some on 4x86 to compete with the quake engine, one for MMX, for SSE1, SSE2, SSE4, for AVX, for SPUs, in Cuda and OpenCL, some in pure assembler, some highly "templatized".

A lot of time it's hard work (I think on the SPU one I spend nearly one month just optimizing the main inner loop), but once it's all working, it's the most satisfying feeling, way better than beating some final boss in a game ;)

But I think, beside the fun, there is not a lot of a point nowadays, even if you'd do some baking of texture (lightmaps), you can utilize the GPU and download the result and if you're doing it for performance (e.g. occlusion culler or offloading some work to cpu/spu), without having previous experience in writing rasterizer, it might give you quite some brainteaser, like gaps between triangles, smart way to do clipping.

which is nice for me, there are always some ppl paying me for writing some (part of a) software rasterizer. :D although I start to feel like a fortran engineer....

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this