반응형 그래픽3 [Unity ECS] 내가 Unity ECS를 시작한 이유 회사에서 동일한 나무 모델을 한 View에 20만개 정도 띄워야 하는 요구사항이 있었다. RTS환경의 오픈월드 시뮬레이션 프로그램을 만들려는데 줌이 멀어지면 한 화면에 나무들이 너무 많이 보이기 때문에 이를 처리하기 위한 방안을 모색하기로 했다. 위의 요구사항을 만족하기 위해 처음에는 GPU Instancing을 이용해서 구현을 했으나 GPU Instancing을 하게 되었을 때 아래의 한계점이 보였다. 1. GPU Instancing에 LOD를 적용하게되면 서로 다른 Material이라 인식하여 오히려 성능이 떨어는 현상 발생. 2. GPU Instancing이라고 해도 한번의 드로우 콜로 최대 1023 까지 하나의 드로우콜로 사용가능하므로 20만개를 사용하는 경우에는 드로우 콜이 여러번 발생함. 위와.. 2023. 8. 17. [DirectX] DirectX 기본이론 Directx11 특징 능력 집합(capability set) 전체를 지원 현재 하드웨어가 그 기능을 지원하는지를 먼저 점검하지 않음 Direct3D 11에서는 더 이상 하드웨어 기능 점검이 필요하지 않다. 이제는,그래픽 하드웨어가 Direct3D 11 대응 장치이려면 반드시 Direct3D 11 능력 집합 전체를 지원해야 한다는 엄격한 요구조건이 있기 때문 기능점검 순서 COM (Component Object Model) DirectX의 프로그래밍 언어 독립성과 하위 호환성을 가능하게 하는 기술이다 C++ 클래스로 간주하고 사용 (COM 객체들이자신만의고유한방식으로메 모리를 관리하기 때문에` COM 인터페이스는 C++의 new 키워드로 생성하지 않는다. delete로삭 제하는 것이 아니라 그 인터페이스.. 2023. 2. 4. [Graphic] 그래프 파이프라인 1. Application - Opengl 함수를 호출하는 프로그램 영역 - 그리고 싶은 정점의 위치 /색상 등을 입력한다. - 3D의 그래픽의 오브젝트 단위는 삼격형이고 2D의 그래픽의 오브젝트는 단위는 픽셀이다. - 삼각형인 이유는 픽셀인 이라면 정교한 오브젝트를 만들 때 그래픽 리소스가 너무 많이 들고 가상의 카메라로 어떠한 위치에 배치될지 계산하기가 용의하다 2. Geometry Processting 정점 단위의 처리. 정점의 위치 결정 3. Rasterization 정점 단위로 구성된 삼각형을 픽셀 단위로 결정 4. Pixel Processing 각 픽셀의 단위를 처리하여 픽셀의 색상을 결정 하지만 각 GPU안에서 돌아가는 작은 프로그램(Shader Programe)을 처리하여 GPU를 조금 제.. 2023. 1. 24. 이전 1 다음 반응형