渲染流水线

1.前言  

  话不多说,直接开始干货吧!

  渲染流水线的最终目的在于生成或者说是渲染一张二维纹理,即我们在电脑屏幕上看到的所有效果。它的输入是一个虚拟摄像机、一些光源、一些Shader以及纹理等等。

2.综述

2.1 什么是流水线

  在工业上,流水线被广泛应用在装配线上。

  我们来举一个例子。假设,老王有一个生产洋娃娃的工厂,一个洋娃娃的生产流程可以分为4个步骤:
  第1步:制作洋娃娃的躯干;
  第2步:缝上眼睛和嘴巴;
  第3步:添加头发;
  第4步:给洋娃娃进行最后的产品包装。

  在流水线出现之前,只有每个洋娃娃完成了所有这4个工序后才能开始制作下一个洋娃娃。如果说每个步骤需要的时间是1小时的话,那么每4个小时才能生产一个洋娃娃。

  引入流水线后,虽然制作一个洋娃娃仍然需要4个步骤,但不需要从头到尾完成全部步骤,而是每个步骤由专人来完成,所有步骤并行进行。

    

  可以发现,流水线系统中决定最后生产速度的是最慢的工序所需的时间。理论情况下,如果把一个非流水线系统分成n个流水线阶段,且每个阶段耗费时间相同的话,会使整个系统得到n倍的速度提升。

2.2 什么是渲染流水线

  渲染流水线的工作任务在于由一个三维场景出发、生成(或者说是渲染)一张二维图像。换句话说,计算机需要从一系列的顶点数据、纹理等信息出发,把这些信息最终转换成一张人眼可以看到的图像,这个工作通常是由CPU和GPU共同完成的。

  一个渲染流程分成3个阶段:应用阶段(Application Stage)几何阶段(Geometry Stage)光栅化阶段(Rasterizer Stage),来自《Render-Time Rendering,Third Edition》一书。

  · 应用阶段

  通常由CPU负责实现,开发者具有这个阶段的绝对控制权。

  开发者有3个主要任务:
  首先,需要准备好场景数据,如摄像机的位置、视锥体、场景中包含了哪些模型、使用了哪些光源等等;
  其次,为了提高渲染性能,需要做一个粗粒度剔除(culling)工作,把那些不可见的物体剔除出去,这样就不需要再移交给几何阶段进行处理;
  最后,需要设置好每个模型的渲染状态,这些渲染状态包括但不限于它使用的材质(漫反射颜色、高光反射颜色)、使用的纹理、使用的Shader等。

  这一阶段的主要目的,在于输出渲染所需的几何信息——渲染图元(rendering primitives),可以是点、线、三角面等。这些渲染图元会被传递给下一个阶段——几何阶段。

  · 几何阶段

  几何阶段用于处理所有和我们要绘制的几何相关的事情。例如,决定需要绘制的图元是什么,怎样绘制它们,在哪里绘制它们。这一阶段通常在GPU上进行。

  几何阶段负责和每个渲染图元打交道,进行逐顶点、逐多边形的操作。几何阶段的一个重要任务就是把顶点坐标变化到屏幕空间中,再交给光栅器进行处理。通过对输入的渲染图元进行多步处理后,这一阶段将会输出屏幕空间的二维顶点坐标、每个顶点对应的深度值、着色等相关信息,并传递给下一个阶段。

  · 光栅化阶段

   这一阶段将会使用上个阶段传递的数据来产生屏幕上的像素,并渲染出最终的图像,在CPU上运行。

  光栅化的任务主要是决定每个渲染图元中的哪些像素应该被绘制在屏幕上。它需要对上一个阶段得到的逐顶点数据(例如纹理坐标、顶点颜色等)进行插值,然后进行逐像素处理。

 

  

转载于:https://www.cnblogs.com/yoyocool/p/9667700.html

标题Python网络课程在线学习平台研究AI更换标题第1章引言介绍Python网络课程在线学习平台的研究背景、意义、国内外现状和研究方法。1.1研究背景与意义阐述Python在线学习平台的重要性和研究意义。1.2国内外研究现状概述国内外Python在线学习平台的发展现状。1.3研究方法与论文结构介绍本文的研究方法和整体论文结构。第2章相关理论总结在线学习平台及Python教育的相关理论。2.1在线学习平台概述介绍在线学习平台的基本概念、特点和发展趋势。2.2Python教育理论阐述Python语言教学的理论和方法。2.3技术支持理论讨论构建在线学习平台所需的技术支持理论。第3章Python网络课程在线学习平台设计详细介绍Python网络课程在线学习平台的设计方案。3.1平台功能设计阐述平台的核心功能,如课程管理、用户管理、学习跟踪等。3.2平台架构设计给出平台的整体架构,包括前后端设计、数据库设计等。3.3平台界面设计介绍平台的用户界面设计,强调用户体验和易用性。第4章平台实现与测试详细阐述Python网络课程在线学习平台的实现过程和测试方法。4.1平台实现介绍平台的开发环境、技术栈和实现细节。4.2平台测试对平台进行功能测试、性能测试和安全测试,确保平台稳定可靠。第5章平台应用与效果分析分析Python网络课程在线学习平台在实际应用中的效果。5.1平台应用案例介绍平台在实际教学或培训中的应用案例。5.2效果评估与分析通过数据分析和用户反馈,评估平台的应用效果。第6章结论与展望总结Python网络课程在线学习平台的研究成果,并展望未来发展方向。6.1研究结论概括本文关于Python在线学习平台的研究结论。6.2研究展望提出未来Python在线学习平台的研究方向和发展建议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值