用 taichi 写个软渲染器
What
- 起点是:可以 setup 一个画布,drawPixel(x, y, color),然后渲染到 GUI 或者 .png
- 目标是:加载 obj 模型文件和 .tga 贴图文件,并渲染出来
- 使用 taichi 作为 SIMD 加速 backend
- 复现一些 RTR/ PBRT 公式,最好是手写
import taichi as ti
ti.init(arch=ti.gpu)
n = 320
pixels = ti.field(dtype=float, shape=(n * 2, n))
@ti.kernel
def paint(t: float):
for i, j in pixels:
pixels[i, j] = 1
gui = ti.GUI("1-triangle", res=(n * 2, n))
frame = 0
while gui.running:
paint(frame)
gui.set_image(pixels)
gui.show() # or gui.show(f"{frame}.png")
frame += 1