0001: // ---------------------------------------------------------------------------- 0002: // 0003: // sumie.vsh 0004: // 0005: // Copyright (c) 2002 imagire takashi (imagire@gmail.com) All Rights Reserved. 0006: // 0007: // ---------------------------------------------------------------------------- 0008: // 0009: // ; Hand assembled shader 0010: // vs.1.0 0011: // 0012: // mov oPos, v0 0013: // 0014: // add oT0, v7, c20 0015: // add oT1, v7, c21 0016: // add oT2, v7, c22 0017: // add oT3, v7, c23 0018: 0019: 0020: // ---------------------------------------------------------------------------- 0021: // Input 0022: // ---------------------------------------------------------------------------- 0023: struct appdata : application2vertex { 0024: float4 Position; 0025: float2 Texcoord; 0026: }; 0027: 0028: // ---------------------------------------------------------------------------- 0029: // Output 0030: // ---------------------------------------------------------------------------- 0031: #pragma bind vfconn.Position = HPOS; 0032: #pragma bind vfconn.Texcoord0 = TEX0; 0033: #pragma bind vfconn.Texcoord1 = TEX1; 0034: #pragma bind vfconn.Texcoord2 = TEX2; 0035: #pragma bind vfconn.Texcoord3 = TEX3; 0036: 0037: struct vfconn : vertex2fragment { 0038: float4 Position; 0039: float2 Texcoord0; 0040: float2 Texcoord1; 0041: float2 Texcoord2; 0042: float2 Texcoord3; 0043: }; 0044: // ---------------------------------------------------------------------------- 0045: // Vertex Shader Program 0046: // ---------------------------------------------------------------------------- 0047: vfconn main(appdata IN 0048: , uniform float2 const_texcoord0 0049: , uniform float2 const_texcoord1 0050: , uniform float2 const_texcoord2 0051: , uniform float2 const_texcoord3 0052: ) { 0053: vfconn OUT; 0054: 0055: ///////////////////////////////////////////////////////////////////// 0056: // Position 0057: OUT.Position = IN.Position; // Just copy input value 0058: 0059: ///////////////////////////////////////////////////////////////////// 0060: // Texture 0061: OUT.Texcoord0 = IN.Texcoord + const_texcoord0; // Copy constant value 0062: OUT.Texcoord1 = IN.Texcoord + const_texcoord1; // Copy constant value 0063: OUT.Texcoord2 = IN.Texcoord + const_texcoord2; // Copy constant value 0064: OUT.Texcoord3 = IN.Texcoord + const_texcoord3; // Copy constant value 0065: 0066: return OUT; 0067: } 0068: