Hello,大家好,今天给大家带来图形学基础:如何在屏幕上绘制立方体?我是几维。
当我们需要在屏幕上显示或绘制任何一个立方体时,那么我们就必须绘制一个网格,然后在上面绘制纹理着色。这里就延伸出来图形渲染管线。本文只是概述性的描述在屏幕上绘制一个立方体的步骤,不会过于深入,侧重于美术同学阅读。
渲染
在电脑绘图中,是指以软件将3D模型数据转换成2D图像的过程。
图形渲染管线
就是绘制3D图形需要的一系列步骤,抽象成渲染管线(流水线)。管线关注的是数据的流转,映射,变换和处理。
1、立方体顶点坐标
如果在屏幕上绘制一个三角形,第一步就是绘制出顶点,因为网格是由顶点组成的。一个顶点要描述它的位置需要三个轴向的坐标(还包括法线和纹理UV坐标),其实就是用三个数来描述顶点的位置。而这些数据也被称之为Vertex Buffer(顶点缓存)。
2、添加顶点索引数组
而一个立方体由八个顶点数组构成。每个顶点有它自身的一个号码,而这些号码就是按它在文件里面出现顺序作为它的号码。
3、三角形信息
有了这些顶点索引数组数据,我们就可以绘制三角面。在3D渲染中每三个顶点构成一个面,也就是一个三角面。而这组数据也被称为Index Buffer(索引缓存)。
4、顶点着色器
有了上述的这些数据后,就可以把这些数据输入到顶点着色器中。将模型每个顶点(坐标)位置信息,用顶点着色器换算(变换/计算)每个顶点应在屏幕的位置(顶点位置的空间变换)。也就是说,为了绘制这些顶点,我们将收集的顶点信息,将它在模型空间中顶点信息变换成世界空间,然后再变换到摄像机(观察)空间,到裁切空间,最后投射到屏幕空间上绘制它们。
5、栅格化
图元组装得到的三角形,栅格化就是思考如何把这些三角形映射成为一个一个的像素,哪些三角形对应哪些像素。这个中间有一些对应的关系。每一个像素又称之为片元。在栅格化中相当于把模型的三角面投影到了我们的屏幕上。因为显示器是由一个个像素组成,这一步就要把这些三角形变成屏幕上对应的像素。每个像素是由相连的点生成的,那么每个像素就会根据这些点插值出准确的数据。
6、片元(像素)着色器
经过顶点着色器处理和栅格化的数据输出到片元(像素)着色器后,就需要从一个(摄像机)视角绘制出这些数据。然后就会逐个像素输出每个像素的颜色。立方体形状包围的每一个像素格都会根据顶点着色器定义的方法去计算它的颜色。最后就会绘制出来一个完整带光影和纹理的立方体。换句话说,也就是给每一个像素上色。
7、帧缓冲区
完整的渲染图像就会输出到帧缓冲区中。显示器下一帧要显示什么,就把颜色写到帧缓冲区(Frame Buffer)里面。用于存放渲染的最终结果。最终显示器从帧缓冲区里面拿到图像,显示在显示器的屏幕上(中间包含一个后处理,这里就不展开了)。
8、参考
《unity shader 入门精要》
GAMES01-现代计算机图形学入门-闫令琪
庄懂的技术美术入门课(美术向)
来源:Thepoly公众号
上一篇 《猎人工具箱》道具制作图文教程
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答曾多次前来火星虚幻班进行企业专场招聘会的龙软科技,是一家以自主研发的专业地理信息系统平台为基础,利用物联、大数据、云计算、数字......
做建筑漫游时被楼梯建模逼疯?试试这款让设计师直呼“真香”的Blender插件——Staircase Generator(楼梯生......
岗位能力:3D能力(3D模型整体美术结构、线条结构的了解掌握)、游戏动画时间&空间节奏的把控、镜头逻辑&镜头语言的了解、动画设......
火星的影视游戏虚幻美术视效大师班(简称虚幻美术或虚幻视效)!!!和火星其他王牌专业一样,这个专业采用项目管理制教学,由资深总监......
关于场景的选择,老师给予我们的意见是尽量多一些雕刻的东西,有助于我们对于zb的理解与学习。再有一点就是,要找主体物的明确和突出......
在火星课程服务的帮助下,同学们一般都能够通过4-6个月的一定量的学习和训练,所达成的、符合上面两个条件的结果。不管是动画、虚幻......