Currently in vizard/ShaderTest.* in GLSL versions:
and the Unity ShaderLab/Cg/HLSL version:
which is more widely used but seems to be basically derived from the GLSL ones.
Questions:
- Most pressing: Input: what is the best format to provide the parameters to the shaders, from an OSVR-Core point of view? A struct with matching fields as the uniforms?
- Are these suitable to pull into core in some way or another? (I'm specifically thinking compatibility between OpenGL versions and profiles)
- I don't fully grasp the different centers of projection being used and where they come from - how they are logically derived from the results of the Distortionizer run.
- Performance: Looks like there's an unnecessary
sqrt call (because the result is immediately squared) in the distort function: see glsl version, unity version - no idea if the shader compilers are smart enough to optimize that out or if it can't be removed for some other reason. That just jumped out at me on a skim - not enough shader experience to tell if the rest of htem is sufficiently optimal.
cc @russell-taylor @DuFF14
Currently in
vizard/ShaderTest.*in GLSL versions:and the Unity ShaderLab/Cg/HLSL version:
which is more widely used but seems to be basically derived from the GLSL ones.
Questions:
sqrtcall (because the result is immediately squared) in thedistortfunction: see glsl version, unity version - no idea if the shader compilers are smart enough to optimize that out or if it can't be removed for some other reason. That just jumped out at me on a skim - not enough shader experience to tell if the rest of htem is sufficiently optimal.cc @russell-taylor @DuFF14