ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • argMainLoop분석.
    Computer Vision/AR 2007. 10. 24. 13:02
    728x90

    이전에 argInit() 가 호출된다. 거기서 윈도우를 생성함.

    void argMainLoop( void (*mouseFunc)(int button, int state, int x, int y),
                      void (*keyFunc)(unsigned char key, int x, int y),
                      void (*mainFunc)(void) )
    {
        gMouseFunc = mouseFunc;//마우스함수
        gKeyFunc   = keyFunc;//키보드함수
        gMainFunc  = mainFunc;//draw함수 등록

        glutDisplayFunc( argInitLoop );//바로 밑에...
        glutMainLoop();//매인루프 동작
    }

    static void argInitLoop(void)
    {
        arUtilSleep( 500 );

        argDrawMode2D();
        if( gl_hmd_flag || gl_stereo_flag ) {
            glClearColor( 0.0, 0.0, 0.0, 0.0 );
            glClear(GL_COLOR_BUFFER_BIT);
            argInitStencil();//스텐실 테스트 초기화
            argSwapBuffers();//glutSwapBuffers와 동일
        }

     //화면 초기화
        glClearColor( 0.0, 0.0, 0.0, 0.0 );
        glClear(GL_COLOR_BUFFER_BIT);
        argSwapBuffers();//glutSwapBuffers와 동일
        glClear(GL_COLOR_BUFFER_BIT);
        argSwapBuffers();

     //각 펑션 등록
        glutKeyboardFunc( gKeyFunc );//키보드
        glutMouseFunc( gMouseFunc );//마우스
        glutDisplayFunc( gMainFunc );//화면이 그려질...
        glutIdleFunc( gMainFunc );//이건..idle??
    }

    댓글

Designed by black7375.