셰이더
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
셰이더는 3D 그래픽의 시각적 효과를 제어하는 데 사용되는 프로그램이다. 1988년 픽사의 렌더맨 인터페이스 발표와 함께 처음 소개되었으며, GPU의 발전과 함께 프로그래밍 가능한 셰이더가 등장했다. 셰이더는 버텍스 셰이더, 지오메트리 셰이더, 픽셀 셰이더, 테셀레이션 셰이더, 컴퓨트 셰이더 등 다양한 종류가 있으며, OpenGL, Direct3D와 같은 그래픽 라이브러리에서 지원된다. 셰이더는 셰이딩 언어로 프로그래밍되며, 병렬 처리에 적합하여 그래픽 처리량을 향상시킨다. 영화, 게임, 2D CG 소프트웨어 등 다양한 분야에서 활용되며, 특히 대한민국에서는 게임 산업의 발전에 크게 기여했다.
셰이더의 개념은 1988년 5월 픽사의 렌더맨 인터페이스 사양 버전 3.0 발표와 함께 대중에 소개되었다.[2] 초기에는 고정 기능 파이프라인(Fixed Function Pipeline, FFP)이 주로 사용되었으나,[38] 그래픽 처리 장치(GPU)가 발전하면서 프로그래밍 가능한 셰이더가 등장하였다.
Direct3D와 오픈지엘 그래픽 라이브러리는 주로 세 가지 종류의 셰이더를 사용한다:[19] 버텍스 셰이더, 지오메트리 셰이더, 픽셀 셰이더.[19] 일반적으로 사용되는 셰이더에는 세 가지 유형(픽셀 셰이더, 버텍스 셰이더, 지오메트리 셰이더)이 있으며, 최근에는 테셀레이션 셰이더, 컴퓨트 셰이더 등 새로운 종류의 셰이더도 추가되었다. 구형 그래픽 카드는 각 셰이더 유형별로 별도의 처리 장치를 사용했지만, 최신 카드는 통합 셰이더를 통해 모든 유형의 셰이더를 실행할 수 있다.
2. 역사
OpenGL과 Direct3D 같은 주요 그래픽 소프트웨어 라이브러리들은 셰이더를 지원하기 시작했다. 초기에는 픽셀 셰이더만 지원했으나, 개발자들이 셰이더의 힘을 깨닫자 버텍스 셰이더가 빠르게 도입되었다.[3] 2001년, 엔비디아 지포스 3(NV20)는 프로그래밍 가능한 픽셀 셰이더를 탑재한 최초의 비디오 카드였다.[3] 지오메트리 셰이더는 Direct3D 10 및 OpenGL 3.2와 함께 도입되었다. 이후 그래픽 하드웨어는 통합 셰이더 모델로 발전하여, 모든 유형의 셰이더를 실행할 수 있게 되었다.[42] [43] [44] [45] [46]
대한민국에서는 2000년대 초반 온라인 게임 시장의 급성장과 함께 셰이더 기술이 주목받기 시작했으며, 특히 '리니지2', '테라' 등의 게임은 높은 수준의 그래픽을 구현하기 위해 셰이더를 적극적으로 활용했다.
2. 1. 대한민국 게임 산업과 셰이더
3. 셰이더의 종류
스테이지명 입력 출력 비고 정점 셰이더 정점 정점 테셀레이션[32] 프리미티브 프리미티브 종종 "제어 셰이더" + "테셀레이션 고정 기능" 지오메트리 셰이더[33] 프리미티브 프리미티브 (래스터화) 프리미티브 프래그먼트 고정 기능 프래그먼트 셰이더 프래그먼트 프래그먼트
; 버텍스 셰이더
Direct3D와 오픈지엘 그래픽 라이브러리에서 사용되는 셰이더 중 하나이다.[6] 그래픽스 프로세서에 제공된 각 정점에 대해 한 번씩 실행된다. 버텍스 셰이더(버텍스 셰이더/Vertex Shader영어)는 각 정점을 처리하며, 정점 셰이더라고도 한다.[35]
가상 공간에서 각 정점의 3D 위치를 화면에 표시되는 2D 좌표(및 Z-버퍼의 깊이 값)로 변환하는 것이 목적이다.[6] 위치, 색상 및 텍스처 좌표와 같은 속성을 조작할 수 있지만, 새로운 정점을 생성할 수는 없다.[6] 출력은 파이프라인의 다음 단계로 전달되며, 기하 셰이더가 존재할 경우 기하 셰이더이고, 그렇지 않은 경우 래스터라이저이다.[6]
오브젝트를 구성하는 정점을 입력으로 받아 다양한 처리를 수행하고 정점을 출력한다.[35] 3차원 공간 좌표, 법선 벡터, 색상, 텍스처 매핑 좌표를 입력으로 받으며, 그래픽스 API에 따라 텍스처에 대한 부차적인 접근이 제공된다. 일반적으로 모델 변환, 뷰 변환, 투영 변환을 수행하며,[36] 정점 단위의 라이팅도 수행한다. 3D 모델과 관련된 모든 장면에서 위치, 움직임, 조명 및 색상의 세부 사항을 제어할 수 있다.[6]
; 지오메트리 셰이더
Direct3D 10 및 OpenGL 3.2에 도입된 지오메트리 셰이더는 버텍스 셰이더 다음에 실행되며, 점, 선, 삼각형과 같은 프리미티브를 입력받아 새로운 프리미티브를 생성할 수 있다.[7][8] 예를 들어, 삼각형에 대해 작동할 때 세 개의 정점이 지오메트리 셰이더의 입력이 된다.
지오메트리 셰이더는 출력한 프리미티브는 래스터화되고 해당 조각은 궁극적으로 픽셀 셰이더로 전달되거나 혹은 취소된다. 지오메트리 셰이더의 일반적인 사용 사례는 점 스프라이트 생성, 지오메트리 테셀레이션, 섀도 볼륨 돌출 및 큐브 맵으로의 단일 패스 렌더링 등이 있다. 지오메트리 셰이더의 이점을 보여주는 일반적인 실제 예로는 자동 메시 복잡성 수정이 있다. 곡선의 제어점을 나타내는 일련의 선 스트립이 지오메트리 셰이더로 전달되고, 필요한 복잡성에 따라 셰이더가 곡선을 더 잘 근사하는 추가 선을 자동으로 생성할 수 있다.
; 픽셀 셰이더 (프래그먼트 셰이더)
픽셀 셰이더(프래그먼트 셰이더)는 각 픽셀의 색상 및 기타 속성을 계산하는 셰이더이다.[5] Direct3D와 오픈지엘 그래픽 라이브러리에서 사용되는 세 가지 셰이더 중 하나이다. 픽셀 셰이더는 프래그먼트 셰이더라고도 불리며, 각 "프래그먼트"의 색상 및 기타 속성을 계산하는데, 여기서 "프래그먼트"는 최대 하나의 출력 픽셀에 영향을 미치는 렌더링 작업의 단위이다.
픽셀 셰이더는 조명 값을 적용하고, 범프 매핑, 그림자, 반사 하이라이트, 반투명도 등 다양한 효과를 처리한다.[5] 3D 그래픽뿐만 아니라 2D 이미지에도 적용될 수 있으며, 블러 또는 가장자리 감지/강화와 같은 2차원 후처리 효과를 만화/셀 셰이더에 적용할 수 있다.
픽셀 셰이더는 픽셀 단위의 라이팅이나 포스트 프로세스(후처리)를 수행하며, 래스터화되는 프리미티브의 각 픽셀에 영향을 미친다. 또한 텍스처를 참조하여 범프 매핑이나 안개, 그림자, 블룸과 같은 효과를 최종 렌더링 결과에 적용할 수 있다. 픽셀 조작 처리 시간은 입력 프리미티브의 래스터화 후 픽셀 수나 출력 해상도에 따라 달라지므로, 일반적으로 정점 단위 처리에 비해 부하가 높다. 그러나 픽셀 셰이더 프로그램을 통해 높은 병렬 처리 성능을 가진 GPU에서 실행함으로써, 이러한 고도화된 효과를 CPU에서 실행하는 것보다 훨씬 높은 성능으로 구현할 수 있다.
픽셀 셰이더는 깊이(깊이)도 조작할 수 있는데, 이는 렌더링 파이프라인의 최적화에 영향을 미치므로 셰이딩 언어나 그래픽스 API에 따라 플래그 명시가 요구될 수 있다(SPIR-V/Vulkan[37]).
; 테셀레이션 셰이더
OpenGL 4.0 및 Direct3D 11부터 테셀레이션 셰이더라고 불리는 새로운 셰이더가 추가되었다. 테셀레이션 셰이더는 기존 모델에 테셀레이션 제어 셰이더(헐 셰이더라고도 함)와 테셀레이션 평가 셰이더(도메인 셰이더라고도 함)의 두 가지 새로운 셰이더 단계를 추가한다. 이 셰이더들은 런타임 시 수학적 함수에 따라 단순한 메시를 더 정교한 메시로 세분화할 수 있게 해준다.
테셀레이션 셰이더는 모델을 더 작은 삼각형으로 세분화하여 곡선 표현을 개선하거나, 카메라 거리에 따라 디테일 수준을 조정하는 데 사용된다. 이 함수는 다양한 변수와 관련될 수 있으며, 특히 뷰잉 카메라와의 거리를 통해 활성 레벨 오브 디테일 스케일링을 가능하게 한다. 이를 통해 카메라에 가까운 객체는 세밀한 디테일을 갖는 반면, 더 멀리 있는 객체는 더 거친 메시를 가질 수 있지만 품질은 유사하게 보이게 된다. 또한, 매우 복잡한 메시를 메모리에서 다운샘플링하는 대신 셰이더 유닛 내부에서 메시를 세분화할 수 있게 함으로써 필요한 메시 대역폭을 대폭 줄일 수 있다. 어떤 알고리즘은 임의의 메시를 업샘플링할 수 있으며, 다른 알고리즘은 메시 내에서 가장 특징적인 정점과 가장자리를 지시하는 "힌팅"을 허용한다.
; 컴퓨트 셰이더
Direct3D와 오픈지엘 그래픽 라이브러리에서 사용되는 셰이더 종류에는 버텍스 셰이더, 지오메트리 셰이더, 픽셀 셰이더가 있다.[19] 컴퓨트 셰이더는 그래픽 응용 프로그램뿐만 아니라 GPGPU를 위해서도 사용되며, 그래픽 파이프라인에서 애니메이션, 타일 기반 전방향 렌더링과 같은 조명 알고리즘의 추가 단계에 활용될 수 있다.[19] 일부 렌더링 API를 사용하면 컴퓨트 셰이더가 그래픽 파이프라인과 데이터 리소스를 쉽게 공유할 수 있다.[19]
컴퓨트 셰이더는 범용 병렬 처리 (GPGPU)를 목적으로 하며, 셰이딩 언어로 기술된다.[19] OpenGL 4.3 이후, OpenGL ES 3.1 이후, 및 Direct3D 11 이후에서 제공된다. Direct3D에서는 Direct3D API를 포함한 총칭으로 DirectCompute라고 불린다.[19] GPGPU 전용 API·언어로는 CUDA와 OpenCL이 잘 알려져 있다.[19]
3. 1. 버텍스 셰이더
Direct3D와 오픈지엘 그래픽 라이브러리에서 사용되는 셰이더 중 하나이다.[6] 그래픽스 프로세서에 제공된 각 정점에 대해 한 번씩 실행된다. 버텍스 셰이더(버텍스 셰이더/Vertex Shader영어)는 각 정점을 처리하며, 정점 셰이더라고도 한다.[35]
가상 공간에서 각 정점의 3D 위치를 화면에 표시되는 2D 좌표(및 Z-버퍼의 깊이 값)로 변환하는 것이 목적이다.[6] 위치, 색상 및 텍스처 좌표와 같은 속성을 조작할 수 있지만, 새로운 정점을 생성할 수는 없다.[6] 출력은 파이프라인의 다음 단계로 전달되며, 기하 셰이더가 존재할 경우 기하 셰이더이고, 그렇지 않은 경우 래스터라이저이다.[6]
오브젝트를 구성하는 정점을 입력으로 받아 다양한 처리를 수행하고 정점을 출력한다.[35] 3차원 공간 좌표, 법선 벡터, 색상, 텍스처 매핑 좌표를 입력으로 받으며, 그래픽스 API에 따라 텍스처에 대한 부차적인 접근이 제공된다. 일반적으로 모델 변환, 뷰 변환, 투영 변환을 수행하며,[36] 정점 단위의 라이팅도 수행한다. 3D 모델과 관련된 모든 장면에서 위치, 움직임, 조명 및 색상의 세부 사항을 제어할 수 있다.[6]
3. 2. 지오메트리 셰이더
Direct3D 10 및 OpenGL 3.2에 도입된 지오메트리 셰이더는 버텍스 셰이더 다음에 실행되며, 점, 선, 삼각형과 같은 프리미티브를 입력받아 새로운 프리미티브를 생성할 수 있다.[7][8] 예를 들어, 삼각형에 대해 작동할 때 세 개의 정점이 지오메트리 셰이더의 입력이 된다.
지오메트리 셰이더는 출력한 프리미티브는 래스터화되고 해당 조각은 궁극적으로 픽셀 셰이더로 전달되거나 혹은 취소된다. 지오메트리 셰이더의 일반적인 사용 사례는 점 스프라이트 생성, 지오메트리 테셀레이션, 섀도 볼륨 돌출 및 큐브 맵으로의 단일 패스 렌더링 등이 있다. 지오메트리 셰이더의 이점을 보여주는 일반적인 실제 예로는 자동 메시 복잡성 수정이 있다. 곡선의 제어점을 나타내는 일련의 선 스트립이 지오메트리 셰이더로 전달되고, 필요한 복잡성에 따라 셰이더가 곡선을 더 잘 근사하는 추가 선을 자동으로 생성할 수 있다.
3. 3. 픽셀 셰이더 (프래그먼트 셰이더)
픽셀 셰이더(프래그먼트 셰이더)는 각 픽셀의 색상 및 기타 속성을 계산하는 셰이더이다.[5] Direct3D와 오픈지엘 그래픽 라이브러리에서 사용되는 세 가지 셰이더 중 하나이다. 픽셀 셰이더는 프래그먼트 셰이더라고도 불리며, 각 "프래그먼트"의 색상 및 기타 속성을 계산하는데, 여기서 "프래그먼트"는 최대 하나의 출력 픽셀에 영향을 미치는 렌더링 작업의 단위이다.
픽셀 셰이더는 조명 값을 적용하고, 범프 매핑, 그림자, 반사 하이라이트, 반투명도 등 다양한 효과를 처리한다.[5] 3D 그래픽뿐만 아니라 2D 이미지에도 적용될 수 있으며, 블러 또는 가장자리 감지/강화와 같은 2차원 후처리 효과를 만화/셀 셰이더에 적용할 수 있다.
픽셀 셰이더는 픽셀 단위의 라이팅이나 포스트 프로세스(후처리)를 수행하며, 래스터화되는 프리미티브의 각 픽셀에 영향을 미친다. 또한 텍스처를 참조하여 범프 매핑이나 안개, 그림자, 블룸과 같은 효과를 최종 렌더링 결과에 적용할 수 있다. 픽셀 조작 처리 시간은 입력 프리미티브의 래스터화 후 픽셀 수나 출력 해상도에 따라 달라지므로, 일반적으로 정점 단위 처리에 비해 부하가 높다. 그러나 픽셀 셰이더 프로그램을 통해 높은 병렬 처리 성능을 가진 GPU에서 실행함으로써, 이러한 고도화된 효과를 CPU에서 실행하는 것보다 훨씬 높은 성능으로 구현할 수 있다.
픽셀 셰이더는 깊이(깊이)도 조작할 수 있는데, 이는 렌더링 파이프라인의 최적화에 영향을 미치므로 셰이딩 언어나 그래픽스 API에 따라 플래그 명시가 요구될 수 있다(SPIR-V/Vulkan[37]).
3. 4. 테셀레이션 셰이더
OpenGL 4.0 및 Direct3D 11부터 테셀레이션 셰이더라고 불리는 새로운 셰이더가 추가되었다. 테셀레이션 셰이더는 기존 모델에 테셀레이션 제어 셰이더(헐 셰이더라고도 함)와 테셀레이션 평가 셰이더(도메인 셰이더라고도 함)의 두 가지 새로운 셰이더 단계를 추가한다. 이 셰이더들은 런타임 시 수학적 함수에 따라 단순한 메시를 더 정교한 메시로 세분화할 수 있게 해준다.
테셀레이션 셰이더는 모델을 더 작은 삼각형으로 세분화하여 곡선 표현을 개선하거나, 카메라 거리에 따라 디테일 수준을 조정하는 데 사용된다. 이 함수는 다양한 변수와 관련될 수 있으며, 특히 뷰잉 카메라와의 거리를 통해 활성 레벨 오브 디테일 스케일링을 가능하게 한다. 이를 통해 카메라에 가까운 객체는 세밀한 디테일을 갖는 반면, 더 멀리 있는 객체는 더 거친 메시를 가질 수 있지만 품질은 유사하게 보이게 된다. 또한, 매우 복잡한 메시를 메모리에서 다운샘플링하는 대신 셰이더 유닛 내부에서 메시를 세분화할 수 있게 함으로써 필요한 메시 대역폭을 대폭 줄일 수 있다. 어떤 알고리즘은 임의의 메시를 업샘플링할 수 있으며, 다른 알고리즘은 메시 내에서 가장 특징적인 정점과 가장자리를 지시하는 "힌팅"을 허용한다.
3. 5. 컴퓨트 셰이더
Direct3D와 오픈지엘 그래픽 라이브러리에서 사용되는 셰이더 종류에는 버텍스 셰이더, 지오메트리 셰이더, 픽셀 셰이더가 있다.[19] 컴퓨트 셰이더는 그래픽 응용 프로그램뿐만 아니라 GPGPU를 위해서도 사용되며, 그래픽 파이프라인에서 애니메이션, 타일 기반 전방향 렌더링과 같은 조명 알고리즘의 추가 단계에 활용될 수 있다.[19] 일부 렌더링 API를 사용하면 컴퓨트 셰이더가 그래픽 파이프라인과 데이터 리소스를 쉽게 공유할 수 있다.[19]
컴퓨트 셰이더는 범용 병렬 처리 (GPGPU)를 목적으로 하며, 셰이딩 언어로 기술된다.[19] OpenGL 4.3 이후, OpenGL ES 3.1 이후, 및 Direct3D 11 이후에서 제공된다. Direct3D에서는 Direct3D API를 포함한 총칭으로 DirectCompute라고 불린다.[19] GPGPU 전용 API·언어로는 CUDA와 OpenCL이 잘 알려져 있다.[19]
4. 셰이더 프로그래밍
셰이더는 대상 환경에 따라 다양한 언어로 프로그래밍된다. OpenGL의 공식 셰이딩 언어는 OpenGL Shading Language(GLSL)이다. Direct3D의 셰이딩 언어는 High Level Shader Language(HLSL)이다. Nvidia의 Cg는 OpenGL과 Direct3D 셰이더를 모두 출력할 수 있었으나, 2012년부터 사용이 중단되었다. 애플은 Metal 프레임워크의 일부로 Metal Shading Language를 사용한다.
최근에는 유니티, 언리얼 엔진 등 게임 엔진에서 노드 기반 셰이더 에디터를 제공하여, 코드 작성 없이 셰이더를 생성할 수 있도록 지원한다.
5. 셰이더와 병렬 처리
셰이더는 화면 영역의 각 픽셀 또는 모델의 모든 정점과 같이, 한 번에 많은 수의 요소에 변환을 적용하도록 작성된다. 이는 병렬 처리에 적합하며, 대부분의 최신 GPU는 이를 용이하게 하기 위해 여러 개의 셰이더 그래픽 파이프라인을 갖추고 있어 계산 처리량을 크게 향상시킨다.
셰이더를 사용한 프로그래밍 모델은 렌더링을 위한 고차 함수와 유사하며, 셰이더를 인수로 사용하고 중간 결과 간의 특정 데이터 흐름을 제공하여 데이터 병렬 처리 (픽셀, 정점 등)와 파이프라인 병렬 처리 (단계 간)를 모두 가능하게 한다. ( 맵 리듀스 참조).
6. 셰이더의 활용 분야
셰이더 내에서 구현되는 그래픽스 알고리즘은 용도에 따라 다르게 사용된다.
영화 등 프로덕션 용도의 셰이더는 시간이 오래 걸리지만 고품질의 사실적인 결과를 생성한다. en에 기반한 레이 트레이싱이나 라디오시티, 포톤 매핑 등, 보다 엄밀한 전역 조명(글로벌 일루미네이션) 기반의 물리 기반 음영 계산 모델이 사용된다. 예를 들어, 픽사(PIXAR)의 렌더맨(RenderMan)은 글로벌 일루미네이션을 지원한다.[22]
게임 등 실시간 용도의 셰이더는 품질과 속도 간의 균형(트레이드 오프)이 중요시된다. 상호 반사 등을 고려하지 않는 간소하고 빠른 국소 조명(로컬 일루미네이션) 기반의 음영 계산 모델이나 Z 버퍼 기법이 사용되는 경우가 대부분이다. GPU의 발전과 실시간용 프로그래밍 가능 셰이더의 발전에 따라, 알고리즘과 데이터 구조를 개선하여 글로벌 일루미네이션을 실시간으로 구현하는 예도 등장했지만,[24][25][26][27][28] 2018년 시점에서도 아직 발전 단계에 있는 기술이다.
실시간 용도의 셰이더는 CG 프로덕션 소프트웨어의 미리 보기에도 사용된다. 예를 들어 3ds 맥스(Autodesk 3ds Max), 마야(Autodesk Maya), 소프트이미지(Autodesk Softimage), 그리고 라이트웨이브(NewTek LightWave 3D)가 미리 보기 기능을 제공한다.
2DCG 소프트웨어에도 액셀러레이터로 종종 도입된다(예: 어도비 포토샵(Adobe Photoshop)이나 어도비 플래시(Adobe Flash)). GUI 기반 운영 체제(OS)의 데스크톱 합성 엔진 및 표준 2D 그래픽스 API, 구체적으로는 윈도우 에어로(Windows Aero)/Direct2D(윈도우) 또는 쿼츠 익스트림(Quartz Extreme)/Core Image(macOS)가 그 예시이다.
대한민국에서는 게임 산업을 중심으로 셰이더 기술이 발전해 왔으며, 최근에는 모바일 환경에 최적화된 셰이더 개발이 활발히 이루어지고 있다.
7. 셰이더 관련 기술 및 용어
7. 1. 렌더맨 (RenderMan)
7. 2. 통합 셰이더 모델 (Unified Shader Model)
7. 3. GPGPU (General-Purpose computing on Graphics Processing Units)
7. 4. 셰이딩 언어 (Shading Language)
참조
[1]
웹사이트
LearnOpenGL - Shaders
https://learnopengl.[...]
2019-11-12
[2]
웹사이트
The RenderMan Interface Specification
http://www.redrabbit[...]
[3]
웹사이트
From Voodoo to GeForce: The Awesome History of 3D Graphics
https://www.pcgamer.[...]
2009-05-19
[4]
웹사이트
ShaderWorks' update - DirectX Blog
http://www.directx.c[...]
2003-08-13
[5]
웹사이트
GLSL Tutorial – Fragment Shader
http://www.lighthous[...]
2011-06-09
[6]
웹사이트
GLSL Tutorial – Vertex Shader
http://www.lighthous[...]
2011-06-09
[7]
문서
Geometry Shader - OpenGL
http://www.opengl.or[...]
[8]
웹사이트
Pipeline Stages (Direct3D 10) (Windows)
http://msdn.microsof[...]
2021-01-06
[9]
웹사이트
Radeon RX Vega Revealed: AMD promises 4K gaming performance for $499 - Trusted Reviews
http://www.trustedre[...]
2017-07-31
[10]
웹사이트
The curtain comes up on AMD's Vega architecture
https://techreport.c[...]
2017-01-05
[11]
웹사이트
NVIDIA Turing Architecture In-Depth
https://devblogs.nvi[...]
2018-09-14
[12]
웹사이트
Introduction to Turing Mesh Shaders
https://devblogs.nvi[...]
2018-09-17
[13]
웹사이트
DirectX 12 Ultimate Game Ready Driver Released; Also Includes Support for 9 New G-SYNC Compatible Gaming Monitors
https://www.nvidia.c[...]
[14]
웹사이트
Announcing DirectX 12 Ultimate
https://devblogs.mic[...]
2021-05-25
[15]
웹사이트
Realistic Lighting in Justice with Mesh Shading
https://developer.nv[...]
2021-05-25
[16]
웹사이트
Intel Architecture Day 2021: A Sneak Peek At The Xe-HPG GPU Architecture
https://www.anandtec[...]
[17]
웹사이트
Vulkan Ray Tracing Final Specification Release
https://www.khronos.[...]
2021-02-22
[18]
웹사이트
NNAPI Migration Guide {{!}} Android NDK
https://developer.an[...]
2024-08-01
[19]
문서
Vulkan Specification - Shaders
https://docs.vulkan.[...]
Khronos
2024-08-11
[20]
문서
Graphics - Shaders - Shaders core concepts - Shaders introduction
https://docs.unity3d[...]
Unity
2024-08-11
[21]
문서
Graphics - Shaders - Shaders core concepts - Shaders introduction
https://docs.unity3d[...]
Unity
2024-08-11
[22]
문서
What is RenderMan?
http://renderman.pix[...]
[23]
문서
衝突判定など、ユーザーとのインタラクション処理に要する時間も加味すると、実際に描画処理に使える時間はさらに短くなる。そのため性能の低いモバイル機器などでは30FPSが目標値とされることもある。一方、[[버추얼・리얼리티VR]]の場合は通例[[3D酔い]]を避けるために最低フレームレート要件が引き上げられる。
[24]
문서
3Dグラフィックス・マニアックス (65) 事前計算放射輝度伝搬(PRT)~PRTとは? | マイナビニュース
http://news.mynavi.j[...]
[25]
문서
西川善司の3Dゲームファンのための「ソニック・ワールド・アドベンチャー」グラフィックス講座 -GAME Watch
https://game.watch.i[...]
[26]
문서
Hardware-Accelerated Global Illumination by Image Space Photon Mapping
http://graphics.cs.w[...]
[27]
문서
4Gamer.net ― NVIDIAとEpicが「Unreal Engine 4」で採用された新世代グローバルイルミネーション技法を解説。その威力を直撮りムービーでチェックする
https://www.4gamer.n[...]
[28]
문서
[SIGGRAPH 2014]NVIDIAがゲーム向けのリアルタイム大局照明,IntelはHaswell用DX12ドライバのデモを一般展示セクションで披露 - 4Gamer.net
https://www.4gamer.n[...]
[29]
문서
カスケード シャドウ マップ
https://msdn.microso[...]
[30]
문서
GPU Gems 3 - Chapter 10. Parallel-Split Shadow Maps on Programmable GPUs
http://http.develope[...]
[31]
문서
OpenGL 4.6 specification
https://www.khronos.[...]
Khronos
[32]
문서
OpenGL 4.6 specification
https://www.khronos.[...]
Khronos
[33]
문서
OpenGL 4.6 specification
https://www.khronos.[...]
Khronos
[34]
문서
シェーダー ステージ (Direct3D 10)
https://msdn.microso[...]
[35]
문서
Vulkan Specification - Shaders
https://docs.vulkan.[...]
Khronos
2024-08-11
[36]
웹사이트
頂点シェーダーとフラグメントシェーダーの例
https://docs.unity3d[...]
Unity
2024-08-11
[37]
웹사이트
Vulkan Guide - Using Vulkan - Depth
https://docs.vulkan.[...]
Khronos
2024-08-17
[38]
웹사이트
DirectX 7 の Direct3D におけるライト
https://msdn.microso[...]
[39]
웹사이트
Shader Models vs Shader Profiles - MSDN
http://msdn.microsof[...]
[40]
웹사이트
シェーダーの操作:「シェーダーとは、頂点の変換やピクセルの色付けなど、グラフィックス計算を実行するコンピューター プログラムで、通常 CPU の代わりにグラフィックス処理装置 (GPU) で実行されます。」
https://msdn.microso[...]
[41]
웹사이트
Working with Shaders: "A shader is a computer program that performs graphics calculations—for example, vertex transformations or pixel coloring—and typically runs on a graphics processing unit (GPU) instead of the CPU."
https://msdn.microso[...]
[42]
웹사이트
4Gamer.net
https://www.4gamer.n[...]
[43]
웹사이트
SAPPHIRE X1950 PRO
http://www.sapphiret[...]
[44]
웹사이트
SAPPHIRE Ultimate HD 4670 512MB GDDR3 PCI-E
http://www.sapphiret[...]
[45]
웹사이트
GeForce 8800
http://www.nvidia.co[...]
[46]
웹사이트
GeForce GTX 680 | NVIDIA
http://www.nvidia.co[...]
[47]
웹사이트
Vertex Texture Fetch - OpenGL.org
https://www.opengl.o[...]
[48]
웹사이트
Load (DirectX HLSL Texture Object) (Windows)
https://msdn.microso[...]
[49]
웹사이트
GL_ARB_shader_image_load_store
https://www.opengl.o[...]
[50]
웹사이트
Direct3D 11.1 Features (Windows)
https://msdn.microso[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com