[OpenGL] OpenGL 줌인, 줌 아웃 구현하기
OpenGL 줌인, 줌 아웃 구현하기
사진 찍을 때 줌 아웃 하는 것 처럼 OpenGL도 구현이 가능하다.
sphere 줌 아웃 애니메이션 만들기
sphere가 줌 아웃 되는 애니메이션 만들기
#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();}
실행 결과
사진 찍을 때 줌 아웃 하는 것 처럼 OpenGL도 구현이 가능하다.
sphere 줌 아웃 애니메이션 만들기
sphere가 줌 아웃 되는 애니메이션 만들기
#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();
}
댓글
댓글 쓰기