渲染管线流程

article/2025/7/24 11:23:56

应用阶段--->几何阶段---->光栅化阶段---->逐片元操作----->后处理

1,应用阶段:粗粒度剔除,进行渲染设置,准备基本数据,输出到几何阶段。

2,几何阶段:顶点着色器,曲面细分,几何着色器,顶点裁剪,屏幕映射。

3,光栅化阶段:三角形(点/线)设置,三角形(点/线)遍历,片元着色器。

4,逐片元操作:裁剪测试,透明度测试,深度测试,模板测试,混合。

5,后处理。

应用阶段:Application stage

                 3个主要任务(这个阶段以开发者为主导,由CPU来实现。):

                 1,准备好场景数据。如,摄像机位置,视椎体,场景中包含的模型,光源etc。

                  2,粗粒度(Culling)剔除。为了提高渲染性能。

                 3,设置好每个模型的渲染状态。(渲染状态包括但不限于使用texture--diffuse,                                   reflection etc. Bipmap,Shader)

                 这个阶段最重要的输出是渲染所需的几何信息-----渲染图源(Rendering Primitives)

                 

几何阶段:Geometry Stage

                 顶点着色器:计算顶点光照(要计算顶点光照,就需要知道光源的位置,朝向以及摄                      像机的位置和朝向,顶点当前世界的位置。当前顶点位置又要知道顶点在模型空间的                      位置,以及模型本身的PSR)。

                  曲面细分着色器: 需要根据现有的顶点来生产更多的顶点。

                  几何着色器:通过现有图元来做一些几何方面的操作,生成更多的顶点和图元。

                                        例如,对现有的图元所在的平面生成法线。

                  顶点裁剪:裁剪掉屏幕以外的顶点。

                  屏幕映射:把顶点从3D坐标空间转换到2D坐标空间。

光栅化设置:Rasterizer Stage

                       三角形设置(triangle setup):光栅化的第一个流水线阶段。

                      这个阶段会计算光栅化一个三角网格所需的信息。上一个阶段输出的都是三角网格的顶点。即得到的是三角网格每条边的两个端点。如果要得到整个三角网格对像素的覆盖情况,就必须计算每条边上的像素坐标。为了能够计算便捷像素的坐标信息,就需要得到三角形便捷的表示方式。这个计算三角网格标识数据的过程就是三角形设置。

                      三角形遍历(TriangleTraversal):检查每个像素是否被一个三角网格覆盖,如果被覆盖,就会生成一个片元(fragment),这样一个找到哪些像素被三角网格覆盖的过程就是三角形遍历,也被称为扫描变换。

                       这一步的输出就是德奥一个片元序列。但是片元并不是真正意义上的像素。而是包含了很多状态的集合,这些状态用于计算每个像素的最终颜色。这些 状态包括但不限于他的屏幕坐标,深度信息,以及其他从几何阶段输出的顶点信息。如发现,纹理坐标等。

                      片元着色器(Fragment Shader):是另一个非常重要的可编程着色器阶段。

光栅化阶段世界上不会影响屏幕上每个像素的颜色值,而是会产生一些列的数据信息,用来表述一个三角网格是怎样覆盖每个像素的。每个片元负责存储这样的一些列数据。

这个阶段可以王城很多重要的渲染技术。最重要的技术之一的就是纹理采样。为了在片元着色器中进行纹理采样,同在会在顶点着色器阶段输出每个顶点对应的纹理坐标。然后经过光栅化阶段对三角网格的三个顶点对应的纹理坐标进行插值后,就可以得到其覆盖的片元纹理坐标。

逐片元操作:在OpenGL里成为逐片元操作(Per-Fragment Operations)

                      在DirectX里,这个步骤被称为输出合并阶段(Output-Merger)

                      所以,这个步骤就是对通过测试的片元合并的过程。

                     逐片元操作就是通过对像素点做裁剪,透明度,深度,模板等测试后,通过测试的片                       元得以保留下来,没有通过的则丢弃掉。把通过测试的片元颜色进行一个混合操作从                       而得到像素点最终输出的颜色。

逐片元操作完成后,得到一个类似贴图的数据保存在内存里。后处理,就是对这个数据做一些列如模糊,景深,高光等处理。

几何阶段逐片元操作,这整个流程就是GPU渲染管线。

 

 

 

 

 ----------------------------------------

 顶点着色是可编程的。

从顶点着色到投影的步骤,完成了从顶点空间到投影空间的过程。(投影是GPU自动完成)

裁剪:视椎体裁剪---CVV

