본문 바로가기

DirectX 1237

[DirectX12 - Mesh & Animation] Chapter 02. Animation(Skinning) GitHub : https://github.com/developeSHG/DirectX12-Mesh_Animation/commits/02.Animation(Skinning) GitHub - developeSHG/DirectX12-Mesh_Animation: DirectX12 - Mesh & Animation DirectX12 - Mesh & Animation. Contribute to developeSHG/DirectX12-Mesh_Animation development by creating an account on GitHub. github.com 애니메이션은 그림을 프레임 단위로 여러 개를 준비해뒀다가 빠르게 재생해서 마치 생동감있게 움직이는 것처럼 보이는 것이 기본적으로 애니메이션의 원리다. 2D 게.. 2023. 7. 20.
[DirectX12 - Mesh & Animation] Chapter 01. Mesh GitHub : https://github.com/developeSHG/DirectX12-Mesh_Animation/commits/01.Mesh GitHub - developeSHG/DirectX12-Mesh_Animation: DirectX12 - Mesh & Animation DirectX12 - Mesh & Animation. Contribute to developeSHG/DirectX12-Mesh_Animation development by creating an account on GitHub. github.com 여태까지는 Resources Manager 안에서 하드코딩 된 버텍스의 좌표를 이용해서 직접적으로 물체(삼각형, 구) 만들었는데 실제 게임을 만들 땐 당연히 코드상에서 만드는 게 아니라.. 2023. 7. 17.
[DirectX12 - Terrain] Chapter 03. Picking GitHub : https://github.com/developeSHG/DirectX12-Terrain/commits/03.Picking GitHub - developeSHG/DirectX12-Terrain: DirectX12 - Terrain DirectX12 - Terrain. Contribute to developeSHG/DirectX12-Terrain development by creating an account on GitHub. github.com picking에 대해서 알아보자. picking을 하려면 기본 개념부터 알아야한다. 보는 바와 같이 인게임에서 존재하는 물체들은 3D 세상에서 존재하는 것들이다. 근데 최종적으로 렌더링 파이프라인 과정을 거쳐서 보여주는 화면 자체는 사실 2D화면에 .. 2023. 7. 7.
[DirectX12 - Terrain] Chapter 02. Terrain GitHub : https://github.com/developeSHG/DirectX12-Terrain/commits/02.Terrain GitHub - developeSHG/DirectX12-Terrain: DirectX12 - Terrain DirectX12 - Terrain. Contribute to developeSHG/DirectX12-Terrain development by creating an account on GitHub. github.com 테셀레이션의 적용은 당연히 terrain에 적합하다. (먼 곳에 있는건 삼각형 하나, 가까이 있으면 무수한 삼각형의 개념이) 경우에 따라서, Terrain을 사용하지 않고, 메쉬로 만들어져있는 경우가 있다. 와우는 메쉬로 이루어져있다. 배그는 Ter.. 2023. 7. 7.
[DirectX12 - Terrain] Chapter 01. Tessellation GitHub : https://github.com/developeSHG/DirectX12-Terrain/commits/01.Tessellation GitHub - developeSHG/DirectX12-Terrain: DirectX12 - Terrain DirectX12 - Terrain. Contribute to developeSHG/DirectX12-Terrain development by creating an account on GitHub. github.com Tessellation 단계 - [홀 쉐이더 스테이, 테셀레이션 스테이지, 도메인 쉐이더 스테이지] Tessellation 자체도 지오메트리 쉐이더랑 비슷하게 정점을 추가하는 개념이다. 테셀레이션은 옵션단게였다. 여태까지 vertext sh.. 2023. 7. 7.
[DirectX12 - Shadow Mapping] Chapter 01. Shadow Mapping GitHub : https://github.com/developeSHG/DirectX12-Shadow-Mapping/commits/main GitHub - developeSHG/DirectX12-Shadow-Mapping: DirectX12 - Shadow Mapping DirectX12 - Shadow Mapping. Contribute to developeSHG/DirectX12-Shadow-Mapping development by creating an account on GitHub. github.com 물체가 다른 물체의 위치에 의해서 그림자 영향을 받는 것. 여태까지 그리는 방식은 물체마다 개별적으로 그려지기 때문에 다른 물체가 내 앞에 있는지 판단할 길이 없었다. 빛을 기준으로 앞에 물체가 있.. 2023. 7. 7.
[DirectX12 - Particle] Chapter 03. Instancing GitHub : https://github.com/developeSHG/DirectX12-Particle/commits/03.Instancing GitHub - developeSHG/DirectX12-Particle: DirectX12 - Particle DirectX12 - Particle. Contribute to developeSHG/DirectX12-Particle development by creating an account on GitHub. github.com 파티클 시스템을 다루면서 draw call 부하를 줄이기 위해 인스턴싱 이란 기법을 사용했었다. 지금까지 렌더링 파이프라인이 동작하는 원리를 살펴보면, Input Assembler 단계에서 Vertex buffer, Index Buff.. 2023. 7. 3.
[DirectX12 - Particle] Chapter 02. Particle System GitHub : https://github.com/developeSHG/DirectX12-Particle/commits/02.Particle_System GitHub - developeSHG/DirectX12-Particle: DirectX12 - Particle DirectX12 - Particle. Contribute to developeSHG/DirectX12-Particle development by creating an account on GitHub. github.com 만약 파티클을 그냥 기존에 했던 렌더링 파이프라인 방식대 렌더링한다면, 그 개수만큼 많은 부하를 잡아먹게 될 것이다. 파티클 자체가 어떤 특수 효과를 내기 위해서 사용하는 거지만, 사실 인게임적인 관점에서 볼 때 중요한 요소라.. 2023. 7. 3.
[DirectX12 - Quaternion] Chapter 01. 오일러 각 쿼터니언은 4원수 유니티에서 오일러 방식으로 보여줌 오일러 방식이란, x축 y축 z축 하나씩 가지고 있고, 호도법이 아닌 우리가 일반적으로 각도로 설정한 것을 얘기한다. 그렇게 각각 회전하는 각도를 입력해서 조합한 다음, 물체를 회전시킬수있다 라는게 오일러 방식의 아이디어다. 회전은 우리가 오일러방식의 회전을 사용하고있었는데 여기엔 문제가있다. 각기 회전들이 결합할 때 문제가 생긴다 만약 x축 각도를 90으로 해놓고, y축 회전을 할 시, y축회전방향이 아닌 z축회전방향으로 회전을 한다. 이런걸 짐벌락 현상이라 한다. = 세 축중 하나의 축이 먹통이 되는 현상 회전은 이동과 다르게 하나의 축으로 회전을 할 때, 다른축도 영향을 받아서 같이 회전을 하게 되는데 운이 안좋게도 어떤 두축이 겹치는 상황이 발생.. 2023. 7. 1.
[DirectX12 - Vector & Matrix] Chapter 06. Projection, Screen 변환 행렬 PROJECTION SPACE (HOMEGENEOUS CLIP SPACE) 투영행렬 3D화면 좌표계를 2D화면 좌표계로 만드는 변환 행렬 원근투영 near(n) 와 far(f) 가 있다. 그 안에 들어가는 것들만 보여준다. 투영 좌표게는 정사각형 비율은 1로 들어간다. x와 y는 최소 -1,-1 좌표에서 최대 1,1, 좌표다 그래서 뷰에서 투영 좌표계로 들어가려면 어떤 값이던 간에 적절히 비율을 따져서 연산하게 돼서 -1 ~ 1 사이의 점으로 표현이 돼서 나중에 화면의 비율을 이용해서 화면에 물체를 그려준다고 생각하면 된다. 투영좌표계에서 x와 y는 -1에서 1 사이의 범위를 표현한다했는데, 깊이(z)는 0 ~ 1까지를 표현한다 또 이 과정에선 최종적으로 물체를 그릴지말지 체크하는 DSV(뎁스 스텐실 뷰.. 2023. 6. 30.