计算机图形学----第二天

  在OpenGL中其实所有肉眼所见的内容全部在3D的空间中,但是展现的屏幕或者窗口的2D像素进行排列的,因此OpenGL的主要工作就是将3D坐标转换为适合屏幕的2D像素。其主要的工作的原理就是首先将3D的坐标转换为2D的坐标,接着再将2D坐标转换为实际的彩色像素。

  图像管道首先将一组3D坐标作为输入,将其转换为屏幕上的彩色2D像素,其流程可以分为几个步骤:首先传入3D坐标的列表,将3D坐标应在称为的数组中行成三角形Vertext Data.此顶点数据便是顶点的集合,一个顶点是每个3D坐标的数据集合。

  OpenGL工作流程:将单个顶点作为输入,其主要目的是将3D坐标转换为不同的3D坐标,并且顶点着色器允许对顶点属性进行一些基本处理。从顶点着色器获取所有顶点并且在给定的原始图形状组装所有的点这种情况下构成了三角形。然后输出给几何着色器,几何着色器将形成基本图形的一组顶点作为输入并且通过该顶点发出新的顶点从而生成新的形状,这样构成了第二个三角形。在几何着色器处理完成后将其传递给光栅化阶段,它生成的图元最终将映射到屏幕上形成对应的像素从而提供给着色器使用,但是在片段着色器运行前会裁剪视图外的片段,从而提高性能。(片段着色器:主要是用于计算像素的颜色,通常是所有高级OpenGL效果发生阶段。片段着色器包含有关3D场景的数据,可用于计算最终的像素颜色。)

  我们在确定了所有相应的颜色值后将最终经历一个阶段(阿尔法测试和混合阶段)主要作用是用于检查相应的深度值(该值会检查片段生成的前后以及是否符合要求)。该阶段还需要检查α值和混合相应的对象,这便是渲染多个三角形时可能出现像素颜色不一致的情况。

 

  

posted @ 2020-08-30 16:02  PD_Ming  阅读(90)  评论(0编辑  收藏  举报