1// 2//------------------------------------------------------------ 3// Copyright(c) 2009-2010 by Digital Media Professionals Inc. 4// All rights reserved. 5//------------------------------------------------------------ 6// This source code is the confidential and proprietary 7// of Digital Media Professionals Inc. 8//------------------------------------------------------------ 9// 10 11//------------------------------------------ 12// related cmp 13//------------------------------------------ 14#define CMP_MODE_EQ 0 15#define CMP_MODE_NE 1 16#define CMP_MODE_LT 2 17#define CMP_MODE_LE 3 18#define CMP_MODE_GT 4 19#define CMP_MODE_GE 5 20 21//------------------------------------------ 22// related condition 23//------------------------------------------ 24#define COND_MODE_OR 0 25#define COND_MODE_AND 1 26#define COND_MODE_STA0 2 27#define COND_MODE_STA1 3 28 29//------------------------------------------ 30// related status reg 31//------------------------------------------ 32#define STAT0_0 0 33#define STAT0_1 1 34#define STAT1_0 0 35#define STAT1_1 1 36 37// Input registers map 38#define aPosition v0 39#define aColor v1 40 41// Output registers map 42#define vPosition o0 43#define vQuaternion o1 44#define vView o2 45#define vTexCoord o3 46 47// Constant registers map 48#define MATRIX_Proj c0 49#define MATRIX_ModelView c4 50 51#define CONST c95 // 0.0 0.5 1.0 3.0 52 53#define EQ 0 54#define NEQ 1 55#define LESS 2 56#define LEQ 3 57#define GT 4 58#define GEQ 5 59 60// Temporary registers map 61#define TEMP0 r0 62#define TEMP1 r1 63#define TEMP2 r2 64#define TEMP3 r3 65#define TEMP4 r4 66 67#define TEMP_TEX0 r10 68#define TEMP_TEX1 r11 69#define TEMP_TEX2 r12 70#define TEMP_TEX3 r13 71#define TEMP_TANG r13 72#define TEMP_NORM r14 73#define TEMP_VIEW r15 74#define TEMP_POS r12 75 76// Constant registers 77def CONST, 0.0, 0.5, 1.0, 3.0 78 79#pragma bind_symbol(aPosition.xyzw,v0,v0) 80#pragma bind_symbol(aColor.xyz,v1,v1) 81 82#pragma output_map (position, o0) 83#pragma output_map (color, o1) 84 85#pragma bind_symbol(uProjection,c0,c3) 86#pragma bind_symbol(uModelView,c4,c7) 87 88l_position: 89 m4x4 TEMP_VIEW, aPosition, MATRIX_ModelView 90 m4x4 vPosition, TEMP_VIEW, MATRIX_Proj 91 ret 92 nop 93 94main: 95 call l_position 96 mov o1, aColor 97 end 98endmain: 99