// --------------------------------------------------------------------------- // Project: NintendoWare // File: gfx_DefaultShader0.vsh // // Copyright (C)2009-2010 Nintendo Co., Ltd. All rights reserved. // // These coded instructions, statements, and computer programs contain // proprietary information of Nintendo of America Inc. and/or Nintendo // Company Ltd., and are protected by Federal copyright law. 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. // // $Revision:$ // --------------------------------------------------------------------------- #include "ShaderConfig.h" #include "VertexShader.h" //#define IS_PROCEDURAL_TEXTURE_ENABLED //---------------------------------------- //! @name 入力レジスタ //@{ #pragma bind_symbol(aPosition.xyz, v0, v0) #pragma bind_symbol(aNormal.xyz, v1, v1) #pragma bind_symbol(aTangent.xyz, v2, v2) #pragma bind_symbol(aColor, v3, v3) #pragma bind_symbol(aTexCoord0.xy, v4, v4) #pragma bind_symbol(aTexCoord1.xy, v5, v5) #pragma bind_symbol(aTexCoord2.xy, v6, v6) #pragma bind_symbol(aBoneIndex, v7, v7) #pragma bind_symbol(aBoneWeight, v8, v8) #pragma bind_symbol(aUserAttribute0.xyz, v9, v9) #pragma bind_symbol(aUserAttribute1.xyz, v10, v10) #pragma bind_symbol(aUserAttribute2.xyz, v11, v11) //@} //---------------------------------------- //! @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(UvMap0, b9, b9) #pragma bind_symbol(UvMap1, b10, b10) #pragma bind_symbol(UvMap2, 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(quaternion, o1) #pragma output_map(view, o2) #pragma output_map(color, o3) #pragma output_map(texture0, o4.xy) #pragma output_map(texture0w, o4.z) #pragma output_map(texture1, o5.xy) #pragma output_map(texture2, o6.xy) //@} //----------------------------------------------------------------------------- // @brief メイン関数です。 //----------------------------------------------------------------------------- main: // TODO: ここに頂点変形処理を追加する予定です。 //------------------------------------------ // 頂点座標 //------------------------------------------ call l_transform_matrix //------------------------------------------ // カラー //------------------------------------------ call l_calc_color //------------------------------------------ // テクスチャ座標計算 //------------------------------------------ // テクスチャ座標0 call l_calc_texcoord0 // テクスチャ座標1 call l_calc_texcoord1 // テクスチャ座標2 call l_calc_texcoord2 end endmain: