Hello,大家好,今天给大家带来图形学基础:如何在屏幕上绘制立方体?我是几维。
当我们需要在屏幕上显示或绘制任何一个立方体时,那么我们就必须绘制一个网格,然后在上面绘制纹理着色。这里就延伸出来图形渲染管线。本文只是概述性的描述在屏幕上绘制一个立方体的步骤,不会过于深入,侧重于美术同学阅读。
渲染
在电脑绘图中,是指以软件将3D模型数据转换成2D图像的过程。
图形渲染管线
就是绘制3D图形需要的一系列步骤,抽象成渲染管线(流水线)。管线关注的是数据的流转,映射,变换和处理。
1、立方体顶点坐标
如果在屏幕上绘制一个三角形,第一步就是绘制出顶点,因为网格是由顶点组成的。一个顶点要描述它的位置需要三个轴向的坐标(还包括法线和纹理UV坐标),其实就是用三个数来描述顶点的位置。而这些数据也被称之为Vertex Buffer(顶点缓存)。

2、添加顶点索引数组
而一个立方体由八个顶点数组构成。每个顶点有它自身的一个号码,而这些号码就是按它在文件里面出现顺序作为它的号码。

3、三角形信息
有了这些顶点索引数组数据,我们就可以绘制三角面。在3D渲染中每三个顶点构成一个面,也就是一个三角面。而这组数据也被称为Index Buffer(索引缓存)。

4、顶点着色器
有了上述的这些数据后,就可以把这些数据输入到顶点着色器中。将模型每个顶点(坐标)位置信息,用顶点着色器换算(变换/计算)每个顶点应在屏幕的位置(顶点位置的空间变换)。也就是说,为了绘制这些顶点,我们将收集的顶点信息,将它在模型空间中顶点信息变换成世界空间,然后再变换到摄像机(观察)空间,到裁切空间,最后投射到屏幕空间上绘制它们。

5、栅格化
图元组装得到的三角形,栅格化就是思考如何把这些三角形映射成为一个一个的像素,哪些三角形对应哪些像素。这个中间有一些对应的关系。每一个像素又称之为片元。在栅格化中相当于把模型的三角面投影到了我们的屏幕上。因为显示器是由一个个像素组成,这一步就要把这些三角形变成屏幕上对应的像素。每个像素是由相连的点生成的,那么每个像素就会根据这些点插值出准确的数据。

6、片元(像素)着色器
经过顶点着色器处理和栅格化的数据输出到片元(像素)着色器后,就需要从一个(摄像机)视角绘制出这些数据。然后就会逐个像素输出每个像素的颜色。立方体形状包围的每一个像素格都会根据顶点着色器定义的方法去计算它的颜色。最后就会绘制出来一个完整带光影和纹理的立方体。换句话说,也就是给每一个像素上色。

7、帧缓冲区
完整的渲染图像就会输出到帧缓冲区中。显示器下一帧要显示什么,就把颜色写到帧缓冲区(Frame Buffer)里面。用于存放渲染的最终结果。最终显示器从帧缓冲区里面拿到图像,显示在显示器的屏幕上(中间包含一个后处理,这里就不展开了)。

8、参考
《unity shader 入门精要》
GAMES01-现代计算机图形学入门-闫令琪
庄懂的技术美术入门课(美术向)
来源:Thepoly公众号
上一篇 《猎人工具箱》道具制作图文教程
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答入职两周当组长主动上调薪资学长开公司招人又是被AI班喜报砸晕的一天
杭州那家九州传媒,不是什么小作坊,此前他们的负责人曾对媒体说过他们有一万余人的招聘缺口,而且最近几个月一直在持续性地疯狂招人 ......
AI短剧备案新规落地AIGC设计师薪资暴涨50AI设计日报0609
广电总局及网信部门明确AI内容标注及备案要求,行业进入规范化发展阶段与此同时,IP+AI的规模化路径也得到验证:阅文集团百部A......
每年这个时候全国都在关注同一件事高考这是这个国家一年一度最盛大的集体奔赴它被反复提起不是
在火星时代,我们见过太多带着这股劲头来的年轻人:有的刚结束高考就来学设计;有的读两年大学发现不对,趁暑假来学UE;还有的工作几......
虚幻引擎交互开发工程师班
影视游戏虚幻美术视效大师班
同学您好!