DirectX/DirectX 3D_(구) 56

22_RawBuffer (CS)

Buffers.cpp, h 더보기 22_ByteAddress.fx 더보기 //c++ 에선 RawBuffer라고 부르고 쉐이더에선 ByteAddress 부름 RWByteAddressBuffer Output; //출력용이면 앞에 RW붙여줘야함 ByteAddressBuffer Input; //저장용 (Output) struct Group { uint3 GroupID; uint3 GroupThreadID; uint3 DispatchThreadID; uint GroupIndex; }; //받아오는용(Output) struct ComputeInput { uint3 GroupID : SV_GroupID; uint3 GroupThreadID : SV_GroupThreadID; uint3 DispatchThreadID ..

20_ModelAnimation

보충 1 더보기 1. 애니메이션 관련 값 중 회전 정보는 쿼터니온 값으로 전달 해준다 2. asClipNode > asKeyframeData > asKeyframe > asClip 순으로 애니메이션 정보 저장 asClipNode : ai추출 해서 최초 저장하는 공간 asKeyframeData : 한개의 bone 가지는 SRT 정보 asKeyframe : asKeyframeData의 집합(해당bone의 정보) asClip : 최종 집합 3. 애니메이션 프레임키를 가져올때는 S,R,T 중에서 최종적으로 제일 긴 프레임을 가져와서 사용 4. asBlendWeight 최종 스키닝 정보가 저장 하기전에 asBoneWeights를 통해서 계산을 하고선 저장 5. 애니메이션은 Mesh, Material 관련이 없으므..

19_ModelMaterial [1/2]

Types.h (모델 관련 구조체들 정의 된곳) 더보기 #pragma once #include "stdafx.h" struct asBone { int Index; string Name; int Parent; Matrix Transform; }; struct asMeshPart { string MaterialName; //DPCall에서 사용하기 위함 UINT StartVertex; UINT VertexCount; UINT StartIndex; UINT IndexCount; }; struct asMesh { int BoneIndex; vector Vertices; vector indices; vector MeshParts; }; struct asMaterial { string Name; Color Ambi..

18_ModelEditor [1/2]

시작전에 Model 파일을 추출 저장 하기위한 솔루션 하나를 생성 그럼 아래와 같이 3개의 솔루션이 나오고 시작 프로그램을 ModelEditor로 걸고 종속성도 수정 ModelEditor(솔루션) -> stdafx.h 더보기 #pragma once #include "Framework.h" #pragma comment(lib, "../Debug/Framework.lib") //모델 변환 하는 파일들 //디자인이 만든 모델 파일을 불러옴 (fbx, obj) #include "Assimp/Importer.hpp" //소스로 불러올때 다양한 옵션을 줄 수 있음 (좌표계, UV 읽어오는 순서) #include "Assimp/postprocess.h" //postprocess를 통해 불러온 값 (RootNode -..