本文源自github的开源项目 tinyrenderer,个人根据其课程进行学习开发,并在其基础上做出了些改动
项目准备
该项目标题为10天做一个光栅化渲染器,实际上是有那么点标题党意思的,其中涉及到的图形学及编程知识可不是10天就能掌握的,所以零基础还是不太合适。
你需要的前置知识有:
c++编程语言
图形学基础
3D数学知识
实际上需要的也不是太多是吧
领取你的新手套装:ssloy/tinyrenderer at 909fe20934ba5334144d2c748805690a1fa4c89f (github.com);
在vs环境下点击继续但无需代码,进入后添加->从已有代码创建,这样就会生成你的vs环境下的工程文件了,准备工作做好了,可以开始我们的工作了
测试TGA图像图
TGA图像库仅支持少量图像操作,所以我们几乎是无依赖开发。
//引入头文件
#include"tgaimage.h"
//定义几个颜色RGB通道 0-255
const TGAColor white = TGAColor(255, 255, 255, 255);
const TGAColor red = TGAColor(255, 0, 0, 255);
intmain(int argc, char** argv) {
TGAImage image(100, 100, TGAImage::RGB);
image.set(52, 41, red);
image.flip_vertically(); // i want to have the origin at the left bottom corner of the image
image.write_tga_file("output.tga");
return0;
}

看到这个红点就代表你第一课完成了,可喜可贺!