// --------------------------------------------------------------------------- // // @file TwDirect3D11.hlsl // @author Philippe Decaudin // @brief AntTweakBar shaders and techniques for Direct3D11 support // @license This file is part of the AntTweakBar library. // For conditions of distribution and use, see License.txt // // --------------------------------------------------------------------------- float4 g_Offset : register(c0) = 0; float4 g_CstColor : register(c1) = 1; // Shaders for lines and rectangles struct LineRectPSInput { float4 Pos : SV_POSITION; float4 Color : COLOR0; }; LineRectPSInput LineRectVS(float4 pos : POSITION, float4 color : COLOR) { LineRectPSInput ps; ps.Pos = pos + g_Offset; ps.Color = color; return ps; } LineRectPSInput LineRectCstColorVS(float4 pos : POSITION, float4 color : COLOR) { LineRectPSInput ps; ps.Pos = pos + g_Offset; ps.Color = g_CstColor; return ps; } float4 LineRectPS(LineRectPSInput input) : SV_TARGET { return input.Color; } // Shaders for text Texture2D g_Font : register(t0); SamplerState g_FontSampler : register(s0) { Filter = MIN_MAG_MIP_POINT; AddressU = BORDER; AddressV = BORDER; BorderColor = float4(0, 0, 0, 0); }; struct TextPSInput { float4 Pos : SV_POSITION; float4 Color : COLOR0; float2 Tex : TEXCOORD0; }; TextPSInput TextVS(float4 pos : POSITION, float4 color : COLOR, float2 tex : TEXCOORD0) { TextPSInput ps; ps.Pos = pos + g_Offset; ps.Color = color; ps.Tex = tex; return ps; } TextPSInput TextCstColorVS(float4 pos : POSITION, float4 color : COLOR, float2 tex : TEXCOORD0) { TextPSInput ps; ps.Pos = pos + g_Offset; ps.Color = g_CstColor; ps.Tex = tex; return ps; } float4 TextPS(TextPSInput input) : SV_TARGET { return g_Font.Sample(g_FontSampler, input.Tex) * input.Color; }