�e�N�X�`���X�e�[�W�X�e�[�g�́A�Œ�@�\�s�N�Z���p�C�v���C���ł̐F�̍����@��ݒ肵�܂��B�ꕔ�́A�s�N�Z���V�F�[�_1_X�ɂ�����ϐ���ݒ肵�܂��B�l��ݒ肷�鎞�ɂ́AIDirect3DDevice9::SetTextureStageState(�e�N�X�`���X�e�[�W, �X�e�[�g���, �l)�Őݒ肵�܂��B
�e�N�X�`���X�e�[�W�X�e�[�g |
�@�\ |
D3DTSS_COLOROP |
�F������������@ |
D3DTSS_COLORARG1 |
�F�����̍ŏ��̈��� |
D3DTSS_COLORARG2 |
�F�����̂Q�߂̈��� |
D3DTSS_COLORARG0 |
�F�����̂Q�߂̈��� |
D3DTSS_ALPHAOP |
�e�N�X�`�������������̕��@ |
D3DTSS_ALPHAARG1 |
�������̍ŏ��̈��� |
D3DTSS_ALPHAARG2 |
�������̂Q�߂̈��� |
D3DTSS_ALPHAARG0 |
�������̂R�߂̈��� |
D3DTSS_BUMPENVMAT00 |
�o���v �}�b�s���O�s��̂O�O�����ɑ��镂�������_�l |
D3DTSS_BUMPENVMAT01 |
�o���v �}�b�s���O�s��̂O�P�����ɑ��镂�������_�l |
D3DTSS_BUMPENVMAT10 |
�o���v �}�b�s���O�s��̂P�O�����ɑ��镂�������_�l |
D3DTSS_BUMPENVMAT11 |
�o���v �}�b�s���O�s��̂P�P�����ɑ��镂�������_�l |
D3DTSS_TEXCOORDINDEX |
�e�N�X�`���X�e�[�W�Ŏg�p����e�N�X�`�����W�C���f�b�N�X�̎w�� |
D3DTSS_BUMPENVLSCALE |
�o���v�}�b�v�P�x�Ɏg�p���镂�������_���̃X�P�[�� |
D3DTSS_BUMPENVLOFFSET |
�o���v�}�b�v�P�x�Ɏg�p���镂�������_���̃I�t�Z�b�g |
D3DTSS_TEXTURETRANSFORMFLAGS |
�e�N�X�`���X�e�[�W�̃e�N�X�`�����W�̍��W�ϊ��𐧌� |
D3DTSS_RESULTARG |
���̃X�e�[�W�̌��ʂ̃f�X�e�B�l�[�V���� ���W�X�^��I�����邽�߂̐ݒ� |
D3DTSS_CONSTANT |
���̃e�N�X�`���X�e�[�W�X�e�[�g�́A���ꂼ��̃e�N�X�`���X�e�[�W�ł̐F������������@�����߂܂��B�l�́AD3DTEXTUREOP �^�Ŏw�肳��܂��B�ŏ��̃e�N�X�`���X�e�[�W (�X�e�[�W 0) �̏����l�� D3DTOP_MODULATE �ł��B����ȊO�̃X�e�[�W�̏����l��D3DTOP_DISABLE �ł��BD
3DTEXTUREOP �^�ɂ́A���̎�ނ�����܂��B
���̃e�N�X�`�� �X�e�[�W�A����т�荂���C���f�b�N�X�����X�e�[�W����̏o�͂����ׂĖ����ɂ��܂��B�e�N�X�`�� �}�b�s���O���ɂ���ɂ́A������ŏ��̃e�N�X�`�� �X�e�[�W (�X�e�[�W 0) �̃J���[�����Ƃ��Đݒ肵�܂��B�J���[�������L���ɂȂ��Ă���Ƃ��́A�A���t�@�������ɂ��邱�Ƃ͂ł��܂���B�J���[ �u�����f�B���O���L���ȏꍇ�A�A���t�@������ D3DTOP_DISABLE �ɐݒ肷��ƁA�s��̓��삪�����܂��B
���̃e�N�X�`�� �X�e�[�W�̍ŏ��̐F�A�܂��̓A���t�@������ύX�����ɏo�͂Ƃ��Ďg�p���܂��B���̏����́AD3DTSS_COLOROP �e�N�X�`�� �X�e�[�W �X�e�[�g�Ŏg�p����ƐF�����ɉe����^���AD3DTSS_ALPHAOP �Ŏg�p�����ꍇ�ɂ̓A���t�@�����ɉe����^���܂��B
���̃e�N�X�`�� �X�e�[�W�� 2 �Ԗڂ̐F�A�܂��̓A���t�@������ύX�����ɏo�͂Ƃ��Ďg�p�����܂��B���̏����́AD3DTSS_COLOROP �e�N�X�`�� �X�e�[�W �X�e�[�g�Ŏg�p����ƐF�����ɉe����^���AD3DTSS_ALPHAOP �Ŏg�p�����ꍇ�ɂ̓A���t�@�����ɉe����^���܂��B
�����̐�������Z���܂��B
�����̐�������Z���A���̐ς����� 1 �r�b�g�����V�t�g (2 �ŏ�Z����̂Ɠ���) ���Ė��邭���܂��B
�����̐�������Z���A���̐ς����� 2 �r�b�g�����V�t�g (4 �ŏ�Z����̂Ɠ���) ���Ė��邭���܂��B
�����̐��������Z���܂��B
�o�C�A�X�l -0.5 �������̐����ɉ��Z���A�l�̗L���͈͂� -0.5 ���� 0.5 �ɂ��܂��B
�o�C�A�X�l -0.5 �������̐����ɉ��Z���A���̐ς����� 1 �r�b�g�����V�t�g���܂��B�l�̗L���͈͂� -1.0 ���� 1.0 �ɂ��܂��B
�� 1 �����̐�������A�Ή������ 2 �����̐��������Z���܂��B
�� 1 ����ё� 2 ���������Z���A���ɂ��̐ς����v���猸�Z���܂��B
�e���_����̕�ԃA���t�@���g�p���āA���̃X�e�[�W�̐��`��Ԃ����܂��B
���̃X�e�[�W�̃e�N�X�`������̃A���t�@���g�p���āA���̃X�e�[�W�̐��`��Ԃ����܂��B
�����_�����O �X�e�[�g�Őݒ肳���X�J���[ �A���t�@ (D3DRS_TEXTUREFACTOR) ���g�p���āA���̃X�e�[�W�̐��`��Ԃ����܂��B
���炩���ߏ�Z���ꂽ�A���t�@���g�p����e�N�X�`�� �X�e�[�W�̐��`��Ԃ����s���܂��B
�O�̃e�N�X�`�� �X�e�[�W����̃A���t�@���g�p���āA���̃X�e�[�W�̐��`��Ԃ��s���܂��B
���݂̃e�N�X�`�� �X�e�[�W�Ǝ��̃e�N�X�`�� �X�e�[�W�̊Ԃŏ�Z���s���܂��B
�� 1 �����̃A���t�@���g�p���đ� 2 �����̃J���[�����A���̌��ʂ�� 1 �����ɉ��Z���܂��B���̏����́A�J���[���� (D3DTSS_COLOROP) �ł̂݃T�|�[�g����܂��B
���������A�� 1 �����̃A���t�@�����Z���܂��B���̏����́A�J���[���� (D3DTSS_COLOROP) �ł̂݃T�|�[�g����܂��B
D3DTOP_MODULATEALPHA_ADDCOLOR �ɗގ����Ă��܂����A�� 1 �����̃A���t�@�]�����l���g�p���܂��B���̏����́A�J���[���� (D3DTSS_COLOROP) �ł̂݃T�|�[�g����܂��B
D3DTOP_MODULATECOLOR_ADDALPHA �ɗގ����Ă��܂����A�� 1 �����̐F�]�����F���g�p���܂��B���̏����́A�J���[���� (D3DTSS_COLOROP) �ł̂݃T�|�[�g����܂��B
���̃e�N�X�`�� �X�e�[�W�̊��}�b�v (�P�x�Ȃ�) �ɂ��A�s�N�Z���P�ʂ̃o���v �}�b�s���O�����s���܂��B���̏����́A�J���[���� (D3DTSS_COLOROP) �ł̂݃T�|�[�g����܂��B
���̃e�N�X�`�� �X�e�[�W�̊��}�b�v (�P�x����) �ɂ��A�s�N�Z���P�ʂ̃o���v �}�b�s���O�����s���܂��B���̏����́A�J���[���� (D3DTSS_COLOROP) �ł̂݃T�|�[�g����܂��B
�e�����̗v�f�� (�����t�v�f�Ƃ���) ��Z���Đς����Z���A����ꂽ���v�l�����ׂẴJ���[ �`���l���ɁA�A���t�@���܂߂ĕ������܂��B���̏����̓J���[�����ƃA���t�@�����ɑ��ăT�|�[�g����܂��B
DirectX 6.0 ����� 7.0 �̃}���`�e�N�X�`�������ł́A��L�̓��͂́A�����t���f�[�^���V�~�����[�g���邽�߁A�g�p����O�ɂ��ׂ� 0.5 �V�t�g���� (y = x - 0.5)�A���ʂ̃X�J���[�͐��̒l�ɐ�������āA3 �̏o�̓`���l�����ׂĂɕ�������܂��B�܂��A�J���[�����Ƃ��ẮArgb �������X�V�����A���t�@���X�V���Ȃ����Ƃɒ��ӂ���K�v������܂��B
�������A�s�N�Z���V�F�[�_�ł́A�o�͂� .rgb �܂��� .a �R���|�[�l���g�A�܂��͂��̗��� (�f�t�H���g) �Ƀ��[�e�B���O���邱�Ƃ��w��ł��܂��B�A���t�@ �`���l���Ōʂ̃X�J���[�������w�肷�邱�Ƃ��ł��܂��B
�Ϙa���Z�����܂��B�Ō�� 2 �̈��������A��������Z���A�c��̓��͈����ɉ��Z���A��������ʂɔz�u���܂��B
�� 1 �\�[�X�����Ŏw�肳�ꂽ�����ŁA�� 2 ����ё� 3 �\�[�X�����̊Ԃ���`��Ԃ��܂��B
���̃e�N�X�`���X�e�[�W�X�e�[�g�́A���̃X�e�[�W�ɑ���F�����̍ŏ��̈����ɂȂ�܂�(Arg1�ł�����Ă��鐬���ł�)�BD3DTA�^�Œl���w�肵�܂��B�����l�́AD3DTA_TEXTURE�ł��B
D3DTA�^�ɂ́A���̎�ނ�����܂��B�����t���O�ƏC���q��g�ݍ��킹�邱�Ƃ͂ł��܂���2
�̈����t���O��g�ݍ��킹�邱�Ƃ͂ł��܂���B
�����t���O
���̃e�N�X�`�������́A�O�̃u�����f�B���O�X�e�[�W�̌��ʂ��g���܂��B�ŏ��̃e�N�X�`���X�e�[�W(�X�e�[�W0)�̏ꍇ�A���̈����� D3DTA_DIFFUSE �Ɠ������ʂɂȂ�܂��B�O�̃u�����f�B���O�X�e�[�W���o���v�}�b�v�e�N�X�`��(D3DTOP_BUMPENVMAP ����)���g�p���Ă���ꍇ�A�o���v�}�b�v �e�N�X�`���̑O�̃X�e�[�W����e�N�X�`�����I������܂��Bs �����݂̃e�N�X�`�� �X�e�[�W��\���As – 1 �Ƀo���v�}�b�v �e�N�X�`��������ꍇ�A���̈����̓e�N�X�`�� �X�e�[�W s – 2 ����̌��ʏo�͂ɂȂ�܂��B�ǂݎ��Ə������݂ɑ��鑀�삪�s���܂��B
���̃e�N�X�`�������́A�O�[���[�V�F�[�f�B���O�������ɒ��_�̐��������Ԃ��ē���ꂽ�g�U���̐F�ł��B���_���g�U�F���܂܂Ȃ��ꍇ�̏����l�� 0xFFFFFFFF �ɂȂ�܂��B�����͓ǂݎ���p�ł��B
���ׂĂ̈����ɑΉ�����}�X�N�l�ł��B�e�N�X�`�������̐ݒ�ɂ͎g�p���܂���B
�e�N�X�`�������́A�O�[���[�V�F�[�f�B���O�������ɒ��_�̐��������Ԃ��ꂽ���ʔ��ˌ��̐F�ɂȂ�܂��B���_�����ʔ��ːF���܂�ł��Ȃ��ꍇ�A�����l��0xFFFFFFFF �ɂȂ�܂��B�����͓ǂݎ���p�ł��B
���̃e�N�X�`�������́A�ǂݏ����p�̃e���|�������W�X�^�̐F�ɂȂ�܂��BD3DTA_TEMP �́AD3DPMISCCAPS_TSSARGTEMP���L���ȏꍇ�ɃT�|�[�g����܂��B���̃��W�X�^�̏����l�́A(0.0, 0.0, 0.0, 0.0) �ł��B�����͓ǂݏ����ł��B
���̃e�N�X�`�������́A���̃e�N�X�`���X�e�[�W�̃e�N�X�`���̃f�[�^�ɂȂ�܂��B�����͓ǂݎ���p�ł��B
���̃e�N�X�`�������́AD3DRS_TEXTUREFACTOR�ɂ��Ă̑O���IDirect3Ddevice9::SetRenderState ���Ăяo�����Ƃ��̃e�N�X�`���W���ɂȂ�܂��B�����͓ǂݎ���p�ł��B
�C���q�t���O�t���O
����������O�ɁA�A���t�@���������ׂĂ̐F�����ɕ������܂��B����͓ǂݍ��ގ��̏C���q�ł��B
�����]�����F���g�p���܂��B���Ƃ��A�����̌��ʂ��ϐ� x �ɂ���ĎQ�Ƃ����ꍇ�A���̒l�� 1.0 - x �ɂȂ�܂��B����͓ǂݍ��ގ��̏C���q�ł��B
���̃e�N�X�`���X�e�[�W�X�e�[�g�́A���̃X�e�[�W�ɑ���F�����̂Q�߂̈����ɂȂ�܂�(Arg2�ł�����Ă��鐬���ł�)�BD3DTA�Œl���w�肵�܂��B�l�́AD3DTA_CURRENT�ł��B
���̃e�N�X�`���X�e�[�W�X�e�[�g�́A���̃X�e�[�W�ɑ���F�����̂R�߂̈����ɂȂ�܂�(Arg3�ł�����Ă��鐬���ł�)�BD3DTOP_MULTIPLYADD��D3DTOP_LERP�̏ꍇ�Ɏg���܂��B���̐ݒ�́AD3DTEXOPCAPS_MULTIPLYADD �܂��� D3DTEXOPCAPS_LERP���T�|�[�g����Ă��Ȃ���Ȃ�܂���B�����l�́AD3DTA_CURRENT�ł��B
���̃e�N�X�`���X�e�[�W�X�e�[�g�́AD3DTEXTUREOP�^�̃����o�ɂ���Ď��ʂ����e�N�X�`�������������̕��@�����肵�܂��B�ŏ��̃e�N�X�`���X�e�[�W (�X�e�[�W0) �̏����l�� D3DTOP_SELECTARG1 �ł���A����ȊO�̃X�e�[�W�̏����l�� D3DTOP_DISABLE �ł��B
���̃e�N�X�`���X�e�[�W�X�e�[�g�́A���̃X�e�[�W�ɑ���ŏ��̃������ŁAD3DTA�^�ɂ�莯�ʂ���܂��B�����l�� D3DTA_TEXTURE �ł��B�X�e�[�W�Ƀe�N�X�`�����ݒ肳��Ă��Ȃ��ꍇ�́AD3DTA_DIFFUSE �������l�ɂȂ�܂��B
���̃e�N�X�`���X�e�[�W�X�e�[�g�́A���̃X�e�[�W�ɑ���Q�Ԗڂ̃������ŁAD3DTA�^�ɂ�莯�ʂ���܂��B�����l�� D3DTA_CURRENT �ɂȂ�܂��B
���̃e�N�X�`���X�e�[�W�X�e�[�g�́A���̃X�e�[�W�ɑ���R�Ԗڂ̃������ŁAD3DTA�^�ɂ�莯�ʂ���܂��BD3DTOP_MULTIPLYADD��D3DTOP_LERP�̏ꍇ�Ɏg���܂��B���̐ݒ�́AD3DTEXOPCAPS_MULTIPLYADD �܂��� D3DTEXOPCAPS_LERP���T�|�[�g����Ă��Ȃ���Ȃ�܂���B�����l�� D3DTA_CURRENT �ɂȂ�܂��B
�e�N�X�`�� �X�e�[�W �X�e�[�g�́A�o���v �}�b�s���O�s��̂Q�s�Q��̍s��̊e�W���ɑ��镂�������_�l�ɂȂ�܂��B�����l�� 0.0 �ł��B�l�́A-8����+8�̊ԂłȂ���Ȃ�܂���B
���̃e�N�X�`���X�e�[�W�Ŏg�p����e�N�X�`�����W�C���f�b�N�X���w�肵�܂��B�e���_�Ɋւ��āA�W�̃e�N�X�`�����W��ݒ肷�邱�Ƃ��ł��܂��B�����A���_�f�[�^�Ƀe�N�X�`�����W���܂܂�Ă��Ȃ����ɂ́A�e�N�X�`�����W�ɂ́A(0,0)�̂t�u�l���g���܂��B
���̃t���O�́A�Œ�@�\���_�����ł̂ݎg�p���܂��B���_�V�F�[�_�ł͎g�p���܂���B���_�V�F�[�_���g���ă����_�����O����Ƃ��́A�e�X�e�[�W�̃e�N�X�`���C���f�b�N�X���f�t�H���g�l�ɐݒ肵�Ȃ�������܂���B�e�X�e�[�W�̃f�t�H���g�̃C���f�b�N�X�́A�X�e�[�W �C���f�b�N�X�Ɠ����ɂȂ�܂��B���̃X�e�[�g�ɂ́A�e�N�X�`���X�e�[�W�Ŏg�p����e���_�̍��W�Z�b�g�̃[������n�܂�C���f�b�N�X��ݒ肵�܂��B
�e�A�v���P�[�V�����ł́A(�ݒ肳���C���f�b�N�X�Ƃ��_���a�Ƃ���) D3DTSS�^�̂����ꂩ��ݒ肵�āA�e�N�X�`�� �g�����X�t�H�[���p�̓��̓e�N�X�`�����W�������I�ɐ�������悤Direct3D �ɗv���ł��܂��B
�[���ɉ�������� D3DTSS_TCI_PASSTHRU �������āA�ݒ肳���C���f�b�N�X�ƈȉ��̃t���O�̂����ꂩ���g�p����ƁA�e�N�X�`�� ���b�s���O ���[�h�̌���ɃC���f�b�N�X�������Ɏg�p����܂��B���̃t���O�͊��}�b�s���O���s���ꍇ�ɂ͓��ɗL���ł��B
D3DTSS�^�͎��̎�ނ�����܂��B
���_�t�H�[�}�b�g���̎w�肳�ꂽ�e�N�X�`�����W���g�p���܂��B
���̃X�e�[�W�̃e�N�X�`�����W�ϊ��̓��̓e�N�X�`�����W�Ƃ��āA�J������Ԃɍ��W�ϊ����ꂽ���_�@�����g�p�����܂��B
���̃X�e�[�W�̃e�N�X�`�����W�ϊ��̓��̓e�N�X�`�����W�Ƃ��āA�J������Ԃɍ��W�ϊ����ꂽ���_�ʒu���W���g�p���܂��B
���̃X�e�[�W�̃e�N�X�`�����W�ϊ��̓��̓e�N�X�`�����W�Ƃ��āA�J������Ԃɍ��W�ϊ����ꂽ���˃x�N�g�����g�p���܂��B���˃x�N�g���͓��͒��_�ʒu���W�Ɩ@���x�N�g������v�Z����܂��B
�����}�b�v�̂��߂Ɏw�肳�ꂽ�e�N�X�`�����W���g�p���܂��B
�o���v�}�b�v�P�x�Ɏg�p���镂�������_���̃X�P�[���l�ł��B�����l�� 0.0 �ł��B
�o���v�}�b�v�P�x�Ɏg�p���镂�������_���̃I�t�Z�b�g�ł��B�����l�� 0.0 �ł��B
�e�N�X�`���X�e�[�W�̃e�N�X�`�����W�̍��W�ϊ��𐧌䂷�� D3DTEXTURETRANSFORMFLAGS �^�ɂ���Ďw�肳���X�e�[�g�ł��B�����l��D3DTTFF_DISABLE�ł��B
D3DTEXTURETRANSFORMFLAGS�^�͎��̎�ނ�����܂��B
�e�N�X�`�����W�̓��X�^���C�U�ɒ��ړn����܂��B
���X�^���C�U�� 1D �e�N�X�`�����W��z�肵�܂��B
���X�^���C�U�� 2D �e�N�X�`�����W��z�肵�܂��B
���X�^���C�U�� 3D �e�N�X�`�����W��z�肵�܂��B
���X�^���C�U�� 4D �e�N�X�`�����W��z�肵�܂��B
�e�N�X�`�����W�́A���X�^���C�U�ɓn�����O�ɍŌ�̗v�f�ł��ׂĕ�������܂��B���Ƃ��A���̃t���O�� D3DTTFF_COUNT3 �Ƌ��Ɏw�肳��Ă���ꍇ�A1 �Ԗڂ���� 2 �Ԗڂ̃e�N�X�`�����W�́A���X�^���C�U�ɓn�����O�ɁA3 �Ԗڂ̍��W�ŕ�������܂��B
���̃X�e�[�W�̌��ʂ̃f�X�e�B�l�[�V���� ���W�X�^��I�����邽�߂̐ݒ�ł��BD3DTA�^�Őݒ肳��܂��B
���̒l�́AD3DTA_CURRENT (�����l) �܂��� D3DTA_TEMP �ɐݒ�ł��܂��BD3DTA_TEMP �́A���͈����Ƃ��Ĉȍ~�̃X�e�[�W�ɓǂݍ��ނ��Ƃ��ł���e���|�������W�X�^�ł��B�t�H�O �u�����_����уt���[�� �o�b�t�@�ɓn�����ŏI�I�ȐF�� D3DTA_CURRENT ����擾�����̂ŁA�Ō�ɃA�N�e�B�u�ȃe�N�X�`���X�e�[�W�X�e�[�g�̓J�����g�ւ̏������݂ɐݒ肵�Ȃ�������܂���B���̐ݒ�́AD3DPMISCCAPS_TSSARGTEMP���L���ȏꍇ�ɃT�|�[�g����܂��B
�X�e�[�W���Ƃ̒萔�F�ł��B�萔�F���T�|�[�g����Ă��邩�ǂ����́AD3DPMISCCAPS��D3DPMISCCAPS_PERSTAGECONSTANT�ׂ�킩��܂��BD3DTSS_CONSTANT��D3DTA_CONSTANT�Ŏg���܂��B