Programming/openGL2011. 3. 25. 22:06
glortho() 함수는 화면상의 좌표축을 설정하는 함수이다.
01#include "windows.h"
02#include "GL/gl.h"
03#include "GL/glut.h"
04 
05void display(void)
06{
07/*  clear all pixels  */
08    glClear (GL_COLOR_BUFFER_BIT);
09/*  draw white polygon (rectangle) with corners at
10 *  (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) 
11 */
12    glColor3f (1.0, 1.0, 1.0);
13    glBegin(GL_POLYGON);
14        glVertex3f (0.25, 0.25, 0.0);
15        glVertex3f (0.75, 0.25, 0.0);
16        glVertex3f (0.75, 0.75, 0.0);
17        glVertex3f (0.25, 0.75, 0.0);
18    glEnd();
19/*  don’t wait! 
20 *  start processing buffered OpenGL routines
21 */
22    glFlush ();
23}
24void init (void)
25{
26/*  select clearing (background) color       */
27    glClearColor (0.0, 0.0, 0.0, 0.0);
28/*  initialize viewing values  */
29    glMatrixMode(GL_PROJECTION);
30    glLoadIdentity();
31    glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
32}
33/*
34 *  Declare initial window size, position, and display mode
35 *  (single buffer and RGBA).  Open window with "hello"
36 *  in its title bar.  Call initialization routines.
37 *  Register callback function to display graphics.
38 *  Enter main loop and process events.
39 */
40int main(int argc, char** argv)
41{
42    glutInit(&argc, argv);
43    glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
44    glutInitWindowSize (250, 250);
45    glutInitWindowPosition (100, 100);
46    glutCreateWindow ("hello");
47    init ();
48    glutDisplayFunc(display);
49    glutMainLoop();
50    return 0;   /* ISO C requires main to return int. */
51}

glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); 로 설정할 경우의 결과


glOrtho(0.0, 2.0, 0.0, 2.0, -2.0, 2.0); 로 설정할 경우의 결과

대충 정리하자면, 아래 그림과 같다고 할까나~?!


[링크 : http://www.opengl.org/sdk/docs/man/xhtml/glOrtho.xml]

'Programming > openGL' 카테고리의 다른 글

freeglut  (0) 2011.03.26
openGL - glbegin()  (2) 2011.03.25
visual Studio에서 openGL 돌리기  (0) 2011.03.16
윈도우에서 opengl.dll을 찾을 수 없다고 할 경우  (0) 2011.03.15
GLUT(openGL Utility Toolkit) 다운로드 (윈도우)  (0) 2011.03.15
Posted by 구차니