// AUTOGENERATED COPYRIGHT HEADER START // Copyright (C) 2021-2023 Michael Fabian 'Xaymar' Dirks // Copyright (C) 2023 brighten // AUTOGENERATED COPYRIGHT HEADER END //------------------------------------------------------------------------------ // HLSL/GLSL Support //------------------------------------------------------------------------------ // OBS Studio does not correctly translate all HLSL functionality to GLSL. // log10(x) is HLSL-exclusive and not translated by OBS Shader Parser. #define m_log10(x) (log(x) / log(10.)) //------------------------------------------------------------------------------ // Uniforms //------------------------------------------------------------------------------ // View Projection Matrix uniform float4x4 ViewProj; //------------------------------------------------------------------------------ // Samplers //------------------------------------------------------------------------------ sampler_state BlankSampler { }; sampler_state PointRepeatSampler { Filter = Point; AddressU = Repeat; AddressV = Repeat; }; sampler_state PointClampSampler { Filter = Point; AddressU = Clamp; AddressV = Clamp; }; sampler_state LinearRepeatSampler { Filter = Linear; AddressU = Repeat; AddressV = Repeat; }; sampler_state LinearClampSampler { Filter = Linear; AddressU = Clamp; AddressV = Clamp; }; //------------------------------------------------------------------------------ // Structures //------------------------------------------------------------------------------ struct VertexData { float4 pos : POSITION; float2 uv : TEXCOORD0; }; struct VertexColorData { float4 pos : POSITION; float4 clr : COLOR; float2 uv : TEXCOORD0; }; //------------------------------------------------------------------------------ // Vertex Shaders //------------------------------------------------------------------------------ VertexData DefaultVertexShader(VertexData vtx) { vtx.pos = mul(float4(vtx.pos.xyz, 1.0), ViewProj); return vtx; }; VertexColorData ColorVertexShader(VertexColorData vtx) { vtx.pos = mul(float4(vtx.pos.xyz, 1.0), ViewProj); return vtx; }; //------------------------------------------------------------------------------ // Color Conversion //------------------------------------------------------------------------------ #include "color_conversion_rgb_yuv.effect" #include "color_conversion_rgb_hsv.effect" #include "color_conversion_rgb_hsl.effect"