Hello,大家好,今天给大家带来图形学基础:如何在屏幕上绘制立方体?我是几维。
当我们需要在屏幕上显示或绘制任何一个立方体时,那么我们就必须绘制一个网格,然后在上面绘制纹理着色。这里就延伸出来图形渲染管线。本文只是概述性的描述在屏幕上绘制一个立方体的步骤,不会过于深入,侧重于美术同学阅读。
渲染
在电脑绘图中,是指以软件将3D模型数据转换成2D图像的过程。
图形渲染管线
就是绘制3D图形需要的一系列步骤,抽象成渲染管线(流水线)。管线关注的是数据的流转,映射,变换和处理。
1、立方体顶点坐标
如果在屏幕上绘制一个三角形,第一步就是绘制出顶点,因为网格是由顶点组成的。一个顶点要描述它的位置需要三个轴向的坐标(还包括法线和纹理UV坐标),其实就是用三个数来描述顶点的位置。而这些数据也被称之为Vertex Buffer(顶点缓存)。
2、添加顶点索引数组
而一个立方体由八个顶点数组构成。每个顶点有它自身的一个号码,而这些号码就是按它在文件里面出现顺序作为它的号码。
3、三角形信息
有了这些顶点索引数组数据,我们就可以绘制三角面。在3D渲染中每三个顶点构成一个面,也就是一个三角面。而这组数据也被称为Index Buffer(索引缓存)。
4、顶点着色器
有了上述的这些数据后,就可以把这些数据输入到顶点着色器中。将模型每个顶点(坐标)位置信息,用顶点着色器换算(变换/计算)每个顶点应在屏幕的位置(顶点位置的空间变换)。也就是说,为了绘制这些顶点,我们将收集的顶点信息,将它在模型空间中顶点信息变换成世界空间,然后再变换到摄像机(观察)空间,到裁切空间,最后投射到屏幕空间上绘制它们。
5、栅格化
图元组装得到的三角形,栅格化就是思考如何把这些三角形映射成为一个一个的像素,哪些三角形对应哪些像素。这个中间有一些对应的关系。每一个像素又称之为片元。在栅格化中相当于把模型的三角面投影到了我们的屏幕上。因为显示器是由一个个像素组成,这一步就要把这些三角形变成屏幕上对应的像素。每个像素是由相连的点生成的,那么每个像素就会根据这些点插值出准确的数据。
6、片元(像素)着色器
经过顶点着色器处理和栅格化的数据输出到片元(像素)着色器后,就需要从一个(摄像机)视角绘制出这些数据。然后就会逐个像素输出每个像素的颜色。立方体形状包围的每一个像素格都会根据顶点着色器定义的方法去计算它的颜色。最后就会绘制出来一个完整带光影和纹理的立方体。换句话说,也就是给每一个像素上色。
7、帧缓冲区
完整的渲染图像就会输出到帧缓冲区中。显示器下一帧要显示什么,就把颜色写到帧缓冲区(Frame Buffer)里面。用于存放渲染的最终结果。最终显示器从帧缓冲区里面拿到图像,显示在显示器的屏幕上(中间包含一个后处理,这里就不展开了)。
8、参考
《unity shader 入门精要》
GAMES01-现代计算机图形学入门-闫令琪
庄懂的技术美术入门课(美术向)
来源:Thepoly公众号
上一篇 《猎人工具箱》道具制作图文教程
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答在杭州学习UE5,掌握未来游戏设计的核心技术。火星时代教育为你提供全面的UE5课程,助力你开启职业新篇章。了解UE5的就业前景......
杭州是一个动漫游戏氛围浓厚的城市,去杭州发展,选火星学习,进入游戏动漫行业,大有可为哦
此篇文章深度介绍了室内3D模型线上课程的内容和结构,并着重强调了其在新时代创新技术中的重要性。最后,我们将介绍火星时代教育公司......
探讨目前各种C++培训班的特点,提出如何挑选适合自己的C++培训班,并介绍火星时代教育的相关信息。
影视动画设计基础课程的深入解析,提供给所有对动画创作有兴趣的人。让我们一起来了解更多动画设计的世界吧!
文章详细描述了剪辑制作培训机构的课程设置以及如何选择一个好的剪辑制作培训机构。
1. 打开微信扫一扫,扫描左侧二维码
2. 添加老师微信,马上领取免费课程资源
同学您好!