什么是渲染通道?
What is a renderpass?
我目前正在尝试学习使用统一缓冲区和实例化渲染。
我知道两者的概念,但在每个教程中我都读到术语 "renderpass" 或 "draw-call" 出现。
有人可以用编程术语向我解释这意味着什么吗?
是不是每次和个别物体,Mesh都画出来了?
是不是每次执行一个shader?
那么渲染通道到底是什么?它与绘制调用相同吗?
基本上是这样吗?:
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();
术语 "Draw call" 的意思就是它所说的:调用任何 OpenGL function of the form gl*Draw*
. These commands cause vertices to be rendered, and kick off the entire OpenGL rendering pipeline.
因此,如果您通过一次 glDrawElementsInstanced
调用绘制 5000 个实例,那仍然只是一次绘制调用。
"render pass" 这个词比较模糊。最常见的含义是指多通道渲染技术。
在多通道技术中,您可以多次渲染相同的 "object",对象的每次渲染都会进行单独的计算,并累积到最终值中。具有特定状态集的对象的每次渲染称为 "pass" 或 "render pass".
请注意,渲染通道不一定 绘制调用。对象可能需要多次绘制调用才能渲染。虽然这通常比进行单个绘制调用要慢,但出于各种原因,这可能是必要的。
像这样的技术通常是前向渲染如何处理多个灯光。着色器通常设计为仅处理单个光。因此,要在一个对象上渲染多个灯光,您需要多次渲染该对象,将灯光特性更改为影响该对象的下一个灯光。因此,每个通道代表一个光。
随着更强大的硬件和延迟渲染技术的出现,对象的多通道渲染已经过时了。尽管延迟渲染本身确实会进行多次传递;它通常只是在屏幕上而不是单个对象上。
这只是 "render pass" 的一个定义。根据上下文,您正在查看的教程可能在谈论其他内容。
我目前正在尝试学习使用统一缓冲区和实例化渲染。
我知道两者的概念,但在每个教程中我都读到术语 "renderpass" 或 "draw-call" 出现。
有人可以用编程术语向我解释这意味着什么吗?
是不是每次和个别物体,Mesh都画出来了?
是不是每次执行一个shader?
那么渲染通道到底是什么?它与绘制调用相同吗?
基本上是这样吗?:
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();
术语 "Draw call" 的意思就是它所说的:调用任何 OpenGL function of the form gl*Draw*
. These commands cause vertices to be rendered, and kick off the entire OpenGL rendering pipeline.
因此,如果您通过一次 glDrawElementsInstanced
调用绘制 5000 个实例,那仍然只是一次绘制调用。
"render pass" 这个词比较模糊。最常见的含义是指多通道渲染技术。
在多通道技术中,您可以多次渲染相同的 "object",对象的每次渲染都会进行单独的计算,并累积到最终值中。具有特定状态集的对象的每次渲染称为 "pass" 或 "render pass".
请注意,渲染通道不一定 绘制调用。对象可能需要多次绘制调用才能渲染。虽然这通常比进行单个绘制调用要慢,但出于各种原因,这可能是必要的。
像这样的技术通常是前向渲染如何处理多个灯光。着色器通常设计为仅处理单个光。因此,要在一个对象上渲染多个灯光,您需要多次渲染该对象,将灯光特性更改为影响该对象的下一个灯光。因此,每个通道代表一个光。
随着更强大的硬件和延迟渲染技术的出现,对象的多通道渲染已经过时了。尽管延迟渲染本身确实会进行多次传递;它通常只是在屏幕上而不是单个对象上。
这只是 "render pass" 的一个定义。根据上下文,您正在查看的教程可能在谈论其他内容。