¿¬½ÀÀå(´Ù¹ö¸®°í °©´Ï´Ù...)-³²±æ ±ÛÀÌ ÀÖÀ¸¸é ¹Î°¡ÃÌ¿¡ ³²°ÜÁֽðí, ȸ¿ø °¡ÀÔÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.

2003/08/25 (19:10) from 203.247.202.72' of 203.247.202.72' Article Number : 174
Delete Modify _Àü Access : 2560 , Lines : 100
[³ëƼ]OpenGL-20030825/26
20030825 OpenGL ½ÃÀÛ
  MS
    gl.h             glu.h       --> include/gl     
    opengl32.lib     glu32.lib   --> Lib/gl
    opengl32.dll     glu32.dll   --> system
  SCIC
    opengl.lib       glu.lib

  *.Rendering Context
    OpenGL --> RC --> DC <--> WIN È­¸é
  -.HGLRC(HDC¿Í ¿ªÇÒ µ¿ÀÏ)
    wglCreatContext(HDC); - DC¸¦ ±â¹ÝÀ¸·Î RC¸¦ ¸¸µç´Ù.
    wglMakeCurrent(HDC, HGLRC);
    wglDeleteContext(HGLRC);

  *.HDC   hDC;
    HGLRC hRC;

    hDC = GetDC(hwnd);
    !. Çȼ¿¿¡ ´ëÇÑ Á¤º¸¸¦ ÃʱâÈ­ --> (PIXELÃʱâÈ­) PIXEL ±¸Á¶Ã¼¼±¾ð
    (¼³Á¤ À§Ä¡¿¡ ÁÖÀÇ)            ID = ChoosePixelFormat(hDC, PIXEL ±¸Á¶Ã¼);
                                  SetPixelFormat(hDC, ID, *PIXEL ±¸Á¶Ã¼);
  -.»ý¼º
    hRC = wglCreatContext(hDC);
    wglMakeCurrent(hDC,hRC);
  
  -.»èÁ¦
    wglMakeCurrent(hDC, NULL);
    wglDeleteContext(HGLRC);
  
  *.OpenGL -> ½Ç¼ö(ºÎµ¿¼Ò¼ýÁ¡)·Î ³»ºÎ ¿¬»ê ==> ÃÖÁ¾°á°ú¸¦ Á¤¼ö·Î º¯È¯ ; Á¤¹Ðµµ¸¦ °í·Á!
  -.OpenGLÀ» Àüüȭ¸é ¸ðµå·Î ÀüȯÇÒ ¶§,
    À©µµ¿ì¸¦ »ý¼º½ÃÀÇ À©µµ¿ì ³Êºñ, ³ôÀ̸¦ DEVMODE ±¸Á¶Ã¼ÀÇ ³Êºñ¿Í ³ôÀ̸¦ µ¿ÀÏÇÏ°Ô ¼³Á¤
    
20030826 OpenGLÀº ÀÏÁ¾ÀÇ »óűâ°è(state machine)·Î
  Æ¯Á¤ÇÑ »óųª ¸ðµå·Î ¼³Á¤Çصθé À̸¦ º¯°æÇÒ ¶§±îÁö ±× »óÅ·Π³²¾Æ ÀÖ°Ô µÈ´Ù.

  *.¿ÀºêÁ§Æ® ÁÂÇ¥ ------ ½Ã¾ßÁÂÇ¥ ------ Åõ¿µÁÂÇ¥ ------ ºäÆ÷Æ® ------ ·»´õ¸µ
                  vertex         ½Ã¾ßÁÂÇ¥        Å¬¸³ÁÂÇ¥      glviewport
    glTransrate      glMatrixMode(ÀÎÀÚ)   gluPerspective(Åõ¿µ)          glBegin()     
    glRotate            GL_MODELVIEW        glOrtho(ÆòÇà)                        DATA
                             GL_PROJECTION                                                 glEnd

  -.½Ã¾ßº¯È¯ |  ¸ðµ¨ºä º¯È¯ - À̵¿/ ȸÀü/ È®´ë
    ¸ðµ¨º¯È­ |                
    Åõ¿µº¯È¯
  -.ÇöÀçÀÇ ¸ÅÆ®¸¯½º -   32°³ÀÇ ¸ðµ¨ºä ¸ÅÆ®¸¯½º(½ºÅñ¸Á¶)
                       + 2°³ÀÇ ½Ã¾ß ¸ÅÆ®¸¯½º(½ºÅñ¸Á¶)

  *1.ºäÆ÷Æ® Å©±â¸¦ ¼³Á¤ - À©µµ Å©±â°¡ ¹Ù²ð ¶§ ÀçÁ¶Á¤
case WM_SIZE:     
    glViewport(x,y,w,h);     
    glMatrixMode( GL_PROJECTION );   // Åõ¿µ Çà·Ä·Î ¼³Á¤
    glLoadIdentity();                // Åõ¿µ Çà·ÄÀ» ÃʱâÈ­

    // À©µµ¿ìÀÇ Á¾È¾ºñ¸¦ ¼³Á¤
    gluPerspective( FOV, Á¾È¾ºñ, Near_Z, Far_Z );
     
    glMatrixMode( GL_MODELVIEW );    // ¸ðµ¨ºä Çà·Ä·Î ¼³Á¤
    glLoadIdentity();                // ¸ðµ¨ºä Çà·ÄÀ» ÃʱâÈ­

  *2-1.»ó¼ö¼³Á¤ - À©µµ°¡ ¸¸µé¾îÁø ÈÄ ¼³Á¤(Àüü¸ðµå/ ÀÏ¹Ý ¸ðµå Àüȯ ±³·Á)
    void glEnable(  GLenum cap );
    void glDisable( GLenum cap );

    glEnable(GL_CULL_FACE);     »óż³Á¤   
    glCullFace( GLenum mode );  ¼³Á¤¸ðµå¼±Åà [ GL_FRONT/ GL_BACK/ GL_FRONT_AND_BACK ]

    glPolygonMode( GLenum face, GLenum mode );
         ¸éÀÇ Ã³¸®ÇÏ´Â ¹æ½Ä [ GL_POINT/ GL_LINE/ GL_FILL ]
   
    glFrontFace( GLenum mode ); [ GL_CW/ GL_CCW - The default value is GL_CCW]

   2-2.ÃʱâÈ­
    glClearColor( 0.0, 0.0, 0.0, 0.0 );

    glEnable(GL_DEPTH_TEST);   Z_buffer ½ÇÇà
    glClearDepth( 1.0f);

   2-3.À©µµ¿ìŬ¸®¾î; ¸Å¹ø ·çÇÁ¸¶´Ù Ŭ¸®¾î
   glClear( GLbitfield mask );      µÚ¸é Äøµ, Z-Buffer, ÅؽºÃÄ Å¬¸®¾î
       GL_COLOR_BUFFER_BIT [0,1]
       GL_DEPTH_BUFFER_BIT [0,1]
       GL_ACCUM_BUFFER_BIT [-1,1]
       GL_STENCIL_BUFFER_BIT [The default value is zero]
   glLoadIdentity();

  *3.glBegin(GL_LINE);
    glColor3f( 1.0f, 0.0f, 0.0f);   Ä÷¯ ÁöÁ¤
    glVertex3f(0.0f, 0.0f, 0.0f);
       3-3Â÷¿ø, f-Data type( b(8bit)/ s(16bit)/ i(32bit)/ f(32bit)/ d(64bit)/ ub/ us/ uf)
    glEnd();
  
   3-1. glFlush(); °­Á¦·Î µå·ÎÀ×À» ½ÇÇà
    --> Áö±Ý±îÁö ¿äûµÈ ¸ðµç Ä¿¸ÇµåµéÀÌ ÀÏÁ¤ÇÑ ½Ã°£ ³»¿¡ ¹Ýµå½Ã ½ÇÇàµÈ´Ù´Â °ÍÀ» º¸Àå
    ==> °¢ ÇÁ·¹ÀÓ ¶Ç´Â Àå¸éÀÌ ³¡³¯ ¶§¸¶´Ù È£Ãâ

    


Backward Forward Post Reply List