Home
Sign Up
Sign In
V2EX
›
C++
如何用 C++ 写一个软件渲染器?
2
oiss
·
Aug 17, 2020
· 4383 views
This topic created in 2279 days ago, the information mentioned may be changed or developed.
效果:
特性:
单个文件,从画点开始实现可编程渲染管线,无外部依赖。
模型标准,计算精确,使用类 Direct3D 接口。
使用 C++ 编写顶点着色器和像素着色器,方便断点和调试。
使用 Edge Equation 精确计算三角形覆盖范围,处理好邻接三角形的边界。
全中文注释,每一处计算都有解释,核心代码 200 行,突出易读性。
多个教程例子,从如何画三角形到模型以及光照。
链接:
https://zhuanlan.zhihu.com/p/182872172
着色器
三角形
画点
计算
6 replies
•
2020-08-18 15:06:18 +08:00
across
Aug 17, 2020
1
en?
我怎么记得这个渲染器前几年你有发过,就是在知乎看的。 但是日志写的 8 月····
across
Aug 17, 2020
2
@
across
哦,现在这个是基于 dx 的····
GM
Aug 17, 2020
3
这个做入门文章太棒了,赞一个👍👍👍
oiss
OP
Aug 17, 2020
4
@
across
不是基于 dx 的,只是提供和 dx 类似的接口而已,整个图片是从画点开始画出来的。很多年前我发过的是另外一个传统实现,适合 CPU 实时渲染的,叫做 mini3d,和这个是两种思路,这个更多是模仿 GPU 。
jones2000
Aug 18, 2020
5
和 OpenGL 比,用哪个好?
oiss
OP
Aug 18, 2020
6
@
jones2000
这个是教学用的,性能当然比不上 opengl/dx,只是让你通过这个程序知道 opengl/dx 的原理。
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Privacy
·
Solana
·
3638 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 46ms ·
UTC 09:50
·
PVG 17:50
·
LAX 01:50
·
JFK 04:50
♥ Do have faith in what you're doing.
❯