GPU-accelerated rendering » Rendering

Prev:render ( render-set -- )


Class description
A render-set tuple describes a GPU rendering job.
The primitive-mode slot determines what kind of primitives should be rendered, and how they should be assembled.
The vertex-array slot supplies the shader program and vertex data to be rendered.
The uniforms slot contains a uniform-tuple with values for the shader program's uniform parameters.
The indexes slot contains one of the vertex-indexes types and selects elements from the vertex array to be rendered.
The instances slot, if not f, instructs the GPU to render several instances of the same set of vertexes. Instancing requires OpenGL 3.1 or one of the GL_EXT_draw_instanced or GL_ARB_draw_instanced extensions.
The framebuffer slot determines the target for the rendering output. Either the system-framebuffer or a user-created framebuffer object can be specified. f can also be specified to disable rasterization and only run the vertex transformation rendering stage.
The output-attachments slot specifies which of the framebuffer's color-attachment-refs to write the fragment shader's color output to. If the shader uses gl_FragColor or gl_FragData[n] to write its output, then output-attachments should be an array of color-attachment-refs, and the output to color attachment binding is determined positionally. If the shader uses named output values, then output-attachments should be a list of string/color-attachment-ref pairs, mapping output names to color attachments.
The transform-feedback-output slot specifies a target for transform feedback output from the vertex shader: either an entire buffer, a buffer-range subset, or a buffer-ptr offset into the buffer. If f, no transform feedback output is collected. The shader program associated with vertex-array must have a transform feedback output format specified.

User-created framebuffers require OpenGL 3.0 or one of the GL_EXT_framebuffer_object or GL_ARB_framebuffer_object extensions. Disabling rasterization requires OpenGL 3.0 or the GL_EXT_transform_feedback extension. Named output-attachment values are available in GLSL 1.30 or later, and GLSL 1.20 and earlier using the GL_EXT_gpu_shader4 extension. Transform feedback requires OpenGL 3.0 or one of the GL_EXT_transform_feedback or GL_ARB_transform_feedback extensions.

See also