十天自制软渲染器
文章平均质量分 96
卤蛋实验室
公众号@卤蛋实验室,有问题可关注提问,每天都会在线答疑
展开
-
【十天自制软渲染器】DAY 04:Z-buffering
如果你喜欢我的文章,希望点赞???? 收藏 ???? 评论 ???? 三连一下,谢谢你,这对我真的很重要!在第三天的学习中,我们学会了如何利用重心坐标算法画三角形,并运用三角形绘制算法把人头模型画了出来。虽然最后的渲染结果能看出来这是个脑袋,但是嘴巴处有很明显的穿帮。这一天我们就学习一下,如何利用 Z-buffering(深度缓冲)来解决层叠问题。本文源码 ????:toyRenderer-day04-Z-buffering1.画家算法在正式讲解 Z-buffering 问题之前,我们先来了原创 2021-02-09 10:14:00 · 330 阅读 · 0 评论 -
【十天自制软渲染器】DAY 03:画一个三角形(向量叉乘算法 & 重心坐标算法)
前面两天画了点和线,今天我们来画一个最简单也是最强大的面——三角形。本文主要讲解三角形绘制算法的推导和思路(只涉及到一点点的向量知识),最后会给出代码实现,大家放心的看下去就好。本文源码 ????:toyRenderer-day3-draw-triangle1.如何画一个三角形?在正式开始这一小节前,我们先想一下如何利用上一节的画线算法绘制一个实心的三角形。假设现在平面内有三个不共线的点组成一个三角形,我们可以利用上一节的直线算法轻易的连接三角形的三条边,这时候我们会生成一个空心的、封闭的三原创 2021-02-02 14:45:41 · 558 阅读 · 0 评论 -
【十天自制软渲染器】DAY 02:画一条直线(DDA 算法 & Bresenham’s 算法)
推荐关注公众号「卤蛋实验室」或直接阅读博客原文,更新更及时,阅读体验更佳写文不易,恳求各位观众老爷 点赞 ????,收藏 ????,评论 ???? 三连支持一下!!!谢谢你,这对我真的很重要!第一天我们搭建了 C++ 的运行环境并画了一个点,根据 点 → 线 → 面 的顺序,今天我们讲讲如何画一条直线。本文主要讲解直线绘制算法的推导和思路(莫担心,只涉及到一点点的中学数学知识),最后会给出代码实现,大家放心的看下去就好。1.DDA 直线算法1.1 简单实现我们先来回顾一下中学的几何知识,如原创 2021-01-19 09:11:12 · 308 阅读 · 0 评论 -
【十天自制软渲染器】DAY 01:图形学学习建议与环境搭建
推荐直接阅读博客原文,更新更及时,阅读体验更佳如果你觉得我写的不错,就给我个点个赞吧????!谢谢你,这对我真的很重要!「十天自制软渲染器」这个标题我承认标题党了.在对图形学一无所知的情况下想十天自制一个软渲染器,就好似一节课没上过却试图一个晚上看完《30 天精通 C++》然后第二天早上八点考试得满分一样,我承认世界上有这种天才,但很可惜我不是。就像前文所说,本系列造的轮子都是站在巨人的肩膀上完成的,需要对相关知识有一定的了解和学习,如果你是一个图形学大牛,这种软渲染器肯定是不屑于做的;如果你刚刚进原创 2021-01-14 10:23:01 · 680 阅读 · 0 评论