【项目分享】TinyRenderer

这里写自定义目录标题

项目简介

最近在进行图形学学习的时候偶然发现的一个开源项目,学习图形学一个避不开的话题就是渲染器的构建,渲染器的构建能告诉我们计算机究竟如何将二进制的信息准换成丰富多彩的图形?很多人学习图形学到了后期可以调用OpenGL完成很多高级功能,但是能否从零开始构建一个完整的渲染器,恐怕还要打上一个问号。Tiny Renderer的项目地址我放在了文章最后,后期我会找时间将项目说明博客翻译中文版分享出来。

教程从渲染器底层入手,尽可能的脱离外部库的依赖,从绘制直线和三角形的方法开始构造完整的渲染器,从画点、线和三角形开始,逐步深入三维变换、投影,实现顶点着色器、片段着色器,每一步都尽可能地脱离OpenGL,从底层理解渲染器工作原理,对我们学习OpenGL,理解OpenGL的工作原理有很大帮助。

要注意的是,项目代码本身的意义不大,最重要的是我们阅读项目代码要能够有所收获实现自己的软件渲染器。

运行效果

在这个项目中,作者从头实现了一个简化版本的OpenGL工作流,在不使用第三方图形库的前提下,在计算机上渲染出三维人物模型,整个项目代码规模约在500行左右,要注意的是为了尽可能减少对第三方库的依赖,本项目中使用TGA格式的图像文件,完整的项目地址放在文末,下面两幅图是使用该自制渲染器运行后的效果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值