2013-03-05 3 views
1

OpenGL을 배우고 있지만 변수 사용 방법에 대해서는 약간 혼란 스럽습니다. C++로 작성된 많은 예제 코드에서 변수는 전역 변수로 사용됩니다. 그러나 우리가 프로그램에서 너무 많은 전역 변수를 사용하는 것이 바람직하지 않다고 생각합니다. 그래서 캡슐화를 위반하지 않고 어떻게 변수를 사용할 수 있을지 궁금합니다. 또는 모델과 같은 모든 변수를 기록하는 데 싱글 톤을 사용해야합니까? C++로 작성된 많은 예제 코드에서캡슐화를 위반하지 않고 OpenGL에서 변수를 사용하는 방법

+2

예제 코드는 정확히 다음과 같은 의미입니다. 예제. 훌륭한 프로그래밍 실습의 예가 아닌 한, 일반적으로 좋은 프로그래밍 실습을 보여줄 수있는 시간을 들일 필요가 없습니다. 특히 그렇게하면 코드가 복잡해질 수 있습니다. 따라서 기능이 어떻게 작동하는지 보여주는 예제를 사용하십시오. 기능이 어떻게 작동하는지 배우고, 어떤 방법으로 작성하든간에 응용 프로그램에 통합하여 프로그래머가 자신의 업무를 수행하는 것이 좋습니다. –

+0

조언 해 주셔서 감사합니다. @NicolBolas – Timothy

답변

1

는 변수는 전역 변수

이 소리는 GLUT 프레임 워크를 사용하여 작성 예제를 읽는 등이 사용된다. 변수가 전역 변수라는 것은 GLUT 디자인이 간단한 테스트 및 기술 데모를위한 최소한의 프레임 워크라는 직접적인 결과입니다. 심각한 응용 프로그램에는 GLUT을 사용하지 않아야합니다.

GLUT는 OpenGL의 일부가 아닙니다. 타사 라이브러리이므로 OpenGL과 관련하여 어떤 방식 으로든 사용할 필요가 없습니다. 실제로 사용하지 않는 것이 좋습니다.

OpenGL 자체는 캡슐화 된 코드에서 사용할 수 있습니다. Qt 프레임 워크를 사용하는 OpenGL 예제를 찾으십시오. IMHO Qt가 OpenGL 위젯과 컨텍스트 캡슐화를 구현하는 방식은 차선책입니다 (최근에는 심각한 제한이 있음).하지만 초보자라면 거의 눈치 채지 못할 것입니다.

+0

나는 본다. 요즘 나는 GLUT을 사용하여 예제를 읽고 있는데 GLUT가 OpenGL 라이브러리의 일부라고 생각했습니다. 대부분의 예제에서 변수는 전역 변수이고 다른 변수는 하드 코딩되어 있습니다. 당신의 도움을 주셔서 대단히 감사합니다. OpenGL을 사용하여 몇 가지 예를 읽으려고합니다. – Timothy

관련 문제