66 lines
1.5 KiB
GLSL
66 lines
1.5 KiB
GLSL
// Simple UsdPreviewSurface fragment shader.
|
|
|
|
// TODO
|
|
// - [ ] normal mapping
|
|
// - [ ] displacement mapping(mesh shader?)
|
|
|
|
in vec2 interpolated_uv0;
|
|
|
|
uniform vec3 baseColor;
|
|
uniform sampler2D baseColorTex;
|
|
uniform mat3 baseColorTexTransform;
|
|
|
|
uniform vec3 emissiveColor;
|
|
uniform sampler2D emissiveColorTex;
|
|
uniform mat3 emissiveColorTexTransform;
|
|
|
|
uniform vec3 specularColor;
|
|
uniform sampler2D specularColorTex;
|
|
uniform mat3 specularColorTexTransform;
|
|
|
|
uniform vec3 metallic;
|
|
uniform sampler2D metallicTex;
|
|
uniform mat3 metallicTexTransform;
|
|
|
|
uniform vec3 roughness;
|
|
uniform sampler2D roughnessTex;
|
|
uniform mat3 roughnessTexTransform;
|
|
|
|
uniform vec3 clearcoat;
|
|
uniform sampler2D clearcoatTex;
|
|
uniform mat3 clearcoatTexTransform;
|
|
|
|
uniform vec3 clearcoatRoughness;
|
|
uniform sampler2D clearcoatRoughnessTex;
|
|
uniform mat3 clearcoatRoughnessTexTransform;
|
|
|
|
uniform vec3 ior;
|
|
uniform sampler2D iorTex;
|
|
uniform mat3 iorTexTransform;
|
|
|
|
uniform float occlusion;
|
|
uniform sampler2D occlusionTex;
|
|
uniform mat3 occlusionTexTransform;
|
|
|
|
uniform float opacity;
|
|
uniform sampler2D opacityTex;
|
|
uniform mat3 opacityTexTransform;
|
|
|
|
uniform float opacityThreshold;
|
|
uniform sampler2D opacityThresholdTex;
|
|
uniform mat3 opacityThresholdTexTransform;
|
|
|
|
uniform int useSpecularWorkflow;
|
|
|
|
out vec4 output_color;
|
|
|
|
void main()
|
|
{
|
|
vec3 uv0 = vec3(interpolated_uv0, 1.0);
|
|
vec4 baseColorResult = texture(baseColorTex, (baseColorTexTransform * uv0).xy) + vec4(baseColor, 1.0);
|
|
|
|
output_color = baseColorResult;
|
|
}
|
|
|
|
|