DirectX90이란 무엇입니까?
DirectX 버전 9.0은 Microsoft에서 제작한 그래픽 가속기입니다. 이를 통해 컴퓨터의 다양한 응용 프로그램이 컴퓨터의 하드웨어 리소스에 직접 액세스하여 성능 가속을 얻을 수 있습니다. 프로그램과 하드웨어 사이에 초보자라면 이것만 알면 됩니다.
자세한 소개 추가
DirectX는 단순한 그래픽 API가 아니라 Microsoft에서 개발한 API입니다. 다이렉트 그래픽(다이렉트 3D 다이렉트 드로우), 다이렉트 입력, 다이렉트 재생, 다이렉트 사운드, 다이렉트 쇼, 다이렉트 설정, 다이렉트 미디어 개체 및 기타 구성 요소는 완벽한 멀티미디어 인터페이스 솔루션 세트를 제공합니다. 단지 3D 그래픽의 뛰어난 성능이 다른 측면을 밋밋해 보이게 만드는 것일 뿐입니다. DirectX는 원래 Windows 3.1 시스템의 부족한 그래픽 및 사운드 처리 기능을 보완하기 위해 개발되었으나 이제는 전체 멀티미디어 시스템의 모든 측면에 결정적인 영향을 미치는 인터페이스로 발전했습니다.
DirectX 5.0
마이크로소프트는 DirectX 4.0을 출시하지 않고 DirectX 5.0을 직접 출시했다. 이번 버전은 Direct3D에 큰 변화를 주었습니다. 안개 효과, 알파 블렌딩과 같은 3D 특수 효과를 추가하여 3D 게임의 공간감과 현실감을 향상시켰습니다. 또한 S3의 텍스처 압축 기술도 추가되었습니다. 동시에 DirectX 5.0은 사운드 카드 및 게임 컨트롤러의 개선을 포함하여 다른 구성 요소도 강화되었으며 더 많은 장치를 지원합니다. 따라서 DirectX는 DirectX 5.0으로 개발된 이후로 정말 성숙해졌습니다. 이때 DirectX의 성능은 다른 3D API에 비해 열등하지 않으며, 뒤에서 따라잡을 가능성이 높습니다.
DirectX 6.0
DirectX 6.0이 출시되었을 때 가장 큰 경쟁자 중 하나인 Glide는 점차 쇠퇴했고 DirectX는 대부분의 제조업체에서 인정을 받았습니다. DirectX 6.0에는 3D 이미지 품질을 최적화하기 위해 이중선형 필터링, 삼선형 필터링 및 기타 기술이 추가되었으며 게임의 3D 기술은 점차 성숙 단계에 접어들었습니다.
DirectX 7.0
DirectX 7.0의 가장 큰 특징은 Tamp;L을 지원한다는 점이며, 중국어 이름은 "좌표 변환 및 광원"입니다. 3D 게임의 모든 객체에는 좌표가 있습니다. 이는 좌표 변환을 의미하며 조명이 없으면 3D 객체의 성능도 없습니다. . 실시간 3D 게임이든 3D 이미지 렌더링이든 조명을 사용한 3D 렌더링은 리소스를 가장 많이 소모합니다. OpenGL에는 관련 기술이 존재하지만 이전에는 소비자급 하드웨어에 등장한 적이 없습니다. Temp;L이 등장하기 전에는 위치 변환 및 조명에 CPU 계산이 필요했습니다. CPU가 빠를수록 게임 성능이 더 매끄러워졌습니다. T&L 기능을 사용한 후 이 두 가지 효과의 계산을 디스플레이 카드의 GPU에서 계산하므로 CPU가 바쁜 노동에서 해방될 수 있습니다. 즉, Temp;L 그래픽 카드가 있고 DirectX 7.0을 사용한다면 고속 CPU 없이도 3D 게임을 원활하게 실행할 수 있다는 것입니다.
DirectX 8.0
DirectX 8.0의 출시는 그래픽 카드에 혁명을 일으켰습니다. 처음으로 "픽셀 렌더링"이라는 개념을 도입했으며 픽셀 렌더링 엔진(Pixel Shader) 및 정점 렌더링 엔진(Vertex Shader)은 동적 조명 및 그림자 효과로 특수 효과에 반영됩니다.
하드웨어 T&L만 구현하는 고정 조명 및 그림자 변환과 비교할 때 VS 및 PS 장치는 더 유연하여 GPU를 진정한 프로그래밍 가능 프로세서로 만듭니다. 이는 프로그래머가 이를 사용하여 훨씬 쉽게 3D 장면을 구성할 수 있음을 의미합니다. VS 및 PS 렌더링을 통해 수면에 사실적이고 역동적인 빛과 그림자 효과를 쉽게 생성할 수 있습니다. 이 시점에서 DirectX의 권위 있는 지위가 마침내 확립되었습니다.
DirectX 9.0
2002년 말에 Microsoft는 DirectX 9.0을 출시했습니다. DirectX 9에서 PS 장치의 렌더링 정확도는 부동 소수점 정밀도에 도달했으며 기존 하드웨어 T&L 장치도 취소되었습니다. 새로운 VertexShader(버텍스 셰이더 엔진) 프로그래밍은 이전보다 훨씬 더 복잡해졌습니다. 새로운 VertexShader 표준은 프로세스 제어, 더 많은 상수를 추가하고 프로그램당 셰이딩 명령 수가 1024개로 늘어났습니다.
PS 2.0은 완전히 프로그래밍 가능한 아키텍처를 갖추고 있어 비디오 메모리를 차지하지 않고 실시간으로 텍스처 효과와 동적 텍스처 맵을 계산할 수 있으며, 이론적으로 재료 맵의 해상도 정확도도 무한히 향상될 수 있습니다. , PS1.4는 28개의 하드웨어 명령어만 지원하고 6개의 자료를 동시에 작동할 수 있지만 PS2.0은 160개의 하드웨어 명령어를 지원하고 동시에 16개의 자료를 작동할 수 있습니다. 새로운 고정밀 부동 소수점 데이터 사양은 여러 가지를 사용할 수 있습니다. 명령어 수를 임의로 길게 할 수 있으며, 영화 수준의 디스플레이 효과를 쉽게 얻을 수 있습니다.
VS 2.0은 Vertex 프로그램의 유연성을 높여 VS의 이전 버전(DirectX8)의 성능을 크게 향상시켰습니다. 새로운 제어 명령은 이전의 전용 별도 셰이딩 프로그램을 일반 프로그램으로 대체하여 효율성을 향상시킬 수 있습니다. 작업 시간을 줄이고 처리 효율성을 높이기 위해 루프 작업 명령을 여러 번 늘립니다. 128개에서 256개로 확장합니다.
부동 소수점 데이터 처리 기능을 추가합니다. 이전에는 정수만 처리할 수 있었습니다. 이를 통해 렌더링 정확도가 향상되고 최종 처리된 색상 형식이 영화 수준에 도달할 수 있습니다. 이전에 PC 그래픽과 이미지 품질을 제한했던 수학적 정확도 장벽을 깨고 각 렌더링 파이프라인이 128비트 부동 소수점 색상으로 업그레이드되어 게임 프로그래머가 더욱 아름다운 효과를 더 쉽게 프로그래밍할 수 있습니다. .
DirectX 9.0c
과거 DirectX 9.0b 및 Shader Model 2.0과 비교하여 DirectX 9.0c의 가장 큰 개선점은 Shader Model 3.0(Pixel Shader 3.0 및 Vertex 포함)의 도입입니다. Shader 3.0 두 가지 음영 언어 사양)을 완벽하게 지원합니다. 예를 들어 DirectX 9.0b의 Shader Model 2.0에서 지원하는 Vertex Shader 명령어의 최대 개수는 256개이고 Pixel Shader 명령어의 최대 개수는 96개입니다. 최신 Shader Model 3.0에서는 새로운 동적 프로그램 흐름 제어, 변위 매핑, 다중 렌더 타겟(MRT), 하위 표면 산란 및 부드러운 그림자를 통해 Vertex Shader 및 Pixel Shader의 최대 명령 수가 65535개로 크게 늘어났습니다. 부드러운 그림자, 환경 및 지면 그림자, 전역 조명과 같은 기술적 기능을 통해 GeForce 6, GeForce7 시리즈 및 Radeon X1000 시리즈는 비교할 수 없는 현실감과 판타지를 갖춘 차세대 게임 및 복잡한 디지털 게임에 즉시 사용할 수 있습니다. 영화 수준의 환경에서 돌아다니는 것입니다.
따라서 DirectX 9.0c와 Shader Model 3.0 표준의 출시는 DirectX 개발에 있어서 중요한 전환점이라고 할 수 있습니다. DirectX 9.0c에서는 Shader Model 3.0에서는 명령 수 제한을 없애고 변위 맵 등의 새로운 기능을 추가하는 것 외에도 게임의 실행 효율성과 품질을 해결하기 위해 노력한 기능이 더 많아졌습니다. 셰이더 모델 3.0, 사람들이 게임을 대하는 태도도 과거에는 단순히 속도만을 추구하던 것에서 게임의 화질과 실행 속도를 모두 고려하는 방향으로 변화하기 시작했습니다. 따라서 Shader Model 3.0은 게임 산업에 지대한 영향을 미칩니다.