<HTML>

<HEAD>

<TITLE>HTML ����</TITLE>

<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.0j">
</HEAD>

<BODY>

<P>
<A NAME="_Toc366998481"></A><B><FONT FACE="Arial">gSPMatrix(3P)
<BR>
</FONT></B>
<P>
<B>�֐���<BR>
</B>
<P>
 gSPMatrix, gsSPMatrix
<P>
�� �}�g���N�X�̃��[�h��A���ƃX�^�b�N�̃v�b�V��<BR>

<P>
<B>�\��<BR>
</B>
<P>
 #include &quot;gbi.h&quot;
<P>
 /*
<P>
 * 4x4 Matrix, Fixed point s15.16 format.
<P>
 * First 8 words are integer portion of
<P>
 * the 4x4 matrix. Last 8 words are the
<P>
 * fraction portion of the 4x4 matrix.
<P>
 */
<P>
 typedef long Mtx_t[4][4];
<P>
 typedef {
<P>
  Mtx_t  m;
<P>
  long long int force_structure_alignment;
<P>
  } Mtx;
<P>
 gSPMatrix(Gfx *gdl, Mtx *matrix, unsigned char param);
<P>
 gsSPMatrix(Mtx *matrix, unsigned char param);<BR>

<P>
<B>�p�����[�^<BR>
</B>
<P>
 <B>*gdl</B> �O���t�B�N�X�f�B�X�v���C���X�g�|�C���^
<P>
 <B>matrix</B> 4�~4�Œ菬���_�}�g���N�X(�t�H�[�}�b�g�ɂ‚��Ă͌�q�̒��ӂ��Q�Ƃ��Ă�
 �������)
<P>
 <B>param</B> �}�g���N�X�R�}���h�ւ̃p�����[�^������G_MTX_PROJECTION,

<P>
  G_MTX_MODELVIEW, G_MTX_MUL, G_MTX_LOAD, G_MTX_NOPUSH���܂��
<P>
  ���܂��<BR>

<P>
<B>����<BR>
</B>
<P>
 <b>gSPMatrix</b>�̓f�B�X�v���C���X�g���Ƀ}�g���N�X�I�y���[�V������}�����܂���p�����[�^�ɂ���Ă��Ȃ��͂ǂ̃}�g���N�X�X�^�b�N(projection
or modelview)���g�p���邩��ǂ��Ƀ��[�h���邢�͘A������̂���܂��}�g���N�X�X�^�b�N���v�b�V�����邩�ǂ����Ȃǂ����߂邱�Ƃ��ł��܂�������̃p�����[�^�̓r�b�gOR���꤈ȉ��Ɏ������ꂼ��̃t�B�[���h���Ӗ����܂��
<BR>

<P>
<B> G_MTX_PROJECTION, G_MTX_MODELVIEW</B>
<P>
  ���ꂼ��projection�܂���modelview�}�g���N�X�����s����}�g���N�X�I�y��
 �[�V�����ł��
<P>
 <B>G_MTX_MUL</B>
<P>
  �}�g���N�X�X�^�b�N�̃g�b�v�Ƀ}�g���N�Xm��A�����܂��
<P>
 <B>G_MTX_LOAD</B>
<P>
  �}�g���N�X�X�^�b�N�̃g�b�v�Ƀ}�g���N�Xm�����[�h���܂�� 
<P>
 <B>G_MTX_NOPUSH</B>
<P>
  �}�g���N�X�I�y���[�V��������Ƀ}�g���N�X�X�^�b�N���v�b�V�����܂���
<P>
 <B>G_MTX_PUSH</B>
<P>
  �}�g���N�X�I�y���[�V��������Ƀ}�g���N�X�X�^�b�N���v�b�V�����܂��
<BR>

