Files
filament/shaders/src/common_getters.fs
Mathias Agopian e483699fba pack booleans together in PerRenderableUib
This frees two uint32 + 30 bits.
2021-07-30 18:54:32 -07:00

80 lines
1.8 KiB
GLSL

//------------------------------------------------------------------------------
// Uniforms access
//------------------------------------------------------------------------------
#define FILAMENT_OBJECT_SKINNING_ENABLED_BIT 0x1u
#define FILAMENT_OBJECT_MORPHING_ENABLED_BIT 0x2u
#define FILAMENT_OBJECT_CONTACT_SHADOWS_BIT 0x4u
/** @public-api */
highp mat4 getViewFromWorldMatrix() {
return frameUniforms.viewFromWorldMatrix;
}
/** @public-api */
highp mat4 getWorldFromViewMatrix() {
return frameUniforms.worldFromViewMatrix;
}
/** @public-api */
highp mat4 getClipFromViewMatrix() {
return frameUniforms.clipFromViewMatrix;
}
/** @public-api */
highp mat4 getViewFromClipMatrix() {
return frameUniforms.viewFromClipMatrix;
}
/** @public-api */
highp mat4 getClipFromWorldMatrix() {
return frameUniforms.clipFromWorldMatrix;
}
/** @public-api */
highp mat4 getWorldFromClipMatrix() {
return frameUniforms.worldFromClipMatrix;
}
/** @public-api */
highp vec4 getResolution() {
return frameUniforms.resolution;
}
/** @public-api */
highp vec3 getWorldCameraPosition() {
return frameUniforms.cameraPosition;
}
/** @public-api */
highp vec3 getWorldOffset() {
return frameUniforms.worldOffset;
}
/** @public-api */
float getTime() {
return frameUniforms.time;
}
/** @public-api */
highp vec4 getUserTime() {
return frameUniforms.userTime;
}
/** @public-api **/
highp float getUserTimeMod(float m) {
return mod(mod(frameUniforms.userTime.x, m) + mod(frameUniforms.userTime.y, m), m);
}
/** @public-api */
float getExposure() {
// NOTE: this is a highp uniform only to work around #3602 (qualcomm)
// We are intentionally casting it to mediump here, as per the Materials doc.
return frameUniforms.exposure;
}
/** @public-api */
float getEV100() {
return frameUniforms.ev100;
}