1// ---------------------------------------------------------------------------
2//  Project:  NintendoWare
3//  File:     gfx_ShadowShader.vsh
4//
5//  Copyright (C)2009-2011 Nintendo/HAL Laboratory, Inc.  All rights reserved.
6//
7//  These coded instructions, statements, and computer programs contain proprietary
8//  information of Nintendo and/or its licensed developers and are protected by
9//  national and international copyright laws. They may not be disclosed to third
10//  parties or copied or duplicated in any form, in whole or in part, without the
11//  prior written consent of Nintendo.
12//
13//  The content herein is highly confidential and should be handled accordingly.
14//
15//  $Revision: $
16// ---------------------------------------------------------------------------
17
18#include "ShaderConfig.h"
19#include "VertexShader.h"
20
21//----------------------------------------
22//! @name ���̓��W�X�^
23//@{
24
25////////////////////////////////
26// ���_�Ɩ@���̂ݗ��p���܂��B //
27////////////////////////////////
28#pragma bind_symbol(aPosition.xyz, v0, v0)
29#pragma bind_symbol(aNormal.xyz, v1, v1)
30
31//@}
32
33//----------------------------------------
34//! @name �R���X�^���g���W�X�^
35//@{
36
37#pragma bind_symbol(WrldMtx, c0, c2)
38#pragma bind_symbol(NormMtx, c3, c5)
39#pragma bind_symbol(PosOffs.xyz, c6, c6)
40#pragma bind_symbol(IrScale, c7, c8)
41#pragma bind_symbol(TexcMap.xyz, c10, c10)
42#pragma bind_symbol(TexMtx0, c11, c13)
43#pragma bind_symbol(TexMtx1, c14, c16)
44#pragma bind_symbol(TexMtx2, c17, c18)
45#pragma bind_symbol(TexTran, c19, c19)
46#pragma bind_symbol(MatAmbi, c20, c20)
47#pragma bind_symbol(MatDiff, c21, c21)
48#pragma bind_symbol(HslGCol, c22, c22)
49#pragma bind_symbol(HslSCol, c23, c23)
50#pragma bind_symbol(HslSDir, c24, c24)
51#pragma bind_symbol(UnivReg, c25, c84)
52// #pragma bind_symbol(reserved, c85, c85)
53#pragma bind_symbol(ProjMtx, c86, c89)
54#pragma bind_symbol(ViewMtx, c90, c92)
55
56#pragma bind_symbol(IsSmoSk, b1, b1)
57#pragma bind_symbol(IsRgdSk, b2, b2)
58#pragma bind_symbol(IsHemiL, b5, b5)
59#pragma bind_symbol(IsHemiO, b6, b6)
60#pragma bind_symbol(IsVertA, b7, b7)
61#pragma bind_symbol(IsBoneW, b8, b8)
62#pragma bind_symbol(TexPos0, b9, b9)
63#pragma bind_symbol(TexPos1, b10, b10)
64#pragma bind_symbol(TexPos2, b11, b11)
65#pragma bind_symbol(IsVertL, b12, b12)
66#pragma bind_symbol(IsTex1,  b13, b13)
67#pragma bind_symbol(IsTex2,  b14, b14)
68#pragma bind_symbol(IsQuate, b15, b15)
69
70//@}
71
72//----------------------------------------
73//! @name �������W�X�^
74//@{
75
76#pragma bind_symbol(LightCt, i0, i0)
77
78//@}
79
80//----------------------------------------
81//! @name �o�̓��W�X�^
82//@{
83
84////////////////////////////////////////////////////////////////////////////////
85// �V���h�E�p�̃W�I���g���V�F�[�_�[�ŗ��p���邽�߂ɕK�����̏����ŏo�͂��܂��B //
86////////////////////////////////////////////////////////////////////////////////
87#pragma output_map(position, o0)
88#pragma output_map(color, o1)
89#pragma output_map(generic, o2)
90
91//@}
92
93
94//-----------------------------------------------------------------------------
95// @brief        ���C���֐��ł��B
96//-----------------------------------------------------------------------------
97main:
98    // TODO: �����ɒ��_�ό`������lj�����\��ł��B
99
100    //------------------------------------------
101    // ���_���W
102    //------------------------------------------
103    call l_transform_matrix
104
105    mov     o1,    nw_material_diffuse._XYZW
106
107    end
108endmain:
109