<P>
<B>�}�g���N�X�t�H�[�}�b�g<BR>
</B>
<P>
 RSP�W�I���g���G���W���̂��߂ɍœK�����ꂽ�̂Ť�Œ菬���_�}�g���N�X�̃t�H�[�}�b�g�̓A�v���P�[�V�����v���O���}�ɂƂ��Ď኱�����ɂ����Ȃ�����������܂��񡂱�̒ʏ�̃t�H�[�}�b�g�̓O���t�B�N�X���[�e�B���e�B���C�u�����ʼnB����Ă��褒ʏ�̓A�v���P�[�V�����v���O���}�[�ɂ͌��J����Ă��܂��񡂵���������‚��̃P�[�X�̏ꍇ(�Œ�}�g���N�X�̐錾�Ⓖ�ړI�ȗv�f�̑���)��t�H�[�}�b�g�𗝉����邱�Ƃ��K�v�ł��
<BR>

<P>
 �}�g���b�N�X�v�f�̐����Ə����̍\���v�f�͕������܂���ŏ���8word(16 shorts)��16�r�b�g�̐����v�f�����������8word(16 shorts)��16bit�̏����v�f�������܂��Mtx�^�C�v��long [4][4]�z��Ƃ��Đ錾����邱�Ƃ͏�������킵���ł��
<BR>

<P>
 ��Ƃ��Ĥ�X�^�e�B�b�N�ȃA�C�f���e�B�e�B�}�g���N�X��錾����Ƥ�R�[�h�͈ȉ��̂悤�Ɍ����܂��
<BR>

<P>
 #include &quot;gbi.h&quot;
<P>
 static Mtx ident =
<P>
 {
<P>
  /* integer portion: */
<P>
  0x00010000, 0x00000000,
<P>
  0x00000001, 0x00000000,
<P>
  0x00000000, 0x00010000,
<P>
  0x00000000, 0x00000001,
<P>
  /* fractional portion: */
<P>
  0x00000000, 0x00000000,
<P>
  0x00000000, 0x00000000,
<P>
  0x00000000, 0x00000000,
<P>
  0x00000000, 0x00000000,
<P>
 };<BR>

<P>
 (10.5, 20.5, 30.5)�ɂȂ�}�g���N�X�̗v�f�g�����X���[�V�����̌��ʂŤ�R�[�h�͎��̂悤�Ɍ�����ł��傤�
<BR>

<P>
 #include &quot;gbi.h&quot;
<P>
  mat.m[1][2] = (10 &lt;&lt; 16) | (20);
<P>
  mat.m[1][3] = (30 &lt;&lt; 16) | (1);
<P>
  mat.m[3][2] = (0x8000 &lt;&lt; 16) | (0x8000);
<P>
  mat.m[3][3] = (0x8000 &lt;&lt; 16) | (0);<BR>

<P>
<B>����<BR>
</B>
<P>
 RSP�W�I���g���G���W�����ł̃}�g���N�X�̘A����32bit�̐������Z���s���܂��32bit�~32bit���Z�̌��ʂ�64�r�b�g�l�ɂȂ�܂��64bit�̌��ʂ̒��Ԃ�32bit�݂̂��V�����}�g���N�X�Ɏc��܂������̂ɤ�}�g���N�X�̘A�����s�����Ƃ���Œ菬���_�̐��l�ɂ��G���[���ʂ𗝉�����ׂ��ł��
<BR>

<P>
 ���Ƃ��Τ�ō��̐��x��ێ����邽�߂ɂͤ���l�͈̔͂͗ގ����Ă��Ȃ���΂Ȃ�܂���傫�ȃX�P�[���ƃg�����X���[�g�p�����[�^�͕ϊ����x�����������邱�Ƃ��ł��܂��
rotation��projection matricies�����Ȃ�̏������x��bit��K�v�Ƃ���̂Ť�����̈ꕔ�͂������ꂪ�傫�Ȑ����l�ɑ΂��Ă�������Ȃ�Ύ̂Ă��邩������܂���
<BR>

<P>
 �قȂ��Ƃ��Ĥ���ꂼ��̘A���͂��ꂼ��̃}�g���N�X����LSB���ӂ̌��ʂɂȂ�܂������͂��ꂼ��̘A�����}�g���N�X�ɃG���[��1/2LSB���‚����ނ��Ƃ��Ӗ����܂��
<BR>

<P>
 ���S�Ȑ��x��ۂ•��@�Ƃ��āA�v���Z�b�T�[��ŕ��������_�Ń}�g���b�N�X��A�����A������
RSP �ɂ��̌��ʂ����[�h���邾���Ƃ������@������܂��<BR>

<P>
<B>�p�t�H�[�}���X<BR>
</B>
<P>
 ���ꂼ���G_MTX_MODELVIEW�}�g���N�X�I�y���[�V�����ͤ���Ƃ����Ȃ���G_MTX_LOAD���w�肵���Ƃ��Ă���ΓI�ȃ}�g���N�X�̏�Z�������Ă��܂������͕ϊ����s���Ă����1�‚̃}�g���N�X���g�p���邽�߂̒��_�ϊ��̂��߂ɕK�v��view(M)�}�g���N�X��projecion(P)�}�g���N�X�̌������ꂽ���f���ł��
<BR>

<P>
 �œK���ͤCPU��Ń��f�����O�}�g���N�X�̌������s�����߂ɤ�v���W�F�N�V�����X�^�b�N���viewing(V)�}�g���N�X��projection�}�g���N�X��u���܂�����̏ꍇ����Ȃ��̓��f�����O�}�g���N�X�����[�h����x�ɤ1�‚�MxVP�}�g���N�X�������󂯂܂������ɤ�A�v���P�[�V�����̓��f�����O�}�g���N�X�����̂��߂̈��Ղȃv���O���~���O���@�Ɋւ����葽���̏��������Ă��܂�����Ƃ��Τ���Ȃ����ړ���1�‚̃A�N�V�Y���[�e�[�V�������������������Ǝv���ꍇ�Ȃǂł�����Ȃ��͌��ʃ}�g���N�X�̐��m�ȓo�^�ɌW��������u�����Ƃ��ł��܂��
<BR>

<P>
<B>�Q��<BR>
</B>
<P>
 <a href="../gsp/gSPPopMatrix.htm">gSPPopMatrix(3P)</a>, <a href="../gsp/gSPPerspNormalize.htm">gSPPerspNormalize(3P)</a>, <a href="../gsp/gSPInsertMatrix.htm">gSPInsertMatrix(3P)</a>, <a href="../gsp/gSPForceMatrix.htm">gSPForceMatrix(3P)</a><BR>
<BR>

</BODY>

</HTML>