directx
[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) 기법은 단일 지오메트리 버퍼를 사용하여 객체의 지오메트리를 정의하고,..
[DirectX11] 048 Play Animation
[DirectX11] 048 Play Animation
2023.02.16다이렉트X 11에서, "트윈"(tween)은 시간이 지남에 따라 두 값 사이를 보간하는 방법이다. 애니메이션 및 기타 그래픽 효과에서 서로 다른 상태 간의 원활한 전환을 위해 일반적으로 사용된다. DirectX 11의 tween 방법은 게임이나 응용 프로그램에 생기를 불어넣을 수 있는 부드럽고 실제와 같은 애니메이션을 만드는 강력한 도구이다. 목차 Play Animation Shader 25_Mesh.fx 38_Model.fx 45_Animator.fx 48_AnimationTweening.fx Framework Model Model.h .cpp ModelAnimator.h .cpp ModelClip.h .cpp ModelMesh.h .cpp ModelRender.h .cpp Renders Materia..
[DirectX11] 045 Model Animator
[DirectX11] 045 Model Animator
2023.02.13글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 Model Animator bone->Transform = bone->Transform * matParent; Global = Relative(=local로 봐도 무방) * Global Global = Relative * Global이다 R8G8B8A8 4Byte R32G32B32A32 16Byte(픽셀 하나 당 쓸 수 있는 최대값) Texture1D - Array Texture2D - Array >> Dynamic으로 쓸 수 없다...
[DirectX11] 042~44 Animaton Read Clip
[DirectX11] 042~44 Animaton Read Clip
2023.02.10Animation Retargeting은 하나의 캐릭터 리그를 위해 만들어진 애니메이션을 다른 리그와 함께 작동하도록 조정하는 과정입니다. DirectX 11에서 애니메이션 리타겟팅은 새로운 캐릭터 리그에 맞게 오리지널 애니메이션의 기본 골격과 관절을 조정하여 새로운 리그에서 올바르게 작동하도록 하면서 오리지널 애니메이션의 전반적인 동작과 스타일을 보존함으로써 달성할 수 있습니다. 목차 Animaton Read Clip Character 3D 모델을 다운받을 때는 T-pose로 다운받는게 좋다. Character 3D 모델의 Bone이름과 Animation에 내장된 Bone이름이 매칭되어야 한다. Mixamo에는 매칭되어져 있다. Model Bone ↑ Model Mesh: Model Bone을 참조하여..
[DirectX11] 041 Animation Skinning
[DirectX11] 041 Animation Skinning
2023.02.08애니메이션 스키닝은 3차원 컴퓨터 그래픽스에서 관절로 연결된 캐릭터나 물체에 대한 움직임의 환상을 만드는 기술입니다. 그것은 계층적 골격 시스템으로 표현되는 뼈의 움직임을 기반으로 캐릭터 또는 물체의 3D 모델의 정점을 변환하는 것을 포함합니다. 목차 Animation Skinning 애니메이션 스키닝은 3차원 컴퓨터 그래픽스에서 관절로 연결된 캐릭터나 물체에 대한 운동 착시(illusion of movement)을 만드는 기술입니다. 그것은 계층적 골격 시스템으로 표현되는 뼈의 움직임을 기반으로 캐릭터 또는 물체의 3D 모델의 정점을 변환하는 것을 포함합니다. DirectX 11에서 애니메이션 스키닝은 일반적으로 다음 단계를 사용하여 수행됩니다. Model creation: 첫 번째 단계는 애니메이션을..
[DirectX11] 038 Model Render
[DirectX11] 038 Model Render
2023.02.06목차 Model Render Model - Transform SRT ModeMesh Bone Index Bone Transform world = mul(BoneTransforms[BoneIndex], world) mul(input.Position, world)->worldPosition Shader 25_Mesh.fx 38_Model.fx Framework Model Model.h .cpp ModelMesh.h .cpp ModelRender.h .cpp ModelEditor Demo ModelDemo.h .cpp Writer Converter.h .cpp ExportFile.h .cpp Model.fx 38_Model.fx 더보기 #include "00_Global.fx" float3 Direction ..