Canvas Renderer

Canvas Renderer

202k Downloads

Feature: Pipeline-controlled GLSL version or OpenGL feature management

spiralhalo opened this issue ยท 0 comments

commented

Actively manage the required GLSL/OpenGL version used by the pipeline and restrict arbitrary #version directive in post shaders for a more robust system requirement management. The ideas proposed are:

  • Pipeline can request a specific GLSL/OpenGL version,
  • Canvas detects the system's supported OpenGL version and hides or disable unsupported pipelines in the form of log message or a GUI element,
  • #version header is provided by Canvas (or Frex) according to the requested GLSL version. Optionally, detect and suppress existing #version directive.

Note that at the moment there isn't any presented use case for this except for compute shaders.

  • Alternatively Canvas's pipeline API can provide a list of optional "extended features" such as compute shaders which pipelines can request and Canvas infers the required GLSL version automatically (the rest of the points still stand).