분류 전체보기

    [Direct11] 28. Direct3D Compute Shader - Blur System

    1. Direct3D Compute Shader 1.1 Blur System 1.1.1 Blur Algorithm - 원본 이미지의 각 픽셀Pij에 대해 그 픽셀Pij를 중심으로한 M ✕ N 픽셀 행렬의 가중 평균 계산 - 그 가중 평균을 결과의 ij 픽셀로 설정, M과 N을 홀수로 두면 항상 자연스러운 중앙 성분 존재 - 가중치의 합이 1, 합이 1보다 작으면 색상 성분이 작아져 원본 이미지보다 어두워 지는 반면 크면 밝아짐 - 합이 1인 가중치들을 결정하는 방법인 가우스 흐리기 사용하여 가우스 함수로 구한 가중치들을 사용 - 가우스 흐리기는 분리 가능으로 알려짐, 2차원 흐리기를 다음과 같이 1차원 흐리기로 나누어 적용 - 입력 이미지 I를 1차원 수평 가우스 흐리기 핵으로 흐림, 단계 I의 결과를 ..

    [Direct11] 27. Direct3D Compute Shader - I/O Resource

    1. Direct3D Compute Shader 1.1 Compute Shader 1.1.1 I/O Resource - Input Texture - 계산 셰이더에 묶을 수 있는 좌원은 두 종류, Buffer & Texture - 이전 글에서 두 Texture를 계산할 때 입력된 Texture를 계산 셰이더에 실제로 입력 - 응용 프로그램에서 Texture에 대한 SRV를 생성하고 Effect File로 전달하는 변수를 통해 설정 - 보통 Texture Resource를 셰이더 자원 뷰를 통해 픽셀 셰이더에 묶는 것과 마찬 가지 방식 - Input Texture들의 경우 해당 셰이더 자원 뷰가 읽기 전용 StructuredBuffer gInputA; StructuredBuffer gInputB; 1.1.2..

    [Direct11] 26. Direct3D Compute Shader

    1. Direct3D Compute Shader 1.1 Compute Shader 1.1.1 Compute Shader - GPU는 하나의 장소 & 연속된 장소들에 대량의 메모리를 읽어서 처리하는 작업에 최적화 - 임의 메모리 접근을 염두에 두고 설계된 CPU와 대조적인 특징 - 정점들과 픽셀들이 개별적으로 처리된다는 특징 때문에 GPU는 대규모 벙렬 처리에 맞게 설계 - Compute Shader는 Direct3D가 저공하는 프로그램 기능 셰이더 - 렌더링 파이프라인에 직접 포함되어 있는 것이 아닌 옆에 존재, GPU 자원에서 직접 자료를 읽거나 기록 가능 1.1.2 Thread & Thread Group - GPU 프로그래밍에서 작업을 실행할 다수의 스레드들이 스레드 그룹들로 묶여 일종의 격자를 형성..