tags:

views:

396

answers:

3

Will you please provide me a reference to help me understand how scanline based rendering engines works? I want to implement a 2D rendering engine which can support region-based clipping, basic shape drawing and filling with anti aliasing, and basic transformations (Perspective, Rotation, Scaling). I need algorithms which give priority to performance rather than quality because I want to implement it for embedded systems with no fpu.

+3  A: 

Here is a good series of articles by Chris Hecker that covers software rasterization:

http://chrishecker.com/Miscellaneous_Technical_Articles

And here is a site that talks about and includes code for a software rasterizer. It was written for a system that does not have an FPU (the GP2X) and includes source for a fixed point math library.

http://www.trenki.net

Clusterflock
Well, Links are preety good for 3d rendering, But I want to implement a 2D renderer.
Sunny
Will work on 3d after I implement 2D.
Sunny
+3  A: 

I'm probably showing my age, but I still love my copy of Foley, Feiner, van Dam, and Hughes (The White Book).

Jim Blinn had a great column that's available as a book called Jim Blinn's Corner: A Trip Down the Graphics Pipeline.

Both of these are quited dated now, and aside from the principles of 3D geometry, they're not very useful for programming today's powerful pixel pushers.

OTOH, they're probably just perfect for an embedded environment with no GPU or FPU!

mtnygard
Hi mtnygard, I bought (Foley, Feiner, van Dam, and Hughes) Book. Thank for suggation.
Sunny
+1  A: 

I'm not sure about the rest, but I can help you with fast scaling and 2D rotation for ARM (written in assembly language). Check out a demo:

http://www.modaco.com/content/smartphone-software-games/291993/bbgfx-2d-graphics-library-beta/

L.B.

BitBank
Hi LB, I don't found Rotation and scaling code in that link. It is blank. I am eager to know that how can you rotate any bitmap.
Sunny
The link is a post on Modaco about a 2D graphics engine I'm working on. It includes fast ARM assembly language to rotate 2D bitmaps in real time. Here is the link to the demo application (Windows Mobile) and sample code:www.bitbanksoftware.com/private/bbgfx_demo.zip
BitBank
Bitbank I can't find assembly optimized functions in the ZIP file, Will you please check and tell me where they are?Thanks.
Sunny
Sorry Sunny, but the source code is not free. The point of passing you the link is to allow you to run the demo code and see if it is what you are looking for.
BitBank
Hi Bitbank, I am running embedded-linux. So I can not test .exe file. Have you executable for linux?Thanks Sunny.
Sunny
I don't work with embedded linux. contact me directly to continue this discussion.
BitBank