C++, SDL 및 OpenGL을 사용하여 (간단한) 게임 엔진을 만들려고하고 있지만 다음 단계를 파악할 수 없습니다. 이 ... 나는 지금까지 무엇을 가지고게임 엔진 제작 중단
밀어 팝 할 수 있습니다 게임 상태의 스택 장면을 렌더링 주요 게임 루프
장면 렌더링을 제어하는 엔진 객체
각 주에는 액터 모음이 있으며 각 액터에는 삼각형 모음이 있습니다. 장면 렌더러가 뷰 프로젝션 매트릭스를 성공적으로 설정합니다.
액터 위치를 저장하는 방법 또는 렌더링 대기열을 만드는 방법과 관련하여 확실하지 않습니다.
불투명 한 폴리곤을 앞뒤로 그리고 그 다음 앞뒤로 투명한 폴리곤을 그리는 렌더링 대기열을 만드는 것이 효율적이라는 것을 읽었습니다. 이 때문에 내 액터는 장면 렌더러 객체의 "queueTriangle"메서드를 호출합니다. 장면 렌더러 객체는 각 액터 삼각형에 대한 포인터를 저장 한 다음 위치에 따라 정렬 한 다음 렌더링합니다.
내가 직면하고있는 문제는 삼각형이 세계 좌표계에서 그 위치를 알아야한다는 것입니다. 그러나 glTranslatef와 glRotatef를 사용하면이 좌표를 알 수 없습니다!
제발 누군가 제발, 제발 솔루션을 제공하거나 제발이 문제를 해결하는 방법에 대한 (간단한) 가이드로 연결하십시오.
고마워요!
실제로 위의 불투명 한 조언은 쉐이더/상수/텍스처/등을 전환하는 것이 초기 Z 테스트에서 실패한 다각형보다 훨씬 비싸기 때문에 그래픽 카드 제조업체가 권장하는 것입니다. – Goz
예. overdraw를 줄이는 것은 좋지만 많은 국가 변화를 희생 시키지는 않습니다. – Kylotan