목록2024/08/11 (2)
개발하는 리프터 꽃게맨입니다.
12개의 삼각형으로 이루어진 육면체를 그려보았습니다.3D 물체에는 보이는 면과 안보이는 면 2가지가 존재합니다. 보이는 면을 전면보이지 않는 면을 후면이라고 칭합니다. 전면과 후면을 판단해서 후면을 그리지 않는다면, 렌더링 성능이 더욱 향상될 것 입니다.이와같이 후면을 그리지 않는 작업을 백페이스 컬링이라고 합니다. 반시계 방향으로 정의된 삼각형이 있다고 가정합니다. 뷰행렬과 모델링 행렬을 이용해서 만들어진 최종적인 좌표의 경우의 수는 다음과 같습니다. 첫번째로, 변환된 정점을 연결했을 때, 반시계방향으로 그려질 때,두번째로, 변환된 정점을 연결했을 때, 시계방향으로 그려질 때 이때 반시계방향으로 정의된 삼각형만 그려지도록 하면 백페이스 컬링을 구현할 수 있습니다. 삼각뿔의 백 페이스 컬링 과정을..
현재까지 2D 렌더러를 탄탄하게 만들었습니다. 2D 메시 컴포넌트입니다.렌더링 하고자하는 게임 오브젝트에 해당 컴포넌트를 추가하여Mesh2D에 정점과 정점을 잇는 인덱스 정보를 저장하여정점 버퍼와 인덱스 버퍼를 만듭니다. 다음에는 RenderManager 라는 랜더링 코어 객체에 해당 오브젝트를 넘겨주어서 랜더링을 수행합니다. 저는 이 구조가 상당히 마음에 듭니다. 2D 객체를 그리는 시스템을 만들었으니 3D 객체도 만들어보겠습니다. 3D 객체를 만들기 위해서는 2D 시스템에서 사용하던 좌표 시스템의 차원을 한 단계씩 높여줘야 합니다. Vertex는 3차원으로 정의되어야 하고3차원에서 자유로운 선형 변환을 위해 3차원 벡터 및 4x4 정방행렬을 정의해야 합니다. 그러면 또 Vertex3D를 정의해줘..