// --------------------------------------------------------------------------- // Project: NintendoWare // File: gfx_ShadowShader.vsh // // Copyright (C)2009-2011 Nintendo/HAL Laboratory, Inc. All rights reserved. // // These coded instructions, statements, and computer programs contain proprietary // information of Nintendo and/or its licensed developers and are protected by // national and international copyright laws. They may not be disclosed to third // parties or copied or duplicated in any form, in whole or in part, without the // prior written consent of Nintendo. // // The content herein is highly confidential and should be handled accordingly. // // $Revision: $ // --------------------------------------------------------------------------- #include "ShaderConfig.h" #include "VertexShader.h" //---------------------------------------- //! @name 入力レジスタ //@{ //////////////////////////////// // 頂点と法線のみ利用します。 // //////////////////////////////// #pragma bind_symbol(aPosition.xyz, v0, v0) #pragma bind_symbol(aNormal.xyz, v1, v1) //@} //---------------------------------------- //! @name コンスタントレジスタ //@{ #pragma bind_symbol(WrldMtx, c0, c2) #pragma bind_symbol(NormMtx, c3, c5) #pragma bind_symbol(PosOffs.xyz, c6, c6) #pragma bind_symbol(IrScale, c7, c8) #pragma bind_symbol(TexcMap.xyz, c10, c10) #pragma bind_symbol(TexMtx0, c11, c13) #pragma bind_symbol(TexMtx1, c14, c16) #pragma bind_symbol(TexMtx2, c17, c18) #pragma bind_symbol(TexTran, c19, c19) #pragma bind_symbol(MatAmbi, c20, c20) #pragma bind_symbol(MatDiff, c21, c21) #pragma bind_symbol(HslGCol, c22, c22) #pragma bind_symbol(HslSCol, c23, c23) #pragma bind_symbol(HslSDir, c24, c24) #pragma bind_symbol(UnivReg, c25, c84) // #pragma bind_symbol(reserved, c85, c85) #pragma bind_symbol(ProjMtx, c86, c89) #pragma bind_symbol(ViewMtx, c90, c92) #pragma bind_symbol(IsSmoSk, b1, b1) #pragma bind_symbol(IsRgdSk, b2, b2) #pragma bind_symbol(IsHemiL, b5, b5) #pragma bind_symbol(IsHemiO, b6, b6) #pragma bind_symbol(IsVertA, b7, b7) #pragma bind_symbol(IsBoneW, b8, b8) #pragma bind_symbol(TexPos0, b9, b9) #pragma bind_symbol(TexPos1, b10, b10) #pragma bind_symbol(TexPos2, b11, b11) #pragma bind_symbol(IsVertL, b12, b12) #pragma bind_symbol(IsTex1, b13, b13) #pragma bind_symbol(IsTex2, b14, b14) #pragma bind_symbol(IsQuate, b15, b15) //@} //---------------------------------------- //! @name 整数レジスタ //@{ #pragma bind_symbol(LightCt, i0, i0) //@} //---------------------------------------- //! @name 出力レジスタ //@{ //////////////////////////////////////////////////////////////////////////////// // シャドウ用のジオメトリシェーダーで利用するために必ずこの順序で出力します。 // //////////////////////////////////////////////////////////////////////////////// #pragma output_map(position, o0) #pragma output_map(color, o1) #pragma output_map(generic, o2) //@} //----------------------------------------------------------------------------- // @brief メイン関数です。 //----------------------------------------------------------------------------- main: // TODO: ここに頂点変形処理を追加する予定です。 //------------------------------------------ // 頂点座標 //------------------------------------------ call l_transform_matrix mov o1, nw_material_diffuse._XYZW end endmain: