⭐ DirectX/DirectX11 3D
[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을 참조하여..
PDB 파일을 찾거나 열 수 없습니다. 오류 해결
PDB 파일을 찾거나 열 수 없습니다. 오류 해결
2023.02.08https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sinjoker&logNo=221485732646
[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] 039~40 Model Material
[DirectX11] 039~40 Model Material
2023.02.07글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 Model Material Shader 25_Mesh.fx 38_Model.fx Framework Model Model.h .cpp ModelMesh.h .cpp ModelRender.h .cpp Renders Material.h. cpp ModelEditor Demo ModelDemo.h .cpp Writer Converter.h .cpp ExportFile.h .cpp Type.h VS 단축키 Ctrl + Space = 자동완성 ..
[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 ..
[DirectX11] 037 Model Reader
[DirectX11] 037 Model Reader
2023.02.05목차 Model Reader Model Model Bone->Bone ↑ Model Mesh->드로잉 Shader의 cbuffer { Bone 배열 전체 Bone Index } Model Mesh ModelMesh.h 더보기 #pragma once class ModelBone { public: friend class Model; private: //다른곳에서 임의로 생성하면 안 되기 때문 ModelBone(); ~ModelBone(); public: int Index() { return index; } int ParentIndex() { return parentIndex; } ModelBone* Parent() { return parent; } wstring Name() { return name; } M..
[DirectX11] 034~36 Model Editor
[DirectX11] 034~36 Model Editor
2023.02.01목차 Framework Framework 모델 불러오기, 모델 렌더링 UnitTest Model Editor Game Map Editor Assimp에서 파일을 부름 원하는 형태의 변수에 저장 원하는 형태의 파일 형식으로 저장 Importer -> Scene Scene이 가지고 있는 정보들 Materials Meshes SceneRoot body (- TransformMatrix - Material - Mesh - Vertice - Indice) 바퀴 바퀴 포탑 포신 재귀를 해서 찾으면 기본정보들을 찾아올 수 있다. 예시. Model - ModelBone - Model Mesh -> Render https://github.com/assimp/assimp GitHub - as..
[DirectX11] 033 Framework - CubeMap, CubeSky
[DirectX11] 033 Framework - CubeMap, CubeSky
2023.02.01목차 Framework - CubeMap, CubeSky fx 00_Global.fx 더보기 cbuffer CB_PerFrame { matrix View; matrix ViewInverse;//View의 역행렬 matrix Projection; matrix VP; float4 Culling[4]; float4 Clipping; float Time; //게임시간 }; cbuffer CB_World { matrix World; }; Texture2D DiffuseMap; Texture2D SpecularMap; Texture2D NormalMap; TextureCube SkyCubeMap; static const float PI = 3.14159265f; float4 WorldPosition(float4 p..
[DirectX11] 032 Renderer
[DirectX11] 032 Renderer
2023.01.31글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 H2 제목 WVP out.pos = mul(in.pos.W) out.pos = mul(out.pos, V) out.pos = mul(out.pos, P) in.pos->W*V*P 두 가지 WVP방법 모두 사용 가능하다. Global.fx 00_Global.fx 더보기 cbuffer CB_PerFrame { matrix View; matrix ViewInverse;//View의 역행렬 matrix Projection; matrix VP..
[DirectX11] 031 Framework
[DirectX11] 031 Framework
2023.01.30목차 Framework desc.Usage = D3D11_USAGE_IMMUTABLE - GPU 읽기만 가능 - IMMUTABLE은 접근 불가. 랜더링용으로만 이 버퍼를 사용하겠다. - 속도가 가장 빠르다 D3D11_USAGE_DYNAMIC - CPU 쓰기만, GPU 읽기만 가능 - DYNAMIC은 IMMUTABLE보다 느림 //정점 수정할 일이 있을때 사용 D3D11_USAGE_DEFAULT; - 초기화 시 자주 사용. D3D11_USAGE_STAGING; - CPU GPU 무조건 읽기 쓰기 가능하도록 열어줌. - 가장 느림. CPU GPU 속도 특징 D3D11_USAGE_DEFAULT X (RAM->VRAM) O (VRAM->RAM) 중간 CreateBuffer 초기화 시 한번 사용 D3D11_USA..