render-set - Factor Documentation (original) (raw)
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. |
Notes
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
render
Definition