软件开发网站开发学习,长链接转化成短链接,火车wordpress,建手机网站一年费用Rasterization 光栅化阶段#xff1a;图元转换为像素#xff0c;生成片段。
定义
把物体的数学描述以及与物体相关的信息转换为屏幕上用于对应位置的像素及用于填充像素的颜色这个过程成为光栅化
主要工作#xff1a; 将得到的新图元#xff08;添加额外的Virtex和计算图…Rasterization 光栅化阶段图元转换为像素生成片段。
定义
把物体的数学描述以及与物体相关的信息转换为屏幕上用于对应位置的像素及用于填充像素的颜色这个过程成为光栅化
主要工作 将得到的新图元添加额外的Virtex和计算图元的信息转换成像素超过像素中心店即为有效将这个图元所需的像素信息生成一个片段需要覆盖哪些像素区域
主要目的
将几何渲染之后的图元信息转换为像素分配深度值和颜色将像素转换为二维图像产生的是片元后续显示子屏幕上。根据图元信息计算中每个图元所覆盖的像素信息。根据是否跨过这个像素的中心店遍历出这个图元所需要覆盖的像素区域及深度值
片段是渲染一个像素所需要的所有数据也叫片元
像素处理阶段处理像素得到位图Bitmap。
主要工作
处理像素点给这些像素进行上色片段着色器做的事情和处理片段位置测试与混合采用“画家算法”。这些处理后的像素点就是Bitmap位图
片段着色器给每一个像素赋予正确的颜色颜色的信息是通过顶点纹理光照信息得到的对片段进行才叫丢掉超出视图意外的所有像素没有跨过中心店的像素就不需要绘制该阶段处理纹理光照等复杂信息这部分也是整个系统的性能瓶颈
测试与混合叫做Merging阶段处理片段前后位置以及透明度。
根据片段的深度值z坐标判断片段前后位置采用“画家算法进行渲染”之前提供的离屏渲染也就是这个阶段计算透明度alpha值片段混合得到最终效果如果需要针对之前的单个图层片段进行处理那么就不可以了必须使用离屏渲染 将这部分图层延后合成处理
这些点进行不同排列和染色组成不同的图样。当放大位图时就可以看到无数个单个方块
这些方块的来历CPU计算出图元之后GPU拿到图元进行坐标转换计算纹理光照对图元添加额外的Virtex以便生成更复杂的几何图形和连接这些Virtex图元就是由这些Virtex构成的 将图元转换成像素【覆盖过中心点的像素才是有用的需要进行渲染的】对这些像素进行上色和采用画家算法进行合成图层缓存到back buffer中等待Display取进行渲染
如果想要更真实就需要足够多的顶点和颜色相应的也会产生更大的开销 但是为了提高生产效率和执行效率开发者可以使用纹理来表现细节纹理是一个2D图片。纹理可以直接作为图形渲染的第五阶段的输入。
这些流程是GPU的一些流水线程序、应用阶段是CPU做处理而几何处理阶段和光栅化处理阶段里面的细节比如片段着色器顶点着色器这些着色器可以由开发者自己配置着色器可以由多种语言编写。GPU厂商会提供OpenGl来实现OpenGl提供了GLSL着色器语言。
原文链接渲染流程之光栅化阶段及像素处理阶段 - 掘金 (juejin.cn)