오래된 고정 파이프 라인 OpenGL 프로그래밍은 매트릭스 스택 원리를 많이 사용했습니다.현대 OpenGL : 사용자 정의 매트릭스 스택을 사용해야합니까?
유연한 셰이더를 사용하면 원하는만큼 자신의 행렬을 자유롭게 만들고 사용할 수 있습니다. 나는 어떤 종류의 행렬 스택도 더 이상 사용하지 않는 튜토리얼을 읽었고 대신 필요한 행렬을 저장하고 필요한만큼 적용했다.
기타는 this one과 같이 모든 행렬에 대해 행렬 스택 라이브러리를 사용합니다 (링크 된 장의 예제 코드 참조).
내 질문은 : 이것은 순전히 임의적 인 설정입니까, 아니면 현대 그래픽 프로그래밍에서 선호되는 방식입니까?
스택을 사용하지 않는 것이 좋습니다. 핵심 프로필에는 스택이 없으므로 새 프로젝트에 핵심 프로필을 사용하는 것이 좋습니다. 객체와 함께 모델 행렬을 저장하고 뷰 및 투영 행렬과 함께 균일 한 셰이더로 전달하십시오. 계층 적 호출이 수행하기 쉽도록 스택이있었습니다. – Mars
@Mars 코어 프로파일을 사용하고 있으므로 OpenGL 스택을 사용하지 않을 것입니다. 하지만 일부 자습서에서는 자체 스택이나 std :: stack 또는 그와 유사한 것을 사용합니다. 다른 자습서에서는 스택을 사용하지 않는 것처럼 보이지만 행렬을 적절한 클래스/개체에 저장합니다. 계층 구조가 필요할 때 (예 : 조인트 등) 자신의 스택 구현 또는 라이브러리를 사용하여 "일반"도면을 위해 스택을 사용하지 않는 것이 좋습니다. – jhyot
TL; DR : 예. 하지만 대부분의 접근 방식에 따라 더 자연스럽고 편안합니다. 하나는 오래된 파이프 라인에 큰 영향을받을 수 있고, 행렬이 쌓이지 않도록 처리 할 수 없기 때문에 자체적으로 구현해야합니다. 다른 사람은 스택에서 가치있는 것을 볼 수 없었습니다. 나는 거의 후자이다. 몇 가지 2.x OpenGL과 함께 작업 한 다음 3.x로 전환했습니다. 처음에는 자신의 스택을 구현했지만, 나중에 프로그램 가능한 셰이더를 사용하여 일반 용도로는 좋지 않다는 것을 알았습니다. 나는 가까운 OpenGL 개발자가 아니며 나의 짧은 인생을 통해 약간의 코드로 작업했다. – Mars