/****************************************************************************** * The MIT License (MIT) * * Copyright (c) 2018 Baldur Karlsson * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. ******************************************************************************/ #include "d3d_helpers.h" std::string D3DFullscreenQuadVertex = R"EOSHADER( float4 main(uint vid : SV_VertexID) : SV_POSITION { float2 positions[] = { float2(-1.0f, 1.0f), float2( 1.0f, 1.0f), float2(-1.0f, -1.0f), float2( 1.0f, -1.0f), }; return float4(positions[vid], 0, 1); } )EOSHADER"; std::string D3DDefaultVertex = R"EOSHADER( struct vertin { float3 pos : POSITION; float4 col : COLOR0; float2 uv : TEXCOORD0; }; struct v2f { float4 pos : SV_POSITION; float4 col : COLOR0; float2 uv : TEXCOORD0; }; v2f main(vertin IN, uint vid : SV_VertexID) { v2f OUT = (v2f)0; OUT.pos = float4(IN.pos.xyz, 1); OUT.col = IN.col; OUT.uv = IN.uv; return OUT; } )EOSHADER"; std::string D3DDefaultPixel = R"EOSHADER( struct v2f { float4 pos : SV_POSITION; float4 col : COLOR0; float2 uv : TEXCOORD0; }; float4 main(v2f IN) : SV_Target0 { return IN.col; } )EOSHADER";