⭐ DirectX/DirectX11 3D
[DirectX11] 063 Compute Shader - GetAnimationBone 구현하기
[DirectX11] 063 Compute Shader - GetAnimationBone 구현하기
2023.03.06Compute Shader는 DirectX 11의 도구로 GPU 상에서 복잡한 연산을 수행할 수 있으며, 애니메이션의 경우 Compute Shader를 사용하여 Skeletal Animation System에서 Bone의 변환을 효율적으로 계산할 수 있어 CPU 오버헤드를 최소화하면서 실시간 애니메이션을 구현할 수 있다. 목차 Compute Shader - GetAnimationBone 구현하기 컴퓨팅 셰이더(Compute Shader)는 그래픽 렌더링에 주로 사용되는 정점 및 픽셀 셰이더와 같은 다른 유형의 셰이더와 달리, Compute Shader는 더 유연하고 다용도적으로 설계되어 있다.Compute Shader에서는 GPU 상의 여러 스레드(multiple threads)에 걸쳐 복잡한 연산..
[DirectX11] 062 Texture Buffer
[DirectX11] 062 Texture Buffer
2023.03.03글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 Texture Buffer Shader RawBuffer.fx Framework Render Buffer.h .cpp Render2D.h .cpp 생성 UnitTest DirectCompute RawBufferDemo.h .cpp Main.h .cpp fx Render2D.fx 더보기 #include "00_Global.fx" #include "00_Light.fx" cbuffer CB_Render2D { matrix View2D; ..
[DirectX11] 061 Thread Group, SV_GroupID
[DirectX11] 061 Thread Group, SV_GroupID
2023.03.02DirectX 11에서 Thread Group은 GPU 상에서 함께 실행되는 셰이더 호출의 집합을 의미한다. Thread Group은 GPU 상에서 비그래픽 처리를 허용하는 그래픽 파이프라인의 프로그래밍 가능한 단계인 컴퓨팅 셰이더에 사용된다. 목차 Thread Group DirectX 11에서 Thread Group은 GPU 상에서 함께 실행되는 셰이더 호출의 집합을 의미한다. Thread Group은 GPU 상에서 비그래픽 처리를 허용하는 그래픽 파이프라인의 프로그래밍 가능한 단계인 컴퓨팅 셰이더에 사용된다. Thread Group은 세 가지 값, 즉 각 차원을 따르는 그룹의 스레드 수(thread group dimensions), 그룹의 스레드 수(thread group size) 및 총 스레드 그..
[DirectX11] 060 Compute Shader
[DirectX11] 060 Compute Shader
2023.02.28DirectX 11에서 컴퓨팅 셰이더(compute shader)는 그래픽 처리 장치(GPU)에서 실행되는 셰이더 프로그램의 한 종류로, 그래픽을 렌더링하는 대신 범용 계산을 수행하도록 특별히 설계되었다. 목차 Compute Shader DirectX 11에서 컴퓨팅 셰이더(compute shader)는 그래픽 처리 장치(GPU)에서 실행되는 셰이더 프로그램의 한 종류로, 그래픽을 렌더링하는 대신 범용 계산을 수행하도록 특별히 설계되었다. 컴퓨팅 셰이더(compute shader)는 물리 시뮬레이션, 이미지 처리, 데이터 처리 등과 같은 매우 다양한 작업에 사용될 수 있다. 독립적으로 사용하거나 정점 셰이더, 픽셀 셰이더, 지오메트리 셰이더와 같은 다른 셰이더 프로그램과 함께 사용할 수 있다. 컴퓨팅 셰..
[DirectX11] 059 Raw Buffer
[DirectX11] 059 Raw Buffer
2023.02.28DirectX 11에서 Raw Buffer는 특정한 해석이나 형식 없이 바이트 시퀀스를 저장하는 데 사용되는 버퍼 객체의 유형을 가리킨다. 단순히 그래픽 처리 장치(GPU)가 유연한 방식으로 접근할 수 있는 메모리 블록이다. Raw Buffer를 사용하면 미리 정의된 형식으로 제한되지 않고 저장되는 데이터의 형식과 구조를 정의할 수 있다. 목차 Raw Buffer DirectX 11에서 Raw Buffer는 특정한 해석이나 형식 없이 바이트 시퀀스를 저장하는 데 사용되는 버퍼 객체의 유형을 가리킨다. 단순히 그래픽 처리 장치(GPU)가 유연한 방식으로 접근할 수 있는 메모리 블록이다. Raw Buffer는 일반적으로 CPU와 GPU 사이 또는 GPU 내의 서로 다른 셰이더 단계 사이에 전달되어야 하는 임..
[DirectX11] 058 Direct Compute
[DirectX11] 058 Direct Compute
2023.02.27다이렉트컴퓨트(DirectCompute)는 프로그래머들이 컴퓨터의 그래픽 처리 장치(GPU)에서 범용 컴퓨팅을 수행할 수 있도록 하는 다이렉트X 11의 기능이다. 목차 Direct Compute DirectCompute는 프로그래머들이 컴퓨터의 그래픽 처리 장치(GPU)에서 범용 컴퓨팅을 수행할 수 있도록 하는 다이렉트X 11의 기능이다. 전통적인 그래픽스 프로그래밍에서 GPU는 화면에 이미지를 렌더링하고 표시하는 데 사용된다. 그러나 DirectCompute는 개발자들이 GPU의 병렬 처리 능력을 사용하여 물리 시뮬레이션, 데이터 처리 또는 인공 지능과 같은 그래픽과 반드시 관련이 없는 계산을 수행할 수 있도록 한다. DirectCompute는 DirectX 11의 프로그래밍 가능한 파이프라인 단계인 ..
[DirectX11] 057 경쟁 조건(Race Condition), 뮤텍스(Mutex), 세마포어(Semaphore)
[DirectX11] 057 경쟁 조건(Race Condition), 뮤텍스(Mutex), 세마포어(Semaphore)
2023.02.27경쟁 상태, 뮤텍스, 세마포어는 멀티스레딩 및 병렬 프로그래밍과 관련된 개념으로, DirectX 11에도 적용될 수 있다. 레이스 조건, 뮤텍스, 세마포어는 멀티 스레드 프로그래밍에서 중요한 개념이며, 공유 리소스와 병렬 실행을 다룰 때 DirectX 11 프로그래밍에도 적용될 수 있다. 개발자는 뮤트크세스 및 세마포어와 같은 동기화 원시 요소를 사용하여 공유 리소스에 대한 안전하고 효율적인 액세스를 보장하고 경쟁 조건을 피할 수 있다. 목차 Mutex 경쟁 상태, 뮤텍스, 세마포어는 멀티스레딩 및 병렬 프로그래밍과 관련된 개념으로, DirectX 11에도 적용될 수 있다. 경쟁 상태, 뮤텍스, 세마포어는 멀티 스레드 프로그래밍에서 중요한 개념이며, 공유 리소스와 병렬 실행을 다룰 때 DirectX 11..
[DirectX11] 056 Thread
[DirectX11] 056 Thread
2023.02.22DirectX 11 응용 프로그램에서 멀티스레딩(Multi-threading)을 사용하려면 응용 프로그램이 하나 이상의 스레드를 만들고 실행을 관리해야 한다. 여기에는 일반적으로 태스크를 실행하는데 사용할 수 있는 스레드 모음인 스레드 풀을 생성하는 작업이 포함된다. 그런 다음 응용 프로그램은 스레드 풀에 작업을 할당하고 사용 가능한 스레드 중 하나에서 작업이 실행되도록 예약한다. 목차 Thread DirectX 11에서 멀티스레딩(Multi-threading)은 여러 CPU 코어에서 동시에 작업을 실행할 수 있게 함으로써 성능을 향상시키고 대기 시간을 줄이는 데 사용될 수 있다. 이 기능은 병렬화가 가능한 렌더링과 같은 작업에 특히 유용하다. DirectX 11 응용 프로그램에서 멀티스레딩(Multi-..
[DirectX11] 055 Framework
[DirectX11] 055 Framework
2023.02.22DirectX 11에서 프레임워크는 일반적으로 대화형 3D 애플리케이션을 구축하기 위한 기본 구조를 제공하는 소프트웨어 인프라 또는 라이브러리 집합을 의미다. 여기에는 그래픽 파이프라인 관리, 입출력 장치 처리, 3D 콘텐츠 렌더링 및 표시를 위한 공통 기능 제공 등이 포함된다. 목차 Framework DirectX 11에서 프레임워크는 일반적으로 대화형 3D 애플리케이션을 구축하기 위한 기본 구조를 제공하는 소프트웨어 인프라 또는 라이브러리 집합을 의미다. 여기에는 그래픽 파이프라인 관리, 입출력 장치 처리, 3D 콘텐츠 렌더링 및 표시를 위한 공통 기능 제공 등이 포함된다. DirectX 11 자체는 그래픽 하드웨어에 액세스하고 제어하기 위한 낮은 수준의 API를 제공하지만, DirectX 11만을 ..
[DirectX11] 053~54 Instancing Animation, Process vs. Thread
[DirectX11] 053~54 Instancing Animation, Process vs. Thread
2023.02.21DirectX 11에서 애니메이션을 인스턴스화하는 것은 장면에서 많은 수의 애니메이션 객체를 효율적으로 렌더링하는 데 사용되는 기술이다. 이 기술을 사용하면 단일 개체를 애니메이션화한 다음 서로 다른 변환 또는 애니메이션 상태로 여러 번 그릴 수 있다. 목차 Instancing Animation DirectX 11에서 애니메이션을 인스턴스화하는 것은 장면에서 많은 수의 애니메이션 객체를 효율적으로 렌더링하는 데 사용되는 기술다. 이 기술을 사용하면 단일 개체를 애니메이션화한 다음 서로 다른 변환 또는 애니메이션 상태로 여러 번 그릴 수 있다. 인스턴스 애니메이션 기법은 단일 지오메트리 버퍼를 사용하여 객체의 지오메트리를 정의하고, 개별 버퍼를 사용하여 객체의 각 인스턴스에 대한 인스턴스 데이터를 저장함으..
[DirectX11] 051~52 Instancing Mesh & Model
[DirectX11] 051~52 Instancing Mesh & Model
2023.02.18글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 Instancing Mesh Shader 00_Global.fx 00_Render.fx 51_InstancingMesh Framework Environment CubeSky.h .cpp Meshes Mesh.h .cpp MeshCube.h. cpp MeshCylinder.h .cpp MeshGrid.h .cpp MeshQuad.h .cpp MeshSphere.h .cpp MeshRender.h .cpp Model ModelMesh.h..
[DirectX11] 050 Instancing
[DirectX11] 050 Instancing
2023.02.18DirectX 11에서 인스턴스화(instancing)는 장면에서 동일하거나 유사한 객체의 많은 수를 효율적으로 렌더링하는 데 사용되는 기술이다. 인스턴스(instance)를 사용하면 각 개체를 개별적으로 그리는 대신 변환, 텍스처 또는 기타 속성이 다른 단일 개체를 여러 번 그릴 수 있다. 목차 Instancing DirectX 11에서 인스턴스화(instancing)는 장면에서 동일하거나 유사한 객체의 많은 수를 효율적으로 렌더링하는 데 사용되는 기술이다. 인스턴스(instance)를 사용하면 각 개체를 개별적으로 그리는 대신 변환, 텍스처 또는 기타 속성이 다른 단일 개체를 여러 번 그릴 수 있다. 인스턴스화(Instancing) 기법은 단일 지오메트리 버퍼를 사용하여 객체의 지오메트리를 정의하고,..