当前位置:  开发笔记 > 编程语言 > 正文

什么是渲染通行证?

如何解决《什么是渲染通行证?》经验,为你挑选了1个好方法。

我目前正在尝试学习使用统一缓冲区和实例渲染。
我知道两者的概念,但是在每个教程中我都读过“ renderpass”或“ draw-call”这个词。
有人可以向我解释编程术语的含义吗?是每次绘制单个对象,绘制网格吗?
是每次执行着色器吗?
那么渲染通道到底是什么?和抽奖电话一样吗?
可能基本上是这个吗?:

Gl_Color(xyz);
gl_uniform("a",1);
gl_uniform("a",1);
gl_uniform("a",1);
//I know this is deprected as balls, but just to help me understand
Gl_Begin(GL_VERTEX_STRIP);
GL_Vertex(xyz);
GL_TEXCOORD(xy);
GL_End();

Nicol Bolas.. 6

“绘图调用”一词的含义恰恰是它所说的:调用表格的gl*Draw*任何OpenGL函数。这些命令将导致顶点被渲染,并启动整个OpenGL渲染管线。

因此,如果您通过一个glDrawElementsInstanced调用绘制5000个实例,那仍然只是一个绘制调用。

术语“渲染通道”更为模糊。最常见的含义是指多遍渲染技术。

在多遍技术中,您多次渲染相同的“对象”,并且每次渲染对象时都要进行单独的计算,并累积到最终值中。具有特定状态集的对象的每次渲染都称为“通过”或“渲染通过”。

请注意,渲染过程不一定是绘制调用。对象可能需要多次绘制调用才能呈现。尽管这通常比进行一次绘制调用要慢,但出于各种原因可能有必要。

像这样的技术通常是前向渲染如何在多个灯光下工作的方式。着色器通常设计为仅处理单个灯光。因此,要在一个对象上渲染多个灯光,您需要渲染该对象多次,将灯光特征更改为影响该对象的下一个灯光。因此,每一遍都代表一盏灯。

随着更强大的硬件和延迟渲染技术的出现,对象上的多遍渲染已过时。尽管延迟渲染的确会多次通过;通常只是在屏幕上方,而不是单个对象。

这只是“渲染通道”的一种定义。根据上下文,您正在查看的教程可能正在谈论其他内容。



1> Nicol Bolas..:

“绘图调用”一词的含义恰恰是它所说的:调用表格的gl*Draw*任何OpenGL函数。这些命令将导致顶点被渲染,并启动整个OpenGL渲染管线。

因此,如果您通过一个glDrawElementsInstanced调用绘制5000个实例,那仍然只是一个绘制调用。

术语“渲染通道”更为模糊。最常见的含义是指多遍渲染技术。

在多遍技术中,您多次渲染相同的“对象”,并且每次渲染对象时都要进行单独的计算,并累积到最终值中。具有特定状态集的对象的每次渲染都称为“通过”或“渲染通过”。

请注意,渲染过程不一定是绘制调用。对象可能需要多次绘制调用才能呈现。尽管这通常比进行一次绘制调用要慢,但出于各种原因可能有必要。

像这样的技术通常是前向渲染如何在多个灯光下工作的方式。着色器通常设计为仅处理单个灯光。因此,要在一个对象上渲染多个灯光,您需要渲染该对象多次,将灯光特征更改为影响该对象的下一个灯光。因此,每一遍都代表一盏灯。

随着更强大的硬件和延迟渲染技术的出现,对象上的多遍渲染已过时。尽管延迟渲染的确会多次通过;通常只是在屏幕上方,而不是单个对象。

这只是“渲染通道”的一种定义。根据上下文,您正在查看的教程可能正在谈论其他内容。

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有