Vertex Shader,GPU渲染管线第一个阶段,输入来自于CPU。输入进来的每一个顶点,都会调用一次顶点着色器。顶点着色器本身不可以创建或者销毁任何顶点,且无法得到顶点之间的关系。例如,通过顶点着色器,无法得知两个顶点是否属于同一个三角网格。

顶点着色器的主要工作坐标变换追顶点光照

 模型变换,视图变换,投影变换,对应的就是MVP矩阵。unity的顶点着色器中,顶点是会从模型坐标新转换到投影坐标系。

可选步骤

 

可选步骤

 

裁剪不可通过编程来控制,但是可以自定义裁剪来进一步配置。

场景渲染到一个窗口上,窗口的范围从最小串口坐标(x1,y1)到最大的窗口坐标(x2,y2)。

其中x1<x2,y1<y2.由于输入的坐标范围在-1到1.所以这个过程实际是一个缩放的过程

屏幕坐标系(Screen Coordinate)和z坐标一起构成了窗口坐标系(Window Coordinate)。这些值会一起传递到光栅化阶段。

OpenGLDirectX之间的差异

如果得到的图像是倒转的,有可能是因为没有考虑到OpenGL和DirectX之间的差异。


http://chatgpt.dhexx.cn/article/IDGAnuFO.shtml

相关文章

渲染管线入门

渲染管线中一些技术名词大部分是英文直译&#xff0c;光看中文很容易被误导。所以我们必须在了解一个技术的具体作用之后&#xff0c;才能了解它到底是什么。这篇博客我主要翻译自Minh Tri Do Dinh的GPUs - Graphics Processing Units一文。也就是一些论坛里推荐给新手阅读的图…

【OpenGL ES】渲染管线

1 前言 渲染管线是指图形渲染流程&#xff0c;涉及到的概念非常多&#xff0c;主要包含图元、片段、光栅化、空间、变换、裁剪、着色器、片段测试、混合等。渲染管线主体流程如下&#xff1a; 为方便读者理解渲染管线&#xff0c;本文将先介绍顶点数据、图元与片段、空间与变换…

渲染管线----通俗易懂向面试官介绍

本文通过简短的语言解释渲染管线&#xff0c;无论是第一次了解渲染管线&#xff0c;还是回顾&#xff0c;都有帮助。 一、完整渲染流程 在介绍渲染管线之前&#xff0c;先全局视角了解一下整个渲染引擎。 整个渲染分为五个阶段&#xff0c;如图 工具阶段、资产调节阶段、应用程…

学习笔记(一)渲染管线

目录 前言 一些疑问 一、什么是渲染管线&#xff1f; 二、为啥这玩意是个流水线&#xff1f; 1.CPU与GPU 2.CPU和GPU数据交互 3.CPU和GPU并行工作 Step1.应用程序阶段&#xff08;The Application Stage&#xff09; 一、把数据加载到显存中。 二、设置渲染状态。 三…

计算机图形学笔记(一)渲染管线概述

计算机图形学笔记&#xff08;一&#xff09;渲染管线概述 写在前面&#xff1a;因为之前有学习过图形学&#xff0c;博文是对过去知识的拾遗和对学习过程中的总结记录&#xff0c;所以在内容组织上可能不符合逻辑&#xff0c;某些比较熟悉的内容不会体现或简述&#xff1b;在整…

渲染基础-渲染管线(Render-pipeline)

一开始学习计算机图形学的小伙伴们肯定对于渲染管线有一点迷茫&#xff0c;至少当初我就有点迷茫&#xff0c;为了能对后来对计算机图形学感兴趣的萌新小伙伴起到一些帮助&#xff0c;在这里简单讲解一下渲染管线&#xff08;Render-pipeline&#xff09;。 该文章还有很多不足…

如何使用SPSS确定建立的回归模型能用于预测分析?

当需要研究一组随机变量与另一组变量的关系时&#xff0c;通常会运用回归分析。通过回归分析构建数学模型&#xff0c;探究两种或两种以上变量之间是否存在关系&#xff0c;若存在关系还可进一步预测未来的数据。 当自变量有多个而因变量只有一个时&#xff0c;则可构建spss多…

如何使用SPSS判断数据的正态分布

当我们应用统计方法对数据进行分析时&#xff0c;会发现许多计量资料的分析方法&#xff0c;例如常用的T检验、方差分析、相关分析以及线性回归等等&#xff0c;都要求数据服从正态分布或者近似正态分布&#xff0c;但这一前提条件往往被使用者所忽略。因此为了保证数据满足上述…

如何使用SPSS进行判别分析

