往vxe-table添加渲染器怎么添_动手实现一个C++软渲染器(一)做一点微小的工作...

本文记录作者在图形学道路上的成长,通过实现一个C++软渲染器,学习渲染原理。文章介绍了选择C++和SDL2作为框架的原因,以及遇到的挑战如LockTexture问题。作者还分享了使用Bresenham算法绘制线段的原理,并展示了简单的代码实现。目前渲染器仅完成了基础框架,后续将进入绘制Primitive的阶段。
摘要由CSDN通过智能技术生成

58855f4b3adfeb1c409cef24cc4d05d6.png

学图形学或者说想学习渲染原理,要自己实现一个软渲染器。这种说法不知道最早是谁提出,也不知道是不是这样,但是作为个图形学萌新我确确实实的在实现的过程中学到了很多东西。我的这个文章,不是教程,也不是原理讲解,第一篇文章只是想记录下在图形学道路上成长的轨迹。各位读者如果对文章内容或者代码等各个方面有什么建议,欢迎指出。

首先感谢韦易笑前辈开源出来的700行软渲染器,在做这个渲染器之前,我先是Fork了这个代码,把里面的很多结构体改为类放在单独的文件里面,在这个过程中自己改了一些实现的方法,对我理解数学原理起了巨大的帮助作用。最后在里面添加了简单的平行光照、正反面剔除以及一个可以自由漫游的相机。但是这时对于光栅化的理解还是不够透彻,比如如何绘制Primitive。所以还是得自己从头开始实现,这就是本文的内容了。

想用C++实现一个软件渲染器,类似DX和OpenGL,除了《3D游戏编程大师技巧》,或者什么网站推荐?​www.zhihu.com
7704d3465cb4b7272ff6b24dd8cf04db.png

还感谢拳四郎前辈的文章,里面对Bresenham算法和绘制Primitive的原理讲解,对我帮助很大。当然我参考了很多其他前辈的文章以及国外的资料,这里就不一一列举出来了。

拳四郎:如何写一个软渲染(2)-Primitive​zhuanlan.zhihu.com
e1b8f03f81f4fcd9aaf94dc229a85287.png

框架的选择:

我用的是C++语言,而渲染器是需要一个窗口的,并且提供一个渲染Buffer的方法。S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值