2011-02-09 3 views
0

전 openGl을 처음 접했습니다. 나는 지금까지 기본 도형을 그리는 방법과 회전하는 방법을 연구했습니다.openGLnGL에서 2 차원 객체를 선택적으로 회전

반원형 다이얼과 시계 다이얼이 연속적으로 회전하는 응용 프로그램을 만들고 싶습니다. (0-180도까지 가능).

어떻게 해결할 수 있습니까?

이렇게하는 데는 여러 가지 방법이 있지만 내가 작성하려고 시도하는 것의 전체적인 그림을 보면 가장 좋은 방법은 무엇입니까?

  1. 사용자가 레이어를 만듭니다. 위의 예에서 원형 다이얼은 배경 레이어입니다. 시계 손이 전경 층이되는 곳.

  2. 일부 레이어는 움직이지 않음을 의미하는 정적입니다.

  3. 레이어 이동은 사용자가 제공합니다 (설정 파일에있을 수 있음). 위의 예에서 사용자는 시계 바늘 레이어의 일부 지점 및 각도 범위를 제공하고 레이어는 제공된 지점 주변의 해당 범위에서 회전합니다.

가능성을 제시하십시오. 두 번째 객체 만 사용하기 때문에 각 레이어가 z 축의 평면이 될 수 있는지 궁금합니다.

답변

3

OpenGL은 장면 그래프가 아닙니다. 연필, 브러시, 염색약, 가면과 같습니다. OpenGL을 프로그래밍한다는 것은 장면을 원하는 그림을 만들기 위해 필요한 드로잉 단계로 분해한다는 것을 의미합니다. 따라서 귀하의 경우에 순서대로 그릴 수 Painter's Algorithm를 사용하는 것만 큼 간단

  1. 다이얼
  2. 먼저 손을
  3. 초 손
  4. thrird 손
  5. 같은 것은이 같은 없습니다

" plane "프리미티브를 OpenGL에서 사용할 수 있습니다. 그냥 포인트 (스프라이트), 선, 삼각형 및 쿼드가 있습니다. 그리고 어느 정도는 다각형이지만, 심하게 제약됩니다. 이러한 프리미티브에 색상과 텍스처를 적용하고 벡터에 수학을 적용하여 조명을 에뮬레이션 할 수 있습니다.