1// --------------------------------------------------------------------------- 2// Project: NintendoWare 3// File: gfx_ParticleGShader.gsh 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// �W�I���g���V�F�[�_�w�� 19#pragma gs_assemble_as_geometry_shader 20 21//------------------------------------------ 22// Definitions 23//------------------------------------------ 24 25// �_�~�[�ň���͑������`���� 26#pragma bind_symbol(geometry_input_dummy, v0, v0) 27 28// �ʏ�̃W�I���g���f�[�^���[�h0�ł��邽�� 29// ���_�V�F�[�_���瑗�o���ꂽ�f�[�^�́A���̓��W�X�^��0���珇�ԂɊi�[����� 30#define in_position v0 31#define in_quaternion v1 32#define in_view v2 33#define in_color v3 34#define in_texcoord v4 35#define in_texoffset v5 36#define in_posoffset1 v6 37#define in_posoffset2 v7 38 39#pragma output_map(position, o0) 40#pragma output_map(quaternion, o1) 41#pragma output_map(view, o2) 42#pragma output_map(color, o3) 43#pragma output_map (texture0, o4.xy) 44#pragma output_map (texture1, o5.xy) 45//#pragma output_map (texture2, o6.xy) 46 47#define out_pos o0 48#define out_quat o1 49#define out_view o2 50#define out_col o3 51#define out_tex0 o4 52#define out_tex1 o5 53//#define out_tex2 o6 54 55// ���W�X�^ 56#define TEMP0 r0 57 58main: 59 // ���_�o�́i���ʁj 60 61 // vertex0 62 mov TEMP0, in_position 63 add TEMP0, TEMP0, in_posoffset1 64 mov out_pos, TEMP0 65 66 mov out_quat, in_quaternion 67 mov out_view, in_view 68 mov out_col, in_color 69 70 mov TEMP0, in_texcoord 71 add TEMP0.xy, TEMP0.xy, in_texoffset.xy 72 add TEMP0.xy, TEMP0.xy, in_texoffset.zw 73 mov out_tex0, TEMP0 74 mov out_tex1, TEMP0 75// mov out_tex2, TEMP0 76 77 smf 0, 0, 0 78 vout 79 80 // vertex1 81 mov TEMP0, in_position 82 add TEMP0, TEMP0, -in_posoffset2 83 mov out_pos, TEMP0 84 85 mov out_quat, in_quaternion 86 mov out_view, in_view 87 mov out_col, in_color 88 89 mov TEMP0, in_texcoord 90 add TEMP0.xy, TEMP0.xy, in_texoffset.xy 91 mov out_tex0, TEMP0 92 mov out_tex1, TEMP0 93// mov out_tex2, TEMP0 94 95 smf 0, 0, 1 96 vout 97 98 // vertex2 99 mov TEMP0, in_position 100 add TEMP0, TEMP0, in_posoffset2 101 mov out_pos, TEMP0 102 103 mov out_quat, in_quaternion 104 mov out_view, in_view 105 mov out_col, in_color 106 107 mov TEMP0, in_texcoord 108 add TEMP0.xy, TEMP0.xy, in_texoffset.zw 109 mov out_tex0, TEMP0 110 mov out_tex1, TEMP0 111// mov out_tex2, TEMP0 112 113 smf 0, 1, 2 114 vout 115 116 // vertex3 117 mov TEMP0, in_position 118 add TEMP0, TEMP0, -in_posoffset1 119 mov out_pos, TEMP0 120 121 mov out_quat, in_quaternion 122 mov out_view, in_view 123 mov out_col, in_color 124 125 mov out_tex0, in_texcoord 126 mov out_tex1, in_texcoord 127// mov out_tex2, in_texcoord 128 129 smf 1, 1, 0 130 vout 131 132 end 133 134endmain: 135