Programming/D3D11 7

[D3D11][일기장] Point light

1. 시작할때 구조를 너무 이상하고 복잡하게 짰다... 나중에 D3D12로 넘어가야해서, 막 엄청난걸 만들지도 않을건데... (과거의 나야... 왜 그랬니?) 2. D3D11_BIND_CONSTANT_BUFFER 는 16바이트 align이 되어있어야 한다고 한다. 3. 앞으로 계획 - 조명 뭐시기 더 남았는데 그거 시도해보고, - FBX SDK 아직도 안했는데 그거 시도해보고, - 구조를 엄청 간단하게 갈아 엎은 다음에? - D3D12 공부 시작할 예정이다. 그냥 바로 D3D12 시작해야겠다. 책이 배송 임박이라 ㅋㅋㅋㅋㅋ 도움 받은 곳 (help): 1. D3D11 megayuchi의 프로그래밍 강좌 www.youtube.com 2. Win32 Win32 API 무료강의 www.youtube.com 3..

Programming/D3D11 2023.12.07

[일기장] 설계를 좀 더 간단히....

뭐 기능을 넣으면서 새로 공부할 때마다, D3D comptr leak이 나고... 찾기도 힘들고... ReportLiveObjects() 해도 여전히 힘들고... 그래서 struct는 struct 답게, 동작을 싸그리 빼기로 했다. (소멸자는 냅두고) 내부 함수로 초기화를 하든, 맴버를 직접 초기화 하든 내 실력이 부족하면 얼마든지 터질 수 있기에... 1. struct를 가져다 쓰는 쪽에서, 직접 초기화를 한다. 2. 조금 복잡한 친구나, 분기가 많은 경우도 그냥 외부함수를 하나 만들어서 가져다 쓰는 쪽에서 초기화 한다. 로 바꿨다. (1 법칙을 잊지 마라?)

Programming/D3D11 2023.12.02

[assimp] 3d 모델 띄워보기

아이디어는 여기서 : Set up ASSIMP to load models - Jpres 그리고 3d 모델은 여기서 : 무료 3D 모델 - Free3D.com 저번이랑 달라진 건 Mesh와 MeshComp를 추가하였다. 1. assimp에서 aiScene에다가 모델 데이터를 넣어주는데 - Node, Mesh, Material, SubNode, Faces 등등 계층구조로 이루어져 있고, 각각이 여러개가 있을 수 있기 때문에 2. 그리고 assimp을 이용해서, aiScene을 뽑아내는 것은 그냥 다른사람들이 하는 것 처럼 했다. (내가 따라한 버전은 위에 링크에 있다.) 3. 각각의 MeshComp에서 쉐이더와 버퍼를 가지고, (텍스쳐링은 아직 안 했다.) 그대로 그려준다. 4. 그리고 테스트로 만든 액터에..

Programming/D3D11 2023.11.27

[뇌피셜][메모용] Object 단에서 com 변수 초기화/관리

아직 정리를 마무리 한 건 아닙니다... 근데 오늘은 좀 쉬고 싶어서 일단 마무리 ㅋㅋㅋㅋㅋㅋ Scene의 있는 오브젝트들이 각자, 컴포넌트 오브젝트 들도 각자 Update 하고 Render 하고 그런 느낌쓰 인데, 어떤것이 정리가 안되었냐면, 그... 테스트 용으로 넣은 RenderAsset의 맴버인 ObjectRenderComp의 객체인 m_cube가, 딱 구조가 짜여 있어서 RenderAsset의 객체나 자식 마다 파라미터만 바꿔서(?) 혹은 그에 맞는 함수를 호출해서(?) 렌더링을 해줘야하는데, 일단 테스트를 어거지로 하느라 약간 Component 느낌쓰로 렌더링이 됩니다. 아무튼 ObjectRenderComp는 요로콤... (덜 귀찮은데, 아직도 귀찮은 느낌...) (그리고 고급(?) 기능 역시..

Programming/D3D11 2023.11.24

[메모용] 프로그램 구조와 D3D의 com 변수 관리 단계

이제 슬슬 리팩토링(?) 캡슐화(?) 같은거를 해야할 때가 왔다. 일단 뇌피셜로 시도해보자. 1. com 변수를 어디서 관리해줄지 1_1. main 단 - ID3D11Device - ID3D11DeviceContext - IDXGISwapChain (1) 1_2. Scene 단 - IDXGISwapChain (2) - ID3D11RasterizerState - ID3D11BlendState - ID3D11DepthStencilState - ID3D11RenderTargetView - ID3D11DepthStencilView 1_3. Object 단 - ID3D11VertexShader - ID3D11InputLayout - ID3D11PixelShader - ID3D11ShaderResourceView ..

Programming/D3D11 2023.11.23

[일기장]샘플을 대충 구조(?)안에서 돌아가게함

도움 받은 곳 D3D11 : https://youtube.com/playlist?list=PL00yTT-RECdWsBjP-rQcDBelgehOyToy3&si=DZKiLvnd2RaSjLgf megayuchi의 프로그래밍 강좌 www.youtube.com Win32 : https://youtube.com/playlist?list=PL4SIC1d_ab-ZLg4TvAO5R4nqlJTyJXsPK&si=MO5Mu2HV_rhnsgiS Win32 API 무료강의 www.youtube.com 일기장 1. 이게 D3D11 개체가 COM 뭐시기로 돌아가는 거여서, 다 Release()를 해줘야 하는데, Create 하기 전에, 어디서 해제할 것인지 그리고 그것을 미리 작성해 놓지 않으면 큰일 난다. 2. Object 클래스..

Programming/D3D11 2023.11.07