// This file is distributed under a BSD license. See LICENSE.txt for details. vs.2.0 // material 2.0: zfill pass (vertex shader) // flag data layout, constants flags Flags _pad[7] TexFlags[4] TexScale[4] LgtFlags[4] LgtScale[4] SRT1[9] SRT2[5] ColC[4] TexUsed[4] LgtUsed[4] SrcScale[4] SrcScale2[4] LgtType endflags alias mWVP = c0 alias mTex1a = c4 alias mTex1b = c5 alias mTex2a = c6 alias mTex2b = c7 alias tScale = c4 // inputs alias vPos = v0,vUV = v1 dcl_position vPos dcl_texcoord0 vUV // position m4x4 oPos,vPos,mWVP // uv if TexUsed[3][0] if TexFlags[3][12..15] == 1 // scaled mul oT0.xy,vUV,tScale.x elif TexFlags[3][12..15] == 2 // trans1 dp4 oT0.x,vUV,mTex1a dp4 oT0.y,vUV,mTex1b elif TexFlags[3][12..15] == 3 // trans2 dp4 oT0.x,vUV,mTex2a dp4 oT0.y,vUV,mTex2b else // untransformed mov oT0.xy,vUV endif endif