TinyRenderer之项目创建

本文介绍了基于github上的开源项目tinyrenderer的学习过程,涉及C++编程、图形学基础和3D数学知识。项目创建者警告非零基础者可能不适合在10天内完成。文章提供了一个简单的TGA图像处理示例,展示如何使用TGAImage库在VS环境下编写代码并生成输出图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文源自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;
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值