Thoughts on build a library to deal with shader management
glsl form spir-v form
spir-v modules may have many entry points for the same stage
portability
reduce size
protection obfuscation
runtime compiler performance no parsing time
- associate model with shader object
- associate entry point with shader object glShaderBinary glSpecializeShader() glAttachShader glLinkProgram
SPIRV-Tools for validation
Glslang for generate SPIRV
specialized constant
subroutine is not supported depracated feature: textrue2D
glsl has to be use feature from the core profile
program ===> one stage
pipeline ===> combine multiple program to a full-blown working pipeline
each shader object how to "CRUD"
manage pipelines
different object may use different pipeline ,
uniform uniform block for each program
recent pipeline + uniform to the model/mesh
how to group the models to minimize the pipeline switch ?
each frame scene update
can we optimize the scene graph here
each frame scene render
SoGroup and SoSeparator from open inventor