
VU0$B9TNs1i;;%i%$%V%i%j(B
======================


 1 $B%i%$%V%i%j35MW(B
------------------

    libvu0$B$O!"(BVU0$B%^%/%mL?Na$rMQ$$$F%Y%/%H%k1i;;!&%^%H%j%C%/%91i;;$r9T$&%i(B
    $B%$%V%i%j$G$9!#(B
    float$B$N(B4$B<!85%Y%/%H%k$r07$&4X?t$H$7$F!"2C8:;;!"%9%+%i!<>h=|;;!"@55,2=!"(B
    $BFbA^!"30@Q!"Fb@Q!"$^$?J#<L$d8GDj>.?t(B4$B<!85%Y%/%H%k$H$NAj8_JQ49$J$I$,MQ(B
    $B0U$5$l$F$$$^$9!#$^$?!"(Bfloat$B$N#4!_#49TNs$r07$&4X?t$H$7$F!"@Q!"%Y%/%H%k(B
    $B@Q!"E>CV9TNs!"5U9TNs!"J?9T0\F0!"2sE>$J$I$N0lHLE*$J9TNs1i;;$K2C$($F!"(B
    $B%/%j%C%T%s%0!"F);kJQ49!"$^$?!"%o!<%k%I%S%e!<9TNs!?%N!<%^%k%i%$%H9TNs(B
    $B!?%i%$%H%+%i!<9TNs!?%9%/%j!<%s%S%e!<9TNs!?%I%m%C%W%7%c%I%&9TNs$rF@$k(B
    $B$J$I!"(B3D$B%0%i%U%#%/%9=hM}$KFCM-$N=hM}$,MQ0U$5$l$F$$$^$9!#(B
    $B$3$N$[$+!"(BVU0 / VIF0$B$r=i4|2=$9$k4X?t$,$"$j$^$9!#(B

  1.1 $B0z?t$N%O%s%I%j%s%0(B

    libvu0$B$N3F4X?t$O!"0z?t$N8D?t$d7?$O$=$l$>$l=hM}FbMF$K1~$8$F0[$J$j$^$9(B
    $B$,!"4X?t$N7?$O(Bvoid$B$G1i;;7k2L$OBh#10z?t!J%Y%/%H%k$^$?$O%^%H%j%C%/%9!K(B
    $B$KJV$9$h$&$K!"0lIt$NNc30$r=|$$$F$[$\E}0l$5$l$F$$$^$9!#(B
    VU0$B$O4pK\E*$K(B128bit$B!J(Bfloat$B!_(B4$B!K$rC10L$H$7$F1i;;$r9T$$$^$9$N$G!"3F4X?t(B
    $B$N0z?t$b4pK\E*$K(B128bit$BC10L$H$J$C$F$$$^$9!#0z?t$N%Y%/%H%k$d%^%H%j%C%/(B
    $B%9$O(B128bit$B%"%i%$%a%s%H$K9g$;$?>uBV$K$7$F8F$S=P$9I,MW$,$"$j$^$9!#(B

  1.2 $B3F4X?t$,;HMQ$9$k%l%8%9%?(B

    libvu0$B!J(BRelease 1.2$B0J9_!K$N3F4X?t$,(BVU0$B$N(BVF$B%l%8%9%?$N$&$A$I$l$r;HMQ$9(B
    $B$k$+!"0J2<$K$^$H$a$F<($7$^$9!#<!$NI=$G!{0u$N%l%8%9%?$O!"3:Ev$9$k4X?t(B
    $B$r8F$S=P$9$3$H$K$h$C$FFbMF$,GK2u$5$l$^$9$N$G!"I,MW$J$i$P8F$S=P$7%W%m(B
    $B%0%i%`B&$GB`Hr$7$F$/$@$5$$!#!]0u$N%l%8%9%?$O;HMQ$5$l$J$$$N$G!"B`Hr$N(B
    $BI,MW$O$"$j$^$;$s!#(B
    
    +-------------------+----+----+----+----+----+----+----+----+----+
    |$B4X?t(B                VF04 VF05 VF06 VF07 VF08 VF09 VF10 VF11 VF12|
    +-------------------+----+----+----+----+----+----+----+----+----+
    |add_vector           $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |sub_vector           $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |mul_vector           $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |scale_vector         $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |scale_vector_xyz     $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |div_vector           $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |div_vector_xyz       $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |normalize            $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |inter_vector         $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |inter_vector_xyz     $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |outer_product        $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |inner_product        $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |copy_vector          $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |copy_vector_xyz      $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |clamp_vector         $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |ftoi4_vector         $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |ftoi0_vector         $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |itof4_vector         $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |itof0_vector         $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |apply_matrix         $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |mul_matrix           $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |transpose_matrix     $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |inverse_matrix       $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |trans_matrix         $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |copy_matrix          $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |unit_matrix          $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |rot_matrix_z         $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |rot_matrix_y         $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |rot_matrix_x         $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |rot_matrix           $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |rot_trans_pers       $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B |
    |rot_trans_pers_n     $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B |
    |camera_matrix        $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |normal_light_matrix  $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |light_color_matrix   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |view_screen_matrix   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |drop_shadow_matrix   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |clip_screen          $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B   $B!](B   $B!](B |
    |clip_screen3         $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!](B   $B!](B   $B!](B |
    |clip_all             $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B   $B!{(B |
    +-------------------+----+----+----+----+----+----+----+----+----+
    $B"(4X?tL>$N@hF,$KIU$/!V(Bps2_vu0$B!W$O>JN,$7$F$"$j$^$9!#(B


 1 $B9=B$BN(B
==========

=========================================================================
ps2_vu0_fmatrix                                                  [$B9=B$BN(B]
=========================================================================
                                                          4x4$B%^%H%j%C%/%9(B
[$B9=B$(B]
        typedef ps2_vu0_fvector ps2_vu0_fmatrix[4];
        
[$B2r@b(B]
        float$B!_(B4$B!_(B4$BMWAG$N%^%H%j%C%/%9$G$9!#9TNsMWAG$H$7$F$NJB$S$O<!$N$h$&(B
        $B$K$J$C$F$$$^$9!#(B
        
        |m[0][0] m[1][0] m[2][0] m[3][0]|
        |m[0][1] m[1][1] m[2][1] m[3][1]|
        |m[0][2] m[1][2] m[2][2] m[3][2]|
        |m[0][3] m[1][3] m[2][3] m[3][3]|
        
=========================================================================
ps2_vu0_fvector                                                  [$B9=B$BN(B]
=========================================================================
                                                4$B<!85%Y%/%H%k!JIbF0>.?t!K(B
[$B9=B$(B]
        typedef float ps2_vu0_fvector[4];
        
[$B2r@b(B]
        float$B!_(B4$BMWAG$N%Y%/%H%k$G$9!#(BEE$B$O%j%H%k%(%s%G%#%"%s$G$"$j!"(Bps2_vu0_f
        vector$B$NG[NsMWAG$H%Y%/%H%kMWAG(B($B%U%#!<%k%I(B)$B$H$NBP1~$O<!$N$h$&$K$J(B
        $B$C$F$$$^$9!#(B
        
        +--------+----------+
        |$BG[NsMWAG(B $B%U%#!<%k%I(B|
        +--------+----------+
        |a[0]     x         |
        |a[1]     y         |
        |a[2]     z         |
        |a[3]     w         |
        +--------+----------+
        
=========================================================================
ps2_vu0_ivector                                                  [$B9=B$BN(B]
=========================================================================
                                                    4$B<!85%Y%/%H%k!J@0?t!K(B
[$B9=B$(B]
        typedef int ps2_vu0_ivector[4];
        
[$B2r@b(B]
        int$B!_(B4$BMWAG$N%Y%/%H%k$G$9!#(BEE$B$O%j%H%k%(%s%G%#%"%s$G$"$j!"(Bps2_vu0_ive
        ctor$B$NG[NsMWAG$H%Y%/%H%kMWAG(B($B%U%#!<%k%I(B)$B$H$NBP1~$O<!$N$h$&$K$J$C(B
        $B$F$$$^$9!#(B
        
        +--------+----------+
        |$BG[NsMWAG(B $B%U%#!<%k%I(B|
        +--------+----------+
        |a[0]     x         |
        |a[1]     y         |
        |a[2]     z         |
        |a[3]     w         |
        +--------+----------+
        
        ps2_vu0_ivector$B$O!">.?tIt(B0bit$B$N8GDj>.?tE@?t$^$?$O>.?tIt(B4bit$B$N8GDj>.(B
        $B?tE@?t$H!"$U$?$D$N?tCM%U%)!<%^%C%H$G;HMQ$9$k$3$H$,$G$-$^$9!#(B
        
        +----------------+------------------------+
        |$B%U%)!<%^%C%H(B     $B;EMM(B                    |
        +----------------+------------------------+
        |$B8GDj>.?tE@(B(32.0) $B@0?tIt(B:32bit,$B>.?tIt(B:0bit|
        |$B8GDj>.?tE@(B(28.4) $B@0?tIt(B:24bit,$B>.?tIt(B:4bit|
        +----------------+------------------------+
        

 2 $B4X?t(B
========

=========================================================================
ps2_vu0_add_vector                                                 [$B4X?t(B]
=========================================================================
                                                     4$BJBNs2C;;(B (ADD/xyzw)
[$B7A<0(B]
        void ps2_vu0_add_vector(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	ps2_vu0_fvector v2
        )
        
[$B0z?t(B]
        v0	$B=PNO(B:$B%Y%/%H%k(B
        v1,v2	$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$N3FMWAG$H%Y%/%H%k(Bv2$B$N3FMWAG$r3F!92C;;$7!"7k2L$r(Bv0$B$KJV(B
        $B$7$^$9!#(B
        
=========================================================================
ps2_vu0_apply_matrix                                               [$B4X?t(B]
=========================================================================
                                             $B%Y%/%H%k$H%^%H%j%C%/%9$N>h;;(B
[$B7A<0(B]
        void ps2_vu0_apply_matrix(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fvector v1
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        m0		$BF~NO(B:$B%^%H%j%C%/%9(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%^%H%j%C%/%9(Bm0$B$K%Y%/%H%k(Bv1$B$r1&$+$i>h;;$7!"7k2L$r%Y%/%H%k(Bv0$B$KJV$7(B
        $B$^$9!#<0$GI=8=$9$k$H<!$N$H$*$j$G$9!#(B
        v0=m0*v1
        
=========================================================================
ps2_vu0_camera_matrix                                              [$B4X?t(B]
=========================================================================
                                                 $B%o!<%k%I%S%e!<9TNs$N@8@.(B
[$B7A<0(B]
        void ps2_vu0_camera_matrix(
        	ps2_vu0_fmatrix m,
        	ps2_vu0_fvector p,
        	ps2_vu0_fvector zd,
        	ps2_vu0_fvector yd
        );
        
[$B0z?t(B]
        m		$B=PNO(B:$B%^%H%j%C%/%9(B($B%S%e!<%o!<%k%I:BI8(B)
        p		$BF~NO(B:$B%Y%/%H%k(B($B;kE@(B)
        zd		$BF~NO(B:$B%Y%/%H%k(B($B;k@~(B)
        yd		$BF~NO(B:$B%Y%/%H%k(B($B?bD>J}8~(B)
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B;kE@(Bp$B$r(B(0,0,0)$B$K!";k@~(Bzd$B$r(B(0,0,1)$B$K!"?bD>J}8~(Byd$B$r(B(0,1,0)$B$K$HJQ49(B
        $B$9$k$h$&$J9TNs$r5a$a!"(Bm$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_clamp_vector                                               [$B4X?t(B]
=========================================================================
                                                       $B%Y%/%H%k$N%/%i%s%W(B
[$B7A<0(B]
        void ps2_vu0_clamp_vector(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	float min,
        	float max
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        min		$BF~NO(B:$B:G>.CM(B
        max		$BF~NO(B:$B:GBgCM(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$N3FMWAG$r!":G>.CM(Bmin$B!":GBgCM(Bmax$B$G%/%i%s%W$7!"7k2L$r%Y(B
        $B%/%H%k(Bv0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_clip_all                                                   [$B4X?t(B]
=========================================================================
                                           $BI=<(HO0O$K$h$k%/%j%C%T%s%08!::(B
[$B7A<0(B]
        int ps2_vu0_clip_all(
        	ps2_vu0_fvector minv,
        	ps2_vu0_fvector maxv,
        	ps2_vu0_fmatrix ms,
        	ps2_vu0_fvector *vm,
        	int n
        );
        
[$B0z?t(B]
        minv		$BF~NO(B:$BI=<(HO0O$N:G>.CM(B
        maxv		$BF~NO(B:$BI=<(HO0O$N:GBgCM(B
        ms		$BF~NO(B:$B%^%H%j%C%/%9!J%b%G%k!]%9%/%j!<%s!K(B
        vm		$BF~NO(B:$BD:E@%Y%/%H%k$N%]%$%s%?(B
        n		$BF~NO(B:$BD:E@?t(B
        
[$BJV$jCM(B]
        $B$9$Y$F$ND:E@$,I=<(HO0O$KF~$C$F$$$J$$$H$-$O(B1$B$rJV$7$^$9!#(B
        
[$B2r@b(B]
        vm$B$H(Bn$B$G;XDj$5$l$k(Bn$B8D$ND:E@$,$9$Y$FI=<(HO0O$KF~$C$F$$$J$$$+$I$&$+(B
        $B$rD4$Y$^$9!#(B
        
=========================================================================
ps2_vu0_clip_screen                                                [$B4X?t(B]
=========================================================================
                                         GS$BIA2hHO0O$K$h$k%/%j%C%T%s%08!::(B
[$B7A<0(B]
        int ps2_vu0_clip_screen(
        	ps2_vu0_fvector v0
        )
        
[$B0z?t(B]
        v0		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $BIA2hHO0O$KF~$C$F$$$k$H$-$O(B0$B$rJV$7$^$9!#(B
        
[$B2r@b(B]
        $BD:E@%Y%/%H%k(Bv0$B$,(BGS$B$NIA2hHO0O$KF~$C$F$$$k$+$I$&$+$rD4$Y$^$9!#(B
        
=========================================================================
ps2_vu0_clip_screen3                                               [$B4X?t(B]
=========================================================================
                                         GS$BIA2hHO0O$K$h$k%/%j%C%T%s%08!::(B
[$B7A<0(B]
        int ps2_vu0_clip_screen3(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	ps2_vu0_fvector v2
        )
        
[$B0z?t(B]
        v0,v1,v2		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$9$Y$F$ND:E@$,IA2hHO0O$KF~$C$F$$$k$H$-$O(B0$B$rJV$7$^$9!#(B
        
[$B2r@b(B]
        $BD:E@%Y%/%H%k(Bv0,v1,v2$B$,$9$Y$F(BGS$B$NIA2hHO0O$KF~$C$F$$$k$+$I$&$+$rD4(B
        $B$Y$^$9!#(B
        
=========================================================================
ps2_vu0_copy_matrix                                                [$B4X?t(B]
=========================================================================
                                                       $B%^%H%j%C%/%9$NJ#<L(B
[$B7A<0(B]
        void ps2_vu0_copy_matrix(
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fmatrix m1
        );
        
[$B0z?t(B]
        m0		$B=PNO(B:$B%^%H%j%C%/%9(B
        m1		$BF~NO(B:$B%^%H%j%C%/%9(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%^%H%j%C%/%9(Bm1$B$r%^%H%j%C%/%9(Bm0$B$K%3%T!<$7$^$9!#(B
        
=========================================================================
ps2_vu0_copy_vector                                                [$B4X?t(B]
=========================================================================
                                                           $B%Y%/%H%k$NJ#<L(B
[$B7A<0(B]
        void ps2_vu0_copy_vector(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1
        );
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$r%Y%/%H%k(Bv0$B$K%3%T!<$7$^$9!#(B
        
=========================================================================
ps2_vu0_copy_vector_xyz                                            [$B4X?t(B]
=========================================================================
                                                           $B%Y%/%H%k$NJ#<L(B
[$B7A<0(B]
        void ps2_vu0_copy_vector_xyz(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1
        );
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$N(Bx,y,z$BMWAG$r%Y%/%H%k(Bv0$B$K%3%T!<$7$^$9!#(B
        $B%Y%/%H%k(Bv0$B$N(Bw$BMWAG$O!"$=$N$^$^%Y%/%H%k(Bv0$B$KJV$9!#(B	
        
=========================================================================
ps2_vu0_div_vector                                                 [$B4X?t(B]
=========================================================================
                                                                     $B=|;;(B
[$B7A<0(B]
        void ps2_vu0_div_vector(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	float q
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        q		$BF~NO(B:$B%9%+%i!<(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$r%9%+%i!<(Bq$B$G=|;;$7!"7k2L$r%Y%/%H%k(Bv0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_div_vector_xyz                                             [$B4X?t(B]
=========================================================================
                                                                     $B=|;;(B
[$B7A<0(B]
        void ps2_vu0_div_vector_xyz(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	float q
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        q		$BF~NO(B:$B%9%+%i!<(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$N(Bx,y,z$BMWAG$r%9%+%i!<(Bq$B$G=|;;$7!"7k2L$r%Y%/%H%k(Bv0$B$KJV$7(B
        $B$^$9!#(B
        $B%Y%/%H%k(Bv0$B$N(Bw$BMWAG$O!"$=$N$^$^%Y%/%H%k(Bv0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_drop_shadow_matrix                                         [$B4X?t(B]
=========================================================================
                                           $B%I%m%C%W%7%c%I%&<M1F9TNs$N@8@.(B
[$B7A<0(B]
        void ps2_vu0_drop_shadow_matrix(
        	ps2_vu0_fmatrix m,
        	ps2_vu0_fvector lp,
        	float a,
        	float b,
        	float c,
        	int mode
        );
        
[$B0z?t(B]
        m		$B=PNO(B:$B%^%H%j%C%/%9(B
        lp		$BF~NO(B:$B%Y%/%H%k(B($B8w8;$N0LCV(B)
        a		$BF~NO(B:$B1F$NEj1FLL(B
        b		$BF~NO(B:$B1F$NEj1FLL(B
        c		$BF~NO(B:$B1F$NEj1FLL(B
        mode		$BF~NO(B:$B8w8;$N<oN`(B
        		0: $BJ?9T8w8;(B
        		1: $BE@8w8;(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        ax+by+cz=1$B$GI=8=$5$l$kJ?LL$K(Blp$B$H(Bmode$B$G;XDj$5$l$k8w8;$+$i$N1F$rEj(B
        $B1F$9$k9TNs$r5a$a!"(Bm$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_ftoi0_vector                                               [$B4X?t(B]
=========================================================================
                                       $BIbF0>.?tE@(B -> $B>.?tIt(B0bit$B8GDj>.?tE@(B
[$B7A<0(B]
        void ps2_vu0_ftoi0_vector(
        	ps2_vu0_ivector v0,
        	ps2_vu0_fvector v1
        );
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $BIbF0>.?tE@%Y%/%H%k(Bv1$B$N3FMWAG$r>.?tIt(B0bit$B$N8GDj>.?tE@$KJQ49$7!"(Bv0
        $B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_ftoi4_vector                                               [$B4X?t(B]
=========================================================================
                                       $BIbF0>.?tE@(B -> $B>.?tIt(B4bit$B8GDj>.?tE@(B
[$B7A<0(B]
        void ps2_vu0_ftoi4_vector(
        	ps2_vu0_ivector v0,
        	ps2_vu0_fvector v1
        );
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $BIbF0>.?tE@%Y%/%H%k(Bv1$B$N3FMWAG$r>.?tIt(B4bit$B$N8GDj>.?tE@?t$KJQ49$7!"(Bv
        0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_inner_product                                              [$B4X?t(B]
=========================================================================
                                                           $B%Y%/%H%k$NFb@Q(B
[$B7A<0(B]
        float ps2_vu0_inner_product(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1
        )
        
[$B0z?t(B]
        v0,v1		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $BFb@Q(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv0,v1$B$NFb@Q$r5a$a$^$9!#(B
        
=========================================================================
ps2_vu0_inter_vector                                               [$B4X?t(B]
=========================================================================
                                                       $BFbA^%Y%/%H%k$N@8@.(B
[$B7A<0(B]
        void ps2_vu0_inter_vector(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	ps2_vu0_fvector v2,
        	float t
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1,v2		$BF~NO(B:$B%Y%/%H%k(B
        t		$BF~NO(B:$BFbA^%Q%i%a!<%?(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1,v2$B$*$h$S%Q%i%a!<%?(Bt$B$+$iFbA^%Y%/%H%k$r5a$a!"(Bv0$B$KJV$7$^(B
        $B$9!#(B
        $B<0$GI=8=$9$k$H<!$N$H$*$j$G$9!#(B
        v0 = v1*t + v2*(1-t)
        
=========================================================================
ps2_vu0_inter_vector_xyz                                           [$B4X?t(B]
=========================================================================
                                                       $BFbA^%Y%/%H%k$N@8@.(B
[$B7A<0(B]
        void ps2_vu0_inter_vector_xyz(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	ps2_vu0_fvector v2,
        	float t
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1,v2		$BF~NO(B:$B%Y%/%H%k(B
        t		$BF~NO(B:$BFbA^%Q%i%a!<%?(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1,v2$B$*$h$S%Q%i%a!<%?(Bt$B$+$iFbA^%Y%/%H%k$r5a$a!"(Bv0$B$KJV$7$^(B
        $B$9!#(B
        $B<0$GI=8=$9$k$H<!$N$H$*$j$G$9!#(B
        v0 = v1*t + v2*(1-t)
        $B$?$@$7%Y%/%H%k(Bv0$B$N(Bw$BMWAG$O!"$=$N$^$^%Y%/%H%k(Bv0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_inverse_matrix                                             [$B4X?t(B]
=========================================================================
                                                             $B5U9TNs$N@8@.(B
[$B7A<0(B]
        void ps2_vu0_inverse_matrix(
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fmatrix m1
        );
        
[$B0z?t(B]
        m0		$B=PNO(B:$B%^%H%j%C%/%9(B
        m1		$BF~NO(B:$B%^%H%j%C%/%9!J@5B'9TNs!K(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%^%H%j%C%/%9(Bm1$B$N5U9TNs$r5a$a$F!"%^%H%j%C%/%9(Bm0$B$KJV$7$^$9!#(B
        m1$B$O@5B'9TNs(B($B2sE>$^$?$OJB9T0\F0$N%^%H%j%C%/%9(B)$B$G$J$1$l$P$J$j$^$;(B
        $B$s!#(B
        
=========================================================================
ps2_vu0_itof0_vector                                               [$B4X?t(B]
=========================================================================
                                       $B>.?tIt(B0bit$B8GDj>.?tE@(B -> $BIbF0>.?tE@(B
[$B7A<0(B]
        void ps2_vu0_itof0_vector(
        	ps2_vu0_fvector v0,
        	ps2_vu0_ivector v1
        );
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B>.?tIt(B0bit$B$N8GDj>.?tE@%Y%/%H%k(Bv1$B$N3FMWAG$rIbF0>.?tE@$KJQ49$7!"(Bv0
        $B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_itof4_vector                                               [$B4X?t(B]
=========================================================================
                                       $B>.?tIt(B4bit$B8GDj>.?tE@(B -> $BIbF0>.?tE@(B
[$B7A<0(B]
        void ps2_vu0_itof4_vector(
        	ps2_vu0_fvector v0,
        	ps2_vu0_ivector v1
        );
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B>.?tIt(B4bit$B$N8GDj>.?tE@%Y%/%H%k(Bv1$B$N3FMWAG$rIbF0>.?tE@$KJQ49$7!"(Bv0
        $B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_light_color_matrix                                         [$B4X?t(B]
=========================================================================
                                                   $B%i%$%H%+%i!<9TNs$N@8@.(B
[$B7A<0(B]
        void ps2_vu0_light_color_matrix(
        	ps2_vu0_fmatrix m,
        	ps2_vu0_fvector c0,
        	ps2_vu0_fvector c1,
        	ps2_vu0_fvector c2,
        	ps2_vu0_fvector a
        );
        
[$B0z?t(B]
        m		$B=PNO(B:$B%^%H%j%C%/%9(B
        c0		$BF~NO(B:$B%Y%/%H%k(B($B8w8;?'(B0)
        c1		$BF~NO(B:$B%Y%/%H%k(B($B8w8;?'(B1)
        c2		$BF~NO(B:$B%Y%/%H%k(B($B8w8;?'(B2)
        a		$BF~NO(B:$B%Y%/%H%k(B($B%"%s%S%(%s%H(B)
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B8w8;?'(Bc0,c1,c2$B$H4D6-?'(Ba$B$+$i%i%$%H%+%i!<9TNs$r5a$a!"(Bm$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_mul_matrix                                                 [$B4X?t(B]
=========================================================================
                                                         $B%^%H%j%C%/%9$N@Q(B
[$B7A<0(B]
        void ps2_vu0_mul_matrix(
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fmatrix m1,
        	ps2_vu0_fmatrix m2
        )
        
[$B0z?t(B]
        m0		$B=PNO(B:$B%^%H%j%C%/%9(B
        m1,m2		$BF~NO(B:$B%^%H%j%C%/%9(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%^%H%j%C%/%9(Bm1$B$K%^%H%j%C%/%9(Bm2$B$r1&$+$i>h;;$7!"7k2L$r(Bm0$B$KJV$7$^$9!#(B
        $B<0$GI=8=$9$k$H<!$N$H$*$j$G$9!#(B
        m0=m1*m2
        
=========================================================================
ps2_vu0_mul_vector                                                 [$B4X?t(B]
=========================================================================
                                                     4$BJBNs@Q;;(B (MUL/xyzw)
[$B7A<0(B]
        void ps2_vu0_mul_vector(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	ps2_vu0_fvector v2
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1,v2		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$N3FMWAG$H%Y%/%H%k(Bv2$B$N3FMWAG$r$=$l$>$l>h;;$7!"7k2L$r(Bv0
        $B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_normalize                                                  [$B4X?t(B]
=========================================================================
                                                         $B%Y%/%H%k$N@55,2=(B
[$B7A<0(B]
        void ps2_vu0_normalize(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$r@55,2=$7$F(Bv0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_normal_light_matrix                                        [$B4X?t(B]
=========================================================================
                                                 $B%N!<%^%k%i%$%H9TNs$N@8@.(B
[$B7A<0(B]
        void ps2_vu0_normal_light_matrix(
        	ps2_vu0_fmatrix m,
        	ps2_vu0_fvector l0,
        	ps2_vu0_fvector l1,
        	ps2_vu0_fvector l2
        );
        
[$B0z?t(B]
        m		$B=PNO(B:$B%^%H%j%C%/%9(B
        l0		$BF~NO(B:$B%Y%/%H%k(B($B8w8;(B0$B$NJ}8~(B)
        l1		$BF~NO(B:$B%Y%/%H%k(B($B8w8;(B1$B$NJ}8~(B)
        l2		$BF~NO(B:$B%Y%/%H%k(B($B8w8;(B2$B$NJ}8~(B)
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B8w8;(Bl0$B!"8w8;(Bl1$B!"8w8;(Bl2$B$+$i%N!<%^%k%i%$%H9TNs$r5a$a!"(Bm$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_outer_product                                              [$B4X?t(B]
=========================================================================
                                                           $B%Y%/%H%k$N30@Q(B
[$B7A<0(B]
        void ps2_vu0_outer_product(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	ps2_vu0_fvector v2
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1,v2		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1,v2$B$N30@Q$r5a$a$F(Bv0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_rot_matrix                                                 [$B4X?t(B]
=========================================================================
                                                               $B9TNs$N2sE>(B
[$B7A<0(B]
        void ps2_vu0_rot_matrix(
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fmatrix m1,
        	ps2_vu0_fvector rot
        );
        
[$B0z?t(B]
        m0		$B=PNO(B:$B%^%H%j%C%/%9(B
        m1		$BF~NO(B:$B%^%H%j%C%/%9(B
        rot		$BF~NO(B:x,y,z$B<4$N2sE>3Q(B($BM-8zHO0O(B:-$B&P!A&P(B)
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        Z$B<4$rCf?4$H$9$k2sE>%^%H%j%C%/%9$r(Brot[2]$B$+$i!"(BY$B<4$rCf?4$H$9$k2sE>(B
        $B%^%H%j%C%/%9$r(Brot[1]$B$+$i!"(BX$B<4$rCf?4$H$9$k2sE>%^%H%j%C%/%9$r(Brot[0]
        $B$+$i$=$l$>$l5a$a!"=g$K%^%H%j%C%/%9(Bm1$B$K:8B&$+$i>h;;$7$F!"$=$N7k2L(B
        $B$r%^%H%j%C%/%9(Bm0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_rot_matrix_x                                               [$B4X?t(B]
=========================================================================
                                                      X$B<4$rCf?4$H$9$k2sE>(B
[$B7A<0(B]
        void ps2_vu0_rot_matrix_x(
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fmatrix m1,
        	float rx
        );
        
[$B0z?t(B]
        m0		$B=PNO(B:$B%^%H%j%C%/%9(B
        m1		$BF~NO(B:$B%^%H%j%C%/%9(B
        rx		$BF~NO(B:$B2sE>3Q(B($BM-8zHO0O(B:-$B&P!A&P(B)
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        X$B<4$rCf?4$H$9$k2sE>%^%H%j%C%/%9$r;XDj$5$l$?2sE>3Q(Brx$B$+$i5a$a!"%^%H(B
        $B%j%C%/%9(Bm1$B$K:8B&$+$i>h;;$7$F!"$=$N7k2L$r%^%H%j%C%/%9(Bm0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_rot_matrix_y                                               [$B4X?t(B]
=========================================================================
                                                      Y$B<4$rCf?4$H$9$k2sE>(B
[$B7A<0(B]
        void ps2_vu0_rot_matrix_y(
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fmatrix m1,
        	float ry
        );
        
[$B0z?t(B]
        m0		$B=PNO(B:$B%^%H%j%C%/%9(B
        m1		$BF~NO(B:$B%^%H%j%C%/%9(B
        ry		$BF~NO(B:$B2sE>3Q(B($BM-8zHO0O(B:-$B&P!A&P(B)
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        Y$B<4$rCf?4$H$9$k2sE>%^%H%j%C%/%9$r;XDj$5$l$?2sE>3Q(Bry$B$+$i5a$a!"%^%H(B
        $B%j%C%/%9(Bm1$B$K:8B&$+$i>h;;$7$F!"$=$N7k2L$r%^%H%j%C%/%9(Bm0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_rot_matrix_z                                               [$B4X?t(B]
=========================================================================
                                                      Z$B<4$rCf?4$H$9$k2sE>(B
[$B7A<0(B]
        void ps2_vu0_rot_matrix_z(
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fmatrix m1,
        	float rz
        );
        
[$B0z?t(B]
        m0		$B=PNO(B:$B%^%H%j%C%/%9(B
        m1		$BF~NO(B:$B%^%H%j%C%/%9(B
        rz		$BF~NO(B:$B2sE>3Q(B($BM-8zHO0O(B:-$B&P!A&P(B)
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        Z$B<4$rCf?4$H$9$k2sE>%^%H%j%C%/%9$r;XDj$5$l$?2sE>3Q(Brz$B$+$i5a$a!"%^%H(B
        $B%j%C%/%9(Bm1$B$K:8B&$+$i>h;;$7$F!"$=$N7k2L$r%^%H%j%C%/%9(Bm0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_rot_trans_pers                                             [$B4X?t(B]
=========================================================================
                                                                 $BF);kJQ49(B
[$B7A<0(B]
        void ps2_vu0_rot_trans_pers(
        	ps2_vu0_ivector v0,
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fvector v1,
        	int mode
        );
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%9%/%j!<%s:BI8$rI=$9%Y%/%H%k(B
        m0		$BF~NO(B:$BF);kJQ49%^%H%j%C%/%9(B
        v1		$BF~NO(B:$BD:E@$rI=$9%Y%/%H%k(B
        mode		$BF~NO(B:$B=PNO:BI8CM(Bv0[2],v0[3]$B$N%U%)!<%^%C%H;XDj(B
        		0: $B>.?tIt(B4bit$B$N8GDj>.?tE@(B
        		1: $B>.?tIt(B0bit$B$N8GDj>.?tE@(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$GM?$($i$l$?D:E@$r!"%^%H%j%C%/%9(Bm0$B$K$h$C$F%9%/%j!<%s:B(B
        $BI8$KF);kJQ49$7!"%Y%/%H%k(Bv0$B$KJV$7$^$9!#(B
        $B=PNO$5$l$k(Bv0[0],v0[1]$B$N?tCM%U%)!<%^%C%H$O>.?tIt(B4bit$B$N(B32bit$BId9fIU(B
        $B$-8GDj>.?tE@?t$G$9!#(Bv0[2],v0[3]$B$N?tCM%U%)!<%^%C%H$O(Bmode$B$N;XDj$K1~(B
        $B$8$FJQ$o$j!"(Bmode=0$B$N$H$-$O>.?tIt(B4bit$B$N(B32bit$BId9f$J$78GDj>.?tE@!"(Bmo
        de=1$B$N$H$-$O>.?tIt(B0bit$B$N(B32bit$BId9f$J$78GDj>.?tE@$H$J$j$^$9!#(BGIF$B$N(BP
        ACKED$B%b!<%I$G(BXYZF2,XYZF3$B$rMQ$$$k>l9g$K$O!"(Bmode=0$B$r;XDj$9$k$H!"(BPAC
        K$B;~$K@0?tIt$,@Z$j=P$5$l$k$N$GM-MQ$G$9!#(B
        
=========================================================================
ps2_vu0_rot_trans_pers_n                                           [$B4X?t(B]
=========================================================================
                                                                 $BF);kJQ49(B
[$B7A<0(B]
        void ps2_vu0_rot_trans_pers_n(
        	ps2_vu0_ivector *v0,
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fvector *v1,
        	int n,
        	int mode
        );
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%9%/%j!<%s:BI8$rI=$9%Y%/%H%k$N%]%$%s%?(B
        m0		$BF~NO(B:$B%^%H%j%C%/%9(B
        v1		$BF~NO(B:$BD:E@$rI=$9%Y%/%H%k$N%]%$%s%?(B
        n		$BF~NO(B:$BD:E@?t(B
        mode		$BF~NO(B:$B=PNO:BI8CM(Bv0[2],v0[3]$B$N%U%)!<%^%C%H;XDj(B
        		0: $B>.?tIt(B4bit$B$N8GDj>.?tE@(B
        		1: $B>.?tIt(B0bit$B$N8GDj>.?tE@(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        v1$B$H(Bn$B$H$G;XDj$5$l$?(Bn$B8D$ND:E@$r!"%^%H%j%C%/%9(Bm0$B$K$h$C$F%9%/%j!<%s(B
        $B:BI8$KF);kJQ49$7!"7k2L$r(Bv0$B$,;X$9NN0h$KJV$7$^$9!#(B
        $B=PNO$5$l$k(B*v0[0],*v0[1]$B$N?tCM%U%)!<%^%C%H$O>.?tIt(B4bit$B$N(B32bit$BId9f(B
        $BIU$-8GDj>.?tE@?t$G$9!#(B*v0[2],*v0[3]$B$N?tCM%U%)!<%^%C%H$O(Bmode$B$N;XDj(B
        $B$K1~$8$FJQ$o$j!"(Bmode=0$B$N$H$-$O>.?tIt(B4bit$B$N(B32bit$BId9f$J$78GDj>.?tE@!"(B
        mode=1$B$N$H$-$O>.?tIt(B0bit$B$N(B32bit$BId9f$J$78GDj>.?tE@$H$J$j$^$9!#(BGIF
        $B$N(BPACKED$B%b!<%I$G(BXYZF2,XYZF3$B$rMQ$$$k>l9g$K$O!"(Bmode=0$B$r;XDj$9$k$H!"(B
        PACK$B;~$K@0?tIt$,@Z$j=P$5$l$k$N$GM-MQ$G$9!#(B
=========================================================================
ps2_vu0_scale_vector                                               [$B4X?t(B]
=========================================================================
                                   $B%9%+%i!<CM$H%Y%/%H%k$N>h;;(B (MULx/xyzw)
[$B7A<0(B]
        void ps2_vu0_scale_vector(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	float t
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        t		$BF~NO(B:$B%9%+%i!<(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$K%9%+%i!<(Bt$B$r>h;;$7!"7k2L$r(Bv0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_scale_vector_xyz                                           [$B4X?t(B]
=========================================================================
                                    $B%9%+%i!<CM$H%Y%/%H%k$N>h;;(B (MULx/xyz)
[$B7A<0(B]
        void ps2_vu0_scale_vector_xyz(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	float t
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1		$BF~NO(B:$B%Y%/%H%k(B
        t		$BF~NO(B:$B%9%+%i!<(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$N(Bx,y,z$BMWAG$K%9%+%i!<(Bt$B$r>h;;$7!"7k2L$r%Y%/%H%k(Bv0$B$KJV$7(B
        $B$^$9!#(B
        $B%Y%/%H%k(Bv0$B$N(Bw$BMWAG$O!"$=$N$^$^%Y%/%H%k(Bv0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_sub_vector                                                 [$B4X?t(B]
=========================================================================
                                                     4$BJBNs8:;;(B (SUB/xyzw)
[$B7A<0(B]
        void ps2_vu0_sub_vector(
        	ps2_vu0_fvector v0,
        	ps2_vu0_fvector v1,
        	ps2_vu0_fvector v2
        )
        
[$B0z?t(B]
        v0		$B=PNO(B:$B%Y%/%H%k(B
        v1,v2		$BF~NO(B:$B%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Bv1$B$N3FMWAG$+$i%Y%/%H%k(Bv2$B$N3FMWAG$r3F!98:;;$7!"7k2L$r(Bv0$B$K(B
        $BJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_trans_matrix                                               [$B4X?t(B]
=========================================================================
                                                           $B9TNs$NJ?9T0\F0(B
[$B7A<0(B]
        void ps2_vu0_trans_matrix(
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fmatrix m1,
        	ps2_vu0_fvector tv
        );
        
[$B0z?t(B]
        m0		$B=PNO(B:$B%^%H%j%C%/%9(B
        m1		$BF~NO(B:$B%^%H%j%C%/%9(B
        tv		$BF~NO(B:$B0\F0%Y%/%H%k(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%Y%/%H%k(Btv$B$K$7$?$,$C$F%^%H%j%C%/%9(Bm1$B$rJ?9T0\F0$7!"(Bm0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_transpose_matrix                                           [$B4X?t(B]
=========================================================================
                                                           $BE>CV9TNs$N@8@.(B
[$B7A<0(B]
        void ps2_vu0_transpose_matrix(
        	ps2_vu0_fmatrix m0,
        	ps2_vu0_fmatrix m1
        )
        
[$B0z?t(B]
        m0		$B=PNO(B:$B%^%H%j%C%/%9(B
        m1		$BF~NO(B:$B%^%H%j%C%/%9(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%^%H%j%C%/%9(Bm1$B$NE>CV9TNs$r5a$a!"(Bm0$B$KJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_unit_matrix                                                [$B4X?t(B]
=========================================================================
                                                           $BC10L9TNs$N@8@.(B
[$B7A<0(B]
        void ps2_vu0_unit_matrix(
        	ps2_vu0_fmatrix m0
        );
        
[$B0z?t(B]
        m0		$B=PNO(B:$B%^%H%j%C%/%9(B
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B%^%H%j%C%/%9(Bm0$B$K(B4x4$B$NC10L9TNs$rJV$7$^$9!#(B
        
=========================================================================
ps2_vu0_view_screen_matrix                                         [$B4X?t(B]
=========================================================================
                                               $B%S%e!<%9%/%j!<%s9TNs$N@8@.(B
[$B7A<0(B]
        void ps2_vu0_view_screen_matrix(
        	ps2_vu0_fmatrix m,
        	float scrz,
        	float ax,
        	float ay,
        	float cx,
        	float cy,
        	float zmin,
        	float zmax,
        	float nearz,
        	float farz
        )
        
[$B0z?t(B]
        m		$B=PNO(B:$B%^%H%j%C%/%9(B
        scrz		$BF~NO(B:($B%9%/%j!<%s$^$G$N5wN%(B)
        ax		$BF~NO(B:($B#XJ}8~%"%9%Z%/%HHf(B)
        ay		$BF~NO(B:($B#YJ}8~%"%9%Z%/%HHf(B)
        cx		$BF~NO(B:($B%9%/%j!<%s$NCf?4#X:BI8(B)
        cy		$BF~NO(B:($B%9%/%j!<%s$NCf?4#Y:BI8(B)
        zmin		$BF~NO(B:($B#Z%P%C%U%!:G>.CM(B)
        zmax		$BF~NO(B:($B#Z%P%C%U%!:GBgCM(B)
        nearz		$BF~NO(B:($B%K%"%/%j%C%WLL$N#Z(B)
        farz		$BF~NO(B:($B%U%!!<%/%j%C%WLL$N#Z(B)
        
[$BJV$jCM(B]
        $B$J$7(B
        
[$B2r@b(B]
        $B;XDj$5$l$?3F%Q%i%a!<%?$K=>$C$F%S%e!<%9%/%j!<%s9TNs$r5a$a!"(Bm$B$KJV$7(B
        $B$^$9!#(B
