1// --------------------------------------------------------------------------- 2// Project: NintendoWare 3// File: gfx_UserShader0.vsh 4// 5// Copyright (C)2009-2010 Nintendo Co., Ltd. All rights reserved. 6// 7// These coded instructions, statements, and computer programs contain 8// proprietary information of Nintendo of America Inc. and/or Nintendo 9// Company Ltd., and are protected by Federal copyright law. They may 10// not be disclosed to third parties or copied or duplicated in any form, 11// in whole or in part, without the prior written consent of Nintendo. 12// 13// $Revision:$ 14// --------------------------------------------------------------------------- 15 16#include "ShaderConfig.h" 17#include "VertexShader.h" 18 19//#define IS_PROCEDURAL_TEXTURE_ENABLED 20 21//---------------------------------------- 22//! @name ���̓��W�X�^ 23//@{ 24 25#pragma bind_symbol(aPosition.xyz, v0, v0) 26#pragma bind_symbol(aNormal.xyz, v1, v1) 27#pragma bind_symbol(aTangent.xyz, v2, v2) 28#pragma bind_symbol(aColor, v3, v3) 29#pragma bind_symbol(aTexCoord0.xy, v4, v4) 30#pragma bind_symbol(aTexCoord1.xy, v5, v5) 31#pragma bind_symbol(aTexCoord2.xy, v6, v6) 32#pragma bind_symbol(aBoneIndex, v7, v7) 33#pragma bind_symbol(aBoneWeight, v8, v8) 34#pragma bind_symbol(aUserAttribute0.xyz, v9, v9) 35#pragma bind_symbol(aUserAttribute1.xyz, v10, v10) 36#pragma bind_symbol(aUserAttribute2.xyz, v11, v11) 37 38//@} 39 40//---------------------------------------- 41//! @name �R���X�^���g���W�X�^ 42//@{ 43 44#pragma bind_symbol(WrldMtx, c0, c2) 45#pragma bind_symbol(NormMtx, c3, c5) 46#pragma bind_symbol(PosOffs.xyz, c6, c6) 47#pragma bind_symbol(IrScale, c7, c8) 48#pragma bind_symbol(TexcMap.xyz, c10, c10) 49#pragma bind_symbol(TexMtx0, c11, c13) 50#pragma bind_symbol(TexMtx1, c14, c16) 51#pragma bind_symbol(TexMtx2, c17, c18) 52#pragma bind_symbol(TexTran, c19, c19) 53#pragma bind_symbol(MatAmbi, c20, c20) 54#pragma bind_symbol(MatDiff, c21, c21) 55 56//////////////////////////////////////////////////////////////// 57// �������C�g�̃��W�X�^�����[�U�[���W�X�^�ɕς��ė��p���܂��B // 58//////////////////////////////////////////////////////////////// 59#pragma bind_symbol(NDeform, c22, c22) 60 61#pragma bind_symbol(HslSCol, c23, c23) 62#pragma bind_symbol(HslSDir, c24, c24) 63 64///////////////////////////////////////////////////////////////////////////////////////// 65// ���[�U�[���W�X�^�̊J�n�I�t�Z�b�g��O�ɂ��炵���ׂ�c74-c84�͋��W�X�^�ɂȂ�܂��B // 66///////////////////////////////////////////////////////////////////////////////////////// 67#pragma bind_symbol(UnivReg, c25, c73) 68 69//////////////////////////////////// 70// ���[�U�[���W�X�^��lj����܂��B // 71//////////////////////////////////// 72#pragma bind_symbol(ExColor, c74, c74) 73 74// #pragma bind_symbol(reserved, c85, c85) 75#pragma bind_symbol(ProjMtx, c86, c89) 76#pragma bind_symbol(ViewMtx, c90, c92) 77 78#pragma bind_symbol(IsSmoSk, b1, b1) 79#pragma bind_symbol(IsRgdSk, b2, b2) 80#pragma bind_symbol(IsHemiL, b5, b5) 81#pragma bind_symbol(IsHemiO, b6, b6) 82#pragma bind_symbol(IsVertA, b7, b7) 83#pragma bind_symbol(IsBoneW, b8, b8) 84#pragma bind_symbol(UvMap0, b9, b9) 85#pragma bind_symbol(UvMap1, b10, b10) 86#pragma bind_symbol(UvMap2, b11, b11) 87#pragma bind_symbol(IsVertL, b12, b12) 88#pragma bind_symbol(IsTex1, b13, b13) 89#pragma bind_symbol(IsTex2, b14, b14) 90#pragma bind_symbol(IsQuate, b15, b15) 91 92//@} 93 94//---------------------------------------- 95//! @name �������W�X�^ 96//@{ 97 98#pragma bind_symbol(LightCt, i0, i0) 99 100//@} 101 102//---------------------------------------- 103//! @name �o�̓��W�X�^ 104//@{ 105 106#pragma output_map(position, o0) 107#pragma output_map(quaternion, o1) 108#pragma output_map(view, o2) 109#pragma output_map(color, o3) 110#pragma output_map(texture0, o4.xy) 111#pragma output_map(texture0w, o4.z) 112#pragma output_map(texture1, o5.xy) 113#pragma output_map(texture2, o6.xy) 114 115//@} 116 117 118//----------------------------------------------------------------------------- 119// @brief ���C�����ł��B 120//----------------------------------------------------------------------------- 121main: 122 // TODO: �����ɒ��_�ό`������lj�����\��ł��B 123 124 //------------------------------------------ 125 // ���_���W 126 //------------------------------------------ 127 call l_transform_matrix 128 129 //------------------------------------------ 130 // �J���[ 131 //------------------------------------------ 132 call l_calc_color 133 134 //------------------------------------------ 135 // �e�N�X�`�����W�v�Z 136 //------------------------------------------ 137 // �e�N�X�`�����W0 138 call l_calc_texcoord0 139 140 // �e�N�X�`�����W1 141 call l_calc_texcoord1 142 143 // �e�N�X�`�����W2 144 call l_calc_texcoord2 145 146 end 147endmain: 148