전체 글339 9. Instancing 구현 Instancing이란? - 3D 공간상의 물체를 화면에 그리기 위해서 렌더링 파이프라인을 거쳐야 한다. - 같은 메쉬와 같은 머티리얼을 가진 물체가 여러 개 존재한다면, 각 물체들의 행렬값만 가져올 수 있으면 Input Assembler 단계를 거치지 않고 나머지 단계를 이어서 수행할 수 있지 않을까? - Instancing의 원리는 Input Assembler 단계에서 Vertex Buffer를 넘길 때 물체들의 행렬값을 담은 Instancing용 버퍼를 같이 넘겨서 그 버퍼를 통해 다른 물체들을 그리는 것이다. https://dev-treadmill.tistory.com/132 28. Instancing 붓 그리기로 치면, 전체적인 그림을 알고 있으면 빨간 붓을 들었을 때 이 참에 빨간 색이 들어간.. 2023. 8. 5. 8. Assimp 라이브러리 적용 Assimp 라이브러리 적용 - Assimp는 3D 메쉬 로드를 도와주는 오픈 소스 라이브러리이며, FBX말고도 OBJ와 같은 다른 확장자도 지원한다. - FBX SDK로 3D 메쉬를 로드할 수 있는데 굳이 Assimp를 추가한 이유는 하나의 씬을 불러올 때 각각의 메쉬의 월드좌표를 가져와야 하는데 마음처럼 잘 되지 않았다. - 노드를 탐색할 때 트리 구조로 탐색하는데, 부모의 행렬을 자식노드에게 넘겨줌으로써 월드행렬을 구해서 제자리에 위치시키려 했는데, 분명 같은 FBX파일임에도 Assimp로 불러왔을때의 값과 FBX SDK로 불러왔을 때의 값이 달랐다. - 더 시간을 들이면 FBX SDK에서도 해당 기능을 구현할 수 있었겠지만 공부할 것도 많고 당장 다음 주 월요일부터 맵 작업에 들어갈 예정이라 구현.. 2023. 8. 4. 7. 충돌 구현 충돌 구현 - PhysX를 활용하여 충돌 통치 및 처리에 관한 내용을 구현했다. - 2D 포트폴리오 기간에 PhysX를 다루며 해봤던 내용들이었기에, 어렵지 않게 구현할 수 있었다. - 충돌 진입 시 CollisionCount를 증가, 충돌 해제 시 CollisionCount를 감소시키는 방식을 통해 현재 충돌여부를 Bounding Box의 색상으로 표현할 수 있게 했다. 내일 할 일 - 인스턴싱 적용 2023. 7. 25. 6. FBX 텍스쳐 매핑 & Toon Shading FBX 텍스쳐 매핑 - FBX 텍스쳐 매핑은 FBX를 로드할 때 불러온 UV값과 텍스쳐를 통해 매핑된다. - 이 작업을 할 때 특정 FBX 파일은 잘 읽어오는데 지금 사용해야하는 FBX는 제대로 읽어오지 못하는 버그가 있었다. - 확인한 사항 1. 텍스쳐는 제대로 지정되어있었나? (O) 2. 그렇다면 그래픽스 디버깅에서 픽셀 셰이더에 SRV가 잘 매핑되었는가? (O) 3. 그렇다면 UV값이 정상적으로 매핑되었는가? (X) - 이 헤딩하는 과정을 통해 현재 Deferred Rendering에 의해 저장되는 Position, Normal, Color가 제대로 들어가는지와 해당 구간에 BP를 거는 등의 디테일한 작업을 몸소 익힐 수 있었다. 때문에 컬러값이 아래와 같이 하나의 색상으로 찍히고 있었다. - 이런.. 2023. 7. 21. 이전 1 ··· 22 23 24 25 26 27 28 ··· 85 다음