day1:环境搭建
本教程要做的是一个零依赖的软渲染器,所以依赖的环境就是 C++
的开发环境。
注:零依赖意味着这个项目不依赖任何第三方库,软渲染意味着所有计算都是在 CPU 侧进行的,没有 GPU 参与
C++
环境搭建配置有多种方法,最快捷的方式就是直接用高度集成的 IDE,win 电脑可以用 Visual Studio,Mac 用户可以用 Xcode。当然你也可以用 CMake + VSCode 搭建 C++
运行环境。
我这个人很懒,平常开发 Xcode 用的又比较多,不想多折腾了,所以直接用 Xcode 构建项目了,小伙伴们千万不要学习我这种坏习惯。
Xcode 创建 C++
项目
1.新建项目
1.Xcode 创建 C++
项目非常简单,启动 XCode 后点击 Create a new Xcode project
,创建一个新项目
2.在跳出的弹框里选择 Command Line Tool
,然后点击 Next
3.在新的弹窗里填写好 Product Name
,Language
选择 C++
,然后点击 Next
4.在新的弹窗里选择项目路径,点击 Create
创建项目
到这里项目就创建好了。
2.配置相对路径
软渲染器需要对硬盘上的一些文件做一些 IO 操作,这时候就需要配置项目的相对路径。
首先按照 Product
-> Scheme
-> Edit Scheme
的次序,打开一个弹窗。
然后在弹窗里勾选 Using custom working directory
,并选择项目文件所在路径就可:
3.把源代码拖进去
因为本项目是零依赖的,渲染方式是根据源代码生成一张 tga 格式的图片。因为我们是来写软渲染器而不是写图片编码器的,所以直接把源代码里的 tgaimage.h
和 tgaimage.cpp
拖到我们的项目工程里就可以了。
加上 main.cpp,现在的工程目录里只有三个文件
.
├── main.cpp
├── tgaimage.cpp
└── tgaimage.h
然后我们在 main.cpp 里写一些简单的代码——创建一个 100x100 的图片,在 (52, 41) 这个坐标上画一个红的的点(rgb(255, 0, 0)
)
#include "tgaimage.h"
const TGAColor red = TGAColor(255, 0, 0, 255);
int main(int argc, char** argv) {
TGAImage image(100, 100, TGAImage::RGB);
image.set(52, 41, red);
image.flip_vertically();
image.write_tga_file("output/lesson00.tga");
return 0;
}
点击 Xcode 左上角三角形的 build 按钮,如果编译成功并在 output
这个文件夹下生成一张名为 lesson00.tga
的图片,就说明环境配置成功了!
今天在图片上画了一个点,明天我们就学习一下如何高性能的画一条直线。
欢迎关注公众号:卤代烃实验室:专注于前端技术、混合开发、图形学领域,只写有深度的技术文章