Software Rasterizer (and OpenCL implementation)
education
Table of Contents
School assignment in year 2 to make a Software Renderer
Assignment Requirements:>
Assignment Requirements: #
Rendering:>
Rendering: #
- Perspective correct texturing and depth interpolation;
- Sub-pixel & sub-texel accurate for all input;
- Correct sorting using z-buffering.
Scene:>
Scene: #
- Object must requires a scene graph, at least 3 levels deep;
- Object must be user-controllable at various levels;
- Application must load the scene and materials from obj/mtl file(s);
- Scenegraph does not have to be loaded from a file.
Architecture:>
Architecture: #
- Clear data ownership;
- Scene must clean up completely when deleted (no leaks);
- Triangle & vertex data must be relocatable / serializable.
Performance:>
Performance: #
- Not a requirement (however, slideshow = no respect).
Debugging:>
Debugging: #
Showcase:>
Showcase: #
OpenCL:>
OpenCL: #
For a later assignment in year 3 I took the opportunity of writing some code for the GPU, To add a “hardware renderer” to this framework. mostly because i thought it would be funny.