今天将为大家讲解使用spss进行判别分析的相关步骤。 1&#xff0e;Discriminant Analysis判别分析主对话框 如图 1-1 所示 图 1-1 Discriminant Analysis 主对话框 &#xff08;1&#xff09;选择分类变量及其范围 在主对话框中左面的矩形框中选择表明已知的观测量所属类…

IBM SPSS Statistics定义变量使用介绍

IBM SPSS Statistics是一款强大的数据分析软件&#xff0c;它可以帮助我们解决很多复杂的统计学问题&#xff0c;使用SPSS的第一步就是要学会如何定义变量&#xff0c;下面让我们走进今天的SPSS入门教程。 一、进入变量视图 在定义变量之前&#xff0c;我们需要进入IBM SPSS …

SPSS使用过程中出现的问题整理 包括因子分析 感谢各位大佬们

spss使用方法整理 包括因子分析 一、遇到问题&#xff1a;spss导入excel数据显示:对于当前服务器语言环境而言,文本值过长二、SPSS数据分析-从EXCEL导入三、因子分析在SPSS中的操作过程及结果解读 一、遇到问题&#xff1a;spss导入excel数据显示:对于当前服务器语言环境而言,文…

通过SPSS使用命令语法实现快速删除变量的步骤

当我们面对一个庞大的数据集的时候&#xff0c;我们想要对该数据集进行一些操作&#xff0c;可能会觉得比较繁琐。为了快速精准的实现数据过滤操作&#xff0c; SPSS是自带了语法功能&#xff0c;通过语法即可快速实现复杂操作。今天小编将通过快速删除变量的操作&#xff0c;让…

SPSS入门教程—相关性分析使用方法

IBM SPSS Statistics为用户提供了三种相关性分析的方法&#xff0c;分别是双变量分析、偏相关分析和距离分析&#xff0c;三种相关分析方法各针对不同的数据情况&#xff0c;接下来我们将为大家介绍如何使用SPSS相关性分析中的距离分析。 一、数据简述 距离分析和其他两类相关…

使用IBM SPSS Statistics的新手应该如何入门

一、什么是IBM SPSS Statistics&#xff1f; IBM SPSS Statistics 是一款强大的统计软件平台&#xff0c;它所提供的数据分析功能&#xff0c;可以帮助企业、个人对各类数据进行切实可行的洞察分析&#xff0c;从而获取有效信息。 二、为什么要进行SPSS数据分析&#xff1f; …

【SPSS】包含多元线性回归、聚类分析、判别分析、主成分、相关系数、非参数秩检验的spss使用方法,含有相关例题,可以解决“数学建模”中数据建模的大部分问题

记录《多元统计分析》关于spss软件的使用&#xff0c;本篇教程不涉及具体模型的推导&#xff0c;通过例题来带领大家入门spss软件&#xff0c;学习软件基本的使用&#xff0c;解决常见数模问题。 本篇所有数据都可以在百度网盘上下载&#xff1a; 链接&#xff1a;https://pan.…

关于SPSS软件的使用

最近由于调研的需要&#xff0c;需要使用spss软件&#xff1a;Statistical Product and Service Solutions&#xff0c;“统计产品与服务解决方案”软件 1.首先是定义变量&#xff1a; 选择左下角“变量视图”&#xff0c;我们调查问卷的每一道题都可以作为一个变量&#xff0c…

spss登录本地计算机,SPSS基本使用

1.定义变量 名称不能用$,后面加.,保留字会歧义,不区分大小写 标签是对变量的补充说明 测量 : 名义:代表不同的类别,不能比较大小。如 性别 度量:可以比较大小 如距离、长度 有序:分类变量(大小之间有等级顺序)如:满意,很满意,不满意。。。。 2.SPSS导入数据库文件时,…

spss安装使用

1.下载spss24 百度云链接如下&#xff1a; 64位安装包&#xff1a;https://pan.baidu.com/s/19_nW1eJh5HN8Q_PAEUzfTg 提取码&#xff1a;l5fc 32位安装包&#xff1a;https://pan.baidu.com/s/14wga9CrNnysTImOaO6JW-Q 提取码&#xff1a;ayl5 安装教程下载&#xff…

SPSS使用命令语法之复制与粘贴讲解

在繁杂的数据中&#xff0c;我们常常束手无策&#xff0c;很难精准地完成数据统计和数据分析&#xff0c;但是IBM SPSS Statistics可以很好地协助我们完成这些工作。 IBM SPSS Statistics 作为一个强大的统计软件平台&#xff0c;不仅可以通过用户友好型界面&#xff0c;分析目…

spss使用教程

描述性统计结果 步骤从上到下 分析描述统计描述 制作矩阵散点图 4. 图形 5. 旧对话框 6. 散点图/点图 7. 矩阵散点图 求相关系数和p值