NV40의 진화 크리스 세이츠 (Chris Seitz)
그래픽의 진보 버츄어 파이터 NV1 1백만 삼각형 Wanda NV1x 2천 2백만 삼각형 Dawn NV3x 1억 3천만 삼각형 Wolfman NV2x 6천 3백만 삼각형 Nalu NV4x 2억 2천 2백만
95-98: 매핑과 Z-버퍼 CPU GPU 어플리케이션 / Geometry Stage Rasterization 단계 래스터라이 저 2D Triangles Unit Bus (PCI) 2D Triangles 시스템 메모리 Raster Operations Unit 비디오 메모리 프레임 버퍼
멀티 링(Multitexturing) 기본(Base) 가 라이트 맵(Light Map)에 의해 X 조절(modulated)됨 = UT2004 (c) Epic Games Inc. Used with permission
1999-2000: Transform 과 라이팅(T&L) CPU GPU 어플리케이션 Stage Rasterization Stage Geometry Stage Transform & Lighting Unit 3D Triangles 고정된 함수 파이프라인 Rasterizer Unit Register Combiner Raster Operations Unit Bus (AGP) 3D Triangles 시스템메모리 비디오 메모리 프레임 버퍼
2001: 프로그램 가능한 버텍스 쉐이더 CPU GPU 어플리케이션 Stage 버텍스 쉐이더 (no flow control) 3D Triangles Rasterization Stage Geometry Stage Rasterizer w/ Z-Cull Unit Register Combiner Raster Operations Unit (4 ) Bus (AGP) 3D Triangles 시스템 메모리 비디오 메모리 프레임 버퍼
버텍스 쉐이더 어떠한 버텍스 당 연산이라도 프로그래밍 가능한 프로세서 void VertexShader( // Input per vertex in float4 positioninmodelspace, in float2 texturecoordinates, in float3 normal, // Input per batch of triangles uniform float4x4 modeltoprojection, uniform float3 lightdirection, // Output per vertex out float4 positioninprojectionspace, out float2 texturecoordinatesoutput, out float3 color ) { // Vertex transformation positioninprojectionspace = mul(modeltoprojection, positioninmodelspace); // Texture coordinates copy texturecoordinatesoutput = texturecoordinates; // Vertex color computation color = dot(lightdirection, normal); }
범프 매핑 (Bump Mapping) 범프 매핑은 주어진 픽셀에서의 라이팅을 연산하기 위해서 픽셀 당 노멀(Normal)값을 (인터폴레이트 된 버텍스 노멀(interpolated vertex normal) 대신) 노멀 맵 에서 가져온다 = + Diffuse light Normal Map Diffuse light with bumps
02-03: 프로그래밍 가능한 픽셀 쉐이더 CPU GPU 어플리케이션 Stage 버텍스 쉐이더 (static & dynamic flow control) 3D Triangles Rasterization Stage Geometry Stage Rasterizer w/ Z-Cull Unit (16 ) 픽셀 쉐이더 (static flow control) Raster Operations Unit Bus (AGP) 3D Triangles 시스템 메모리 비디오 메모리 프레임 버퍼
GeForce 6800 혁신적인 성능과 완벽한 쉐이더 Model 3.0 완벽한 Native 쉐이더 Model 3.0 지원 쉐이더 모델 3.0 완벽 지원 버텍스 Fetch / Long programs / 픽셀 쉐이더 flow 제어 풀 스피드 fp32 쉐이딩 OpenEXR High Dynamic Range Rendering 부동 소수점 프레임 버퍼 블렌딩 부동 소수점 필터링 최상의 퍼포먼스 222M xtors / 0.13um @ IBM 6 버텍스 units / 16 픽셀 파이프라인 차세대 비디오 VMR / High quality compositing 하드웨어 MPEG 인코딩/디코딩 HDTV 출력 PCI Express
2004: 쉐이더 Model 3.0 과 64-Bit Color 지원 CPU GPU 어플리케이션 Stage Rasterization Stage Geometry Stage 버텍스 쉐이더 (static & dynamic flow control) Rasterizer w/ Z-Cull 픽셀 쉐이더 Unit (static & dynamic flow control) Raster Operations Unit 64-Bit Color 3D Triangles Bus (PCIe) 3D Triangles 시스템 메모리 비디오 메모리 프레임 버퍼
쉐이더 Model 3.0 길어진 쉐이더 보다 복잡한 쉐이딩 가능 픽셀 쉐이더: 다이나믹한 플로우 컨트롤 보다 나은 퍼포먼스 Derivative instructions 쉐이더 앤티앨리어싱 32 비트 부동소수점 정확도 지원 더 적은 artifacts Face 레지스터 빠른 양면 라이팅 Lord of the Rings The Battle for Middle-earth 버텍스 쉐이더: 억세스 GPU에서 시뮬레이션, 디스플레이스먼트 매핑 Far Cry Geometry Instancing 보다 나은 성능 SpeedTree
완벽한 Native DirectX 9 지원 DX9 DX9.0c 2.0 3.0 256 216 (65,535) 디스플레이스먼트 매핑 - 9 버텍스 Fetch - 9 Geometry Instancing - 9 Dynamic Flow Control - 9 2.0 3.0 fp24 fp32 96 216 (65,535) 서브루틴 - 9 루프와 분기 - 9 Dynamic Flow Control - 9 버텍스 쉐이더 모델 Vtx 쉐이더 명령어 수 픽셀 쉐이더 모델 필수 쉐이더 정확도 픽셀 쉐이더 명령어 수
GeForce 6800 그래픽스 최상의 성능 최고 8배의 픽셀 쉐이터 성능 4배의 파이프와 파이트 당 2배의 연산의 조합 2배의 버텍스 쉐이터 성능 - MIMD 아키텍쳐, dual-issue, 효과적인 분기(branching) 차세대 UltraShadow - z/stencil rendering에서는 NV35 32ppc 의 4배의 성능 256-비트 DDR3 1.1 GHz DDR 데이터 전송률.
GeForce 6800 시리즈3D 파이프라인 Triangle Setup Z-Cull 쉐이더 명령어 Dispatch L2 Tex Fragment Crossbar Memory Partition Memory Partition Memory Partition Memory Partition
NV40 쉐이터 퍼포먼스 쉐이더상에서 GeForce FX 5950 성능의 여러 배 10.0 9.0 8.0 7.0 6.0 5.0 4.0 3.0 2.0 3DMark03 Aquamark DeusEx FarCry Film Gunmetal Halo HL2 Protomark Shadermark HDR Light Demo Splinter Cell Tomb Raider UE3 0.0 UT 1.0
쉐이더 모델 3.0 / 64-비트 부동 소수점 프로세싱 GeForce 6 시리즈에서 구동되는 Unreal Engine 3.0 2백만개의 삼각형으로 구성 된 상세한 메쉬 모델들 High Dynamic Range Rendering 완벽히 커스텀화 가능한 쉐이더 UnReal Engine 3.0 Images Courtesy of Epic Games
쉐이더 모델 3.0 / 64-비트 부동 소수점 프로세싱 GeForce 6 시리즈에서 구동되는 Unreal Engine 3.0 1억개의 삼각형 소스 컨텐츠 Scene High Dynamic Range Rendering UnReal Engine 3.0 Images Courtesy of Epic Games
Demo: 실시간 톤 매핑(Tone Mapping) 이미지는 시연을 위하여 전부 64비트 색상으로 계산되었으며 톤 매핑이 적용됨 같은 장면을 렌더링 함, 낮은 노출부터 높은 노출까지
향후 10년간 발전 방향 1000000 CPU Frequency (GHz) 127 Gvertx Bus Bandwidth (GB/sec) Pixel Fill Rate (MPixels/sec) 100000 Vertex Rate (MVerts/sec) Graphics flops (GFlops/sec) 10000 Graphics Bandwidth (GB/sec) 1000 픽셀 100 R Fill ate 스 텍 버 hic ap r G te Ra lo sf ps idth w d Ban cy BUS uen q e Fr CPU 10.5 Mverts 1 100 GHz 0.1 1994 2004 100 MHz 2014
NVIDIA SLI 멀티-GPU
감사합니다