�@
�A��
.NET��Windows Vista�֍L����DirectX�̐��E

��1�� DirectX�̐^��

NyaRuRu
2006/06/21
Page1 Page2 Page3

�@Windows Vista�̔����i2007�N1�������\��j���߂Â��Ă���ɔ����A��OS�̐V�����O���t�B�b�N�X�‹��ɂ‚��Ĉ�ʗ��p�Ҍ����̋L���������‚��U�������悤�ɂȂ����B

�@�����̋L���ł��т��іڂɕt���̂��A�uWindows Vista�̕`��́ADirectX���x�[�X�Ƃ��Ă���̂ō����ɂȂ�v�Ƃ����������B�m���ɂ��̐����́A��`����Ƃ��Ă̓C���p�N�g�����邩������Ȃ��B�����A�������Ȃ����J���҂ł���΁A���̂悤�Ȑ����ɔ[�����ׂ��ł͂Ȃ��BDirectX�͌����āu��`�㍂���v�Ȃ̂ł͂Ȃ��A����̃V�i���I�Ő��\�𔭊�����悤�Ƀf�U�C�����ꂽ���C�u�����ɂ����Ȃ����炾�B

�@���̎����́A�Q�[���J���҂ɂ͂悭�m��ꂽ�b�ł��邪�A��ʓI��Windows�A�v���P�[�V�����̊J���҂Ȃǂɂ͂��܂�m���Ă���Ƃ͂����Ȃ��B���ۂ�Windows�A�v���P�[�V�����J���҂̊ԂŁADirectX�ɑ΂���ߏ�Ȋ��҂�y�ϓI�Ȏv�����݂����΂��Ό��󂯂���̂����󂾁B

�@�����Ŗ{�A�ڂł́A���̂悤�Ɍ���̑����������DirectX�̐^�����AWindows�A�v���P�[�V�����J���҂��^�[�Q�b�g�ɉ������B�����3D�`��API�Ƃ��Ă�DirectX�̐��������S�ƂȂ邪�A�{�A�ڂł͎�����Windows�V�X�e����œ��삷��A�v���P�[�V�������\�z���邤���ł��Вm���Ă��������uDirectX�̐��E�v���Љ�Ă����\�肾�B�܂��AC#��VB���g������̓I��DirectX�v���O���~���O�Ȃǂɂ‚��Ă�����ȍ~�ʼn�����Ă����‚��肾�B

1. DirectX�Ƃ́H

�@DirectX��m��O�ɁA�܂��͂���܂ł�Windows�O���t�B�b�N�X�̗��j���ȒP�ɐU��Ԃ��Ă������Ƃɂ��悤�B

��Windows�O���t�B�b�N�X�̗��j

�@Windows OS�̓o��ɂ��APC�ň�ʓI�ɗ��p�����OS�͕����x�[�X��MS-DOS����O���t�B�J���ȃ��[�U�[�E�C���^�[�t�F�C�X������Windows�֓]�����APC�̃O���t�B�b�N�X�‹��͑傫���ω������B����ɔ����A��ʂ̍��𑜓x���┭�F���̌���Ƃ������i���A�x�N�g���E�t�H���g�̎g�p�Ȃǂ̐�i�@�\��Windows OS�ɔ�������킯�����A����͓����Ƀn�[�h�E�F�A�i���Ƀr�f�I�E�J�[�h�j���\�ւ̗v���܂ł����߂Ă��܂����B

�@���̓����́A�r�f�I�E�J�[�h�̕`�搫�\��PC�g�p���̉��K���ɒ������Ă�������ł���B�܂��Ɂu���K��PC���g�����߁v�Ƃ������R�ŁA�l�X�̓r�f�I�E�J�[�h���\�ɑ傫�Ȋ֐S���񂹂��B�s�������Ɍĉ����āA�u�O���t�B�b�N�X�E�A�N�Z�����[�^�E�J�[�h�v�ƌĂ΂�鐻�i���e�Ђ��甭������A�`�搫�\��掿�ʂŌ������������s��ꂽ�B�܂��P�Ƀn�[�h�E�F�A�̐��\�����łȂ��A�h���C�o�̐��\�ɂ���Ă��`�搫�\���傫���قȂ蓾��Ƃ������Ƃ��m����悤�ɂȂ�ƁA�h���C�o�J���͂������Ƃ��ꂽ���[�J�[�ɐl�C���W�܂�Ƃ������ۂ�����ꂽ�B

�@��ʓI��Windows�A�v���P�[�V�����ɂ‚��Č���ƁAWindows�̕`��@�\��GDI�iGraphic Device Interface�j�ƌĂ΂��ėp�I��API�Q����Ē񋟂����B�����āA���̂悤�Ȍ`�Ԃ�16 bits Windows���ォ�猻�݂܂ő����Ă���BGDI�͂��̌�����x��API�̒lj�����������̉��ǂ��s��ꂽ���̂́A���̊�{�݌v�͑傫���ύX����邱�ƂȂ�10�N�ȏ�̒����ɂ킽��Windows�̃f�X�N�g�b�v�`����x���Ă����B

�@����A��ʓI��PC�ł̗��pOS���ق�Windows��F�ƂȂ��Ă���ƁAPC�Q�[���̃v���b�g�t�H�[���Ƃ��Ă̖�����Windows�ɋ��߂���悤�ɂȂ��Ă����B�܂�Windows 3.1�����WinG�Ƃ����`��API���o�ꂷ��B����̓�������ɍ\�z�����摜�f�[�^�������悭��ʂɕ\�����邽�߂̎d�g�݂ŁA���܂�L���͕��y���Ȃ��������̂́AWindows 95�ȍ~��CreateDIBSection API*1�Ȃǂɂ��̎v�z�͎󂯌p���ꂽ�B

*1 DIB�iDevice Independent Bitmap�j���쐬���邽�߂�API�BDIB�Ƃ̓f�o�C�X�Ɉˑ����Ȃ��t�H�[�}�b�g�̃r�b�g�}�b�v�摜�f�[�^�̂��ƂŁAWindows�̃r�b�g�}�b�v�`�揈���ł͂���DIB���W���I�ɗ��p����Ă���B

�@������1995�N�AWindows 95�p��Windows Game SDK�Ƃ��ēo�ꂵ���̂��A��ɂ���DirectX 1�ł������B

�@DirectX 1�Ɋ܂܂��DirectDraw�́A�Q�[���������ӎ������@�\������API�Z�b�g���BDirectDraw��MS-DOS�x�[�X�̃Q�[���J���҂�Windows�̐��E�Ɉ������ނׂ��AGDI���o�C�p�X�����n�[�h�E�F�A�ɂ��摜�̋�`�]����p���b�g�Ǘ��A�t���X�N���[���E���[�h�ɂ�郂�j�^�ւ̒��ڏo�͂⃂�j�^�̐�����A���Ɋ������鍂���ȉ�ʐ؂�ւ����n�[�h�E�F�A��ˑ��Ƃ����`�ōč\�z�������̂Ƃ�����B

�@�]����API�ƈقȂ�ADirectX�ɂ�COM�iComponent Object Model�j�̎v�z�Ɋ�Â����o�[�W�����Ǘ����s����Ƃ�������������B���̂��Ƃ���̕p�ɂ�DirectX��API�Z�b�g�̍X�V���”\�ɂ����ő�̗v���Ƃ����邾�낤�B

�@�����ė�1996�N�ɂ�DirectX 2���o�ꂷ��B����ɂ́A3D�`����T�|�[�g����Direct3D�ƁA3������ԏ�̃I�u�W�F�N�g����̂��߂̃t���[�����[�N�ɑ�������Direct3DRM���܂܂�Ă����B

�@���̌�A����̓R���V���[�}�E�Q�[���@����������3D�Q�[���E�u�[���ɓ˓����APC�‹�������ɍ��킹�ĐV�����o�[�W������DirectX�ƐV�����r�f�I�E�J�[�h�����N�̂悤�ɓo�ꂵ���B����ɔ���DirectX�̎����DirectDraw����Direct3D�Ɉڂ��Ă����B2000�N�ɓo�ꂵ��DirectX 8�ɓ��ڂ��ꂽDirectX Graphics�́A�uDirectDraw��Direct3D�̓����v�Ƃ�������������Ƃ͗����ɁA3D�`��API�ɂ��`��@�\���č\�z�������̂ł���A����͎�����DirectDraw�̏I�����Ӗ������B

�@�܂�����Windows 9x�݂̂ł�����DirectX�̃T�|�[�g�����AWindows NT 4.0�����Windows NT�n�ł��T�|�[�g���n�܂����BWindows NT 4.0��GDI*2��USER*3�̎����̑������i���[�U�[�E���[�h����j�J�[�l���E���[�h�Ɉڂ��ꂽ���Ƃɂ͎^�ۗ��_���������ADirectX�̃T�|�[�g���l����Ƃ�͂�K�v�Ȍ��f�ł������Ƃ����邩������Ȃ��B

*2 Windows�̕`��@�\��񋟂���API�Q�́AGDI�֘A��.DLL�t�@�C���Ɏ�������Ă���B
�@
*3 �E�B���h�E��{�^���Ȃǂ̃��[�U�[�E�C���^�[�t�F�C�X�@�\��񋟂���API�Q�́AUSER�֘A��.DLL�t�@�C���Ɏ�������Ă���B

�@������Windows 2000�ȍ~�A�f�X�N�g�b�v�`��ɂ����������ʂ��p������悤�ɂȂ��Ă���ƁAGDI�̐݌v�̌Â��͑傫�Ȗ��ƂȂ��Ă����B�}�C�N���\�t�g��Windows 2000��GDI�ɃA���t�@�E�u�����h�`����܂ނ����‚���API��lj����A���C���E�E�B���h�E�ƌĂ΂�铧�߃E�B���h�E�̎d�g�݂��f�X�N�g�b�v�E�E�B���h�E�E�}�l�[�W���ɒlj������B�������ߔN�ɂȂ���3D�n�[�h�E�F�A�ɓ��ڂ��ꂽ�@�\�̑����́A�͂邩�ȑO�ɐ݌v���ꂽGDI�Ƃ͐݌v�v�z����قȂ���̂ł��������߁AGDI�̋@�\��啝�Ɋg�����邱�Ƃ͂ł��Ȃ������̂��B

�@�܂���������GDI+�ƌĂ΂��V�����`�惉�C�u���������J���ꂽ���A�����񋟂����Ƃ����Ă���GDI+�����n�[�h�E�F�A�E�A�N�Z�����[�V�����͂��܂��ɓo�ꂵ�Ă��炸�A�ˑR�Ƃ���GDI+��GDI�����b�v����\�t�g�E�F�A�E�����_���ɂƂǂ܂��Ă���B

�@.NET Framework�͕`�惉�C�u�����Ƃ���GDI+�̃}�l�[�W�E���b�p�[��W���ɑI�񂾂��߁AWin32�E�B���h�E�̃��b�p�[�ł���.NET��Windows�t�H�[����GDI+�ɋ����ˑ����邱�ƂƂȂ����B

�@���̂悤��Windows�O���t�B�b�N�X�̏󋵂́AWindows Vista�̓o��ɂ��傫���󋵂��ω����邾�낤�BVista�ł�DirectX 9���x���̃n�[�h�E�F�A�E�A�N�Z�����[�V���������p����2�‚̐V�Z�p�����������B

�@1�‚́AWindows Vista�ɕW�����ڂ����.NET Framework 3.0�ł���A����Ɋ܂܂��uWindows Presentation Foundations�v�i�ȉ�WPF�j��DirectX�A�N�Z�����[�V�����𗘗p����BWPF�͏]����Win32�E�B���h�E�E�V�X�e�����g�b�v���x���E�E�B���h�E�ɂ̂ݎg�p���A����ȉ��̕`��v�f�ɂ‚��Ẵ��b�Z�[�W���O��`�揈���͂��ׂĎ��O�ŏ������s���v���Z�X�E���x���̃E�B���h�E�E�V�X�e���ł��邪�A���̕`�揈�����uMedia Integration Layer�v�i�ȉ�MIL�j�ƌĂ΂��A���}�l�[�W�E���C���[��ʂ���DirectX 9 API�Ăяo���ɕϊ�����Ă���B�܂�.NET Framework 3.0��Windows XP SP2�ւ̃o�b�N�E�|�[�g���\������Ă���A���݌��J����Ă���Windows XP�����̃x�[�^�łł́A���ł�DirectX 9���g�p�����`�悪��������Ă���BWindows Vista�‹���Windows XP�‹��̈Ⴂ�Ƃ��ẮAVista�ɓ��ڂ����DirectX 9.L�ƌĂ΂��DirectX 9�̊g���ł̑��݂�����AClearType�`��ɓ��������n�[�h�E�F�A�E�A�N�Z�����[�V������A�v���Z�X�Ԃł̃��\�[�X���L�ɂ��ȃ��������ʂ́AWindows Vista Display Driver Model�i�ȉ�WDDM�A�ȑO��Longhorn Display Driver Model�܂���LDDM�ƌĂ΂�Ă����j�ɑΉ�����3D�n�[�h�E�F�A�𓋍ڂ���Windows Vista�‹��ł̂ݎ����������̂Ɨ\�z�����B

�@����1�‚�Vista�̐V�Z�p�́uDesktop Window Manager�v�i�ȉ�DWM�j�ŁAGDI�𗘗p�����]���̃A�v���P�[�V�����`����I�t�E�X�N���[����ʂɃ��_�C���N�g���A�f�X�N�g�b�v��̃E�B���h�E������DirectX�Z�p���g�p����Ƃ������̂�*4�B���ۂɂ͂���DWM�̕`�揈�����O�q��MIL��ʂ��Ď�������Ă���B�܂��AWindows Aero*5�̓����ł�����K���X���̃r�W���A���E�G�t�F�N�g��DWM�ɂ���Ď�������Ă���AWin32 API�ɐV�����lj������DWM API�ɂ���Đ��䂳���BMIL��WPF�̈ꕔ�ƌ��闧��ł́uDWM��WPF�i�̉��ʃ��C���[�ł���MIL�j���g�p����v�ƕ\������邱�Ƃ����邪�A���̏ꍇ.NET Framework�Ŏ������ꂽWPF�̃}�l�[�W�E���C�u�����w��DWM�͕K�v�Ƃ��Ă��Ȃ����Ƃɒ��ӂ��K�v�ł���B

*4 ���ۂɃ��_�C���N�g�������ǂ̂悤�ɍs���邩�ɂ‚��ẮAGreg Schechter����Blog�uRedirecting GDI, DirectX, and WPF applications�v�ɏڂ����B
�@
*5 Windows Aero�Ƃ�Windows Vista�ɓ��ڂ����V�������[�U�[�E�C���^�[�t�F�C�X�̂��ƂŁA�E�B���h�E�𔼓����ɂ��邱�ƂŔw�i�������Č�����悤�ɂ����i����΁u�K���X���v�́j���o���ʂ��̗p���Ă���B
��Windows Aero�̎��s�C���[�W�ɂ‚��ẮA�u��IT NewsInsight�FMS���wWindows Vista�x���J�A�w3D��UI�Ő��Y��������x�v���Q�Ƃ��ꂽ���B

�@Windows Vista�ł́A���̂悤�ɁA�N���C�A���g�̈�̐V�����`�惂�f���Ƃ��Ă�WPF�ƁA�]���̃A�v���P�[�V�����ɂ��K���”\�ȐV�����E�B���h�E�������”\�ɂ���DWM�Ƃ���2�‚̋Z�p�ɂ����DirectX 9�ɂ��n�[�h�E�F�A�E�A�N�Z�����[�V�����̓K�p�͈͂��L���邱�ƂƂȂ�B�����WDDM�ɑΉ������ŋ߂̃n�[�h�E�F�A�ł́AMIL��ʂ��Ď����I��DirectX 9.L�ɂ��A�N�Z�����[�V���������p�����̂��B

��DirectX���g�����R�A�K�v�ȏ��

�@Windows�Q�[���̂قƂ�ǂ�DirectX���g�p���Ă��邱�Ƃ����������悤�ɁA�n�C�p�t�H�[�}���X��v�������}���`���f�B�A�E�A�v���P�[�V�����ɂ�DirectX�������Ă���B�����̃A�v���P�[�V�����ł̓n�[�h�E�F�A�̐��\�������悭�����o�����Ƃ��K�v�����炾�B

�@���̂悤�Ȏ��_�Ō���ƁADirectX�̓��C�u�������ł̃p�t�H�[�}���X�E���X���ɗ͐��܂�Ȃ��悤�A�n�[�h�E�F�A�̔������b�p�[�Ƃ��Đ݌v����Ă��邱�Ƃ�������B�ő���̍œK����]�ޏꍇ�́AWin32�̕`��API����DirectX�̕����D�ꂽ���ƂȂ邾�낤�B�Ȃ��ŋ߂ł́A�Q�[���ȊO�ł�DirectX�̗��p���L�����Ă���A����Google��Picasa2��Google Earth�Ȃǂ̗�������邱�Ƃ��ł���B

�@�܂�Win32 API��OS�̃��C�t�T�C�N���ŕω����Ă���API�Z�b�g�ł���̂ɑ΂��ADirectX�̓n�[�h�E�F�A�̐���Ɠ�������API�Z�b�g�ł���Ƃ�����B��قǂ��q�ׂ����ADirectX��COM��p�������ƂŁA���o�[�W������API�Z�b�g���c�����܂ܐV����API�Z�b�g��񋟂ł����B�ʏ�A�V����DirectX�͍ŐV��Windows OS�����łȂ�����܂łɃ����[�X���ꂽ�唼�ɃC���X�g�[�����”\�ł���A���ۂ��̈Ӗ��ł�OS���Ƃɋ@�\���ׂ����قȂ�Win32 API�ɔ�ׁADirectX��p��������OS�Ԃ̍��ق����Ȃ��Ƃ���������B

�@�Q�[���J���ł́A���΂���DirectX��ɓK�؂ȃt���[�����[�N���\�z���A�Q�[���{�̂̓t���[�����[�N�Ɉˑ�����3�K�w�A�[�L�e�N�`�����悭�p������B�t���[�����[�N�w��DirectX�ƃn�[�h�E�F�A�̉•ϐ����z�����邱�ƂŁA�n�[�h�E�F�A�̌����I�ȗ��p�ƃv���O�������Y�̍ė��p���̊Ԃ̃o�����X�����킯�ł���B

�@�������n�[�h�E�F�A����g����A�v���P�[�V�����𒷊��ԃ����[�X���������ʂł́A�n�[�h�E�F�A�̐i���Ƃ����•ϐ��͕K���ǂ����Ŏ󂯎~�߂Ȃ���΂Ȃ�Ȃ��B���̈Ӗ��Ńt���[�����[�N�̃T�u�V�X�e���Ƃ���DirectX��I�����郁���b�g�͑傫�����낤�B

�@

�@INDEX
�@ .NET��Windows Vista�֍L����DirectX�̐��E
�@ ��1�� DirectX�̐^��
  1�DDirectX�Ƃ́H
�@   2�D�����`��̗�����i1�j
�@   3�D�����`��̗�����i2�j
�@
�C���f�b�N�X�E�y�[�W�w �@�u.NET��Windows Vista�֍L����DirectX�̐��E�v


Insider.NET �t�H�[���� �V���L��
  • ��2��@�Ȍ��ȃR�[�f�B���O�̂��߂� �i2017/7/26�j
    �@�����_���ŋL�q�ł��郁���o�̑����Athrow���Aout�ϐ��A�^�v���ȂǁAC# 7�ɂ͈ȑO�����R�[�h���Ȍ��ɋL�q�ł���悤�ȋ@�\����������Ă���
  • ��1��@Visual Studio Code�f�o�b�O�̊�b�m�� �i2017/7/21�j
    �@Node.js�v���O�������f�o�b�O���Ȃ���AVisual Studio Code�ɓ�������Ă���f�o�b�O�@�\�̊�{�́u�L�v���}�X�^�[���悤
  • ��1��@���ĂȃR�[�f�B���O�̂��߂� �i2017/7/19�j
    �@C# 7�Œlj����ꂽ�V�@�\�̒�����A�u���l���e�����\���̉��P�v�Ɓu���[�J���֐��v���Љ��B�����͕�����₷���R�[�h���L�q����̂Ɏg����
  • Presentation Translator �i2017/7/18�j
    �@Presentation Translator��PowerPoint�p�̃A�h�C���B�v���[���e�[�V�������̎����̕t����A������ł̎��^�����A�X���C�h�̖|����s����
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

Insider.NET �L�������L���O

�{�� ����