3D C/C++ tutorials -> Software rendering
Use for personal or educational purposes only. Commercial and other profit uses strictly prohibited. Exploitation of content on a website or in a publication prohibited.
|
Simple software renderer
The purpose of this tutorial is to help you understand the math and algorithms behind
- multithreaded rendering
- getting number of processor cores
- creating threads
- running every thread on a different core
- setting the minimum timer resolution
- thread synchronization
- initializing, resizing and clearing color and depth buffers
- primitive assembly
- vertex shader
- per vertex lighting
- triangle visibility testing using homogeneous coordinates
- triangle clipping using homogeneous coordinates
- perspective division
- front and back face triangle culling
- triangle rasterization with perspective correct z and attribute values interpolation
- depth test
- fragment shader
- nearest and bilinear texture filtering
- 24-bit color buffer and 16-bit depth buffer
- 2x2, 3x3 and 4x4 antialiasing
>> Simple software renderer <<
|
|
Software shadow mapping
The purpose of this tutorial is to help you understand the math and algorithms behind
- rendering to textures
- shadow mapping
- bilinearly filtered shadows
>> Software shadow mapping <<
|
Gallery
|