使用纯Rust编写的3D软渲染器。
只有一个例子:examples/sandbox.rs
,用
cargo run --example sandbox --release
运行。
使用WSAD前后左右移动相机,使用Q上升相机,E下降相机。
本工程由两种软渲染:纯粹为了在CPU上快速运行的CPU软渲染(./src/cpu_renderer.rs
),以及模拟GPU原理的GPU软渲染(./src/gpu_renderer.rs
)。使用features
可以指定运行某种:
cargo run --example sandbox --features cpu
cargo run --example sandbox --features gpu
默认是CPU渲染。
书籍:
- 《3D游戏编程大师技巧》
- 《Fundamentals of Computer Graphics》
- 《线性代数及其应用》
视频:
- 【GAMES101-现代计算机图形学入门-闫令琪】中关于光栅化的部分。
齐次空间裁剪:
投影矩阵推导:
透视投影矫正:
其他: