OpenGL

[OpenGL] 줌 인, 줌 아웃 구현하기

Let it out 2024. 2. 18. 19:54
사진 찍을 때 확대, 축소 하는 것 처럼 OpenGL도 구현이 가능하다.

 

 

줌 아웃 애니메이션 만들기

#include <GL/freeglut.h>
#include <stdio.h>

void draw(void)
{
  glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  glClearColor(1.0, 1.0, 1.0, 1.0); // 배경 색상
  glColor4f(0.0, 0.0, 1.0, 1.0); //그림 색상


  float ws = 0;

  for (int i = 0; i < 10; i++)
  {
    glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT);

    printf("%f\n", ws);
    ws += 0.5;

    glOrtho(-ws, ws, -ws, ws, -1.0, 10.0);
    glutWireSphere(1.0, 12, 12);

    glFlush();
    Sleep(1000);
  }
}

int main(int argc, char** argv)
{
  glutInit(&argc, argv);

  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA | GLUT_DEPTH);
  glutInitWindowPosition(800, 200);
  glutCreateWindow("Example");

  glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
  glMatrixMode(GL_MODELVIEW);

  glutDisplayFunc(draw);
  glutMainLoop();
}

 

반응형