일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 프레시업 #풀무원 #하루한병 #건강만들기 #풀무원 녹즙
- Path Alias
- 음료같은녹즙
- React Native
- visual studio code
- 초대장
- gitlab 연동
- 네이버 클라우드 플랫폼
- visual studio code cli
- 니돈내먹
- code 설치
- 티스토리초대
- GitHub 미러링
- 프리티어
- react native #gradle
- GitHub Mirroring
- '티스토리 초대장/ 티스토리초대'
- currentTimeMillis
- webstorm
- 티스토리 초대장/ 티스토리초대
- GitLab Mirroring
- GitLab미러링
- 실행시간 측정
- code .
- settings sync
- Emmet
- 티스토리 초대장
- eslint-import-resolver-typescript
- code 세팅
- 유니옥션
Archives
- Today
- Total
방치하기
[openGL]objecet 한개 회전 한개 옆으로 이동 후 멈추기 본문
반응형
#include#include static GLfloat spin = 0.0; void display(void) { glClear(GL_COLOR_BUFFER_BIT); glPushMatrix(); glRotatef(spin, 0.0, 0.0, 0.1); glColor3f(1.0, 1.0, 1.0); glColor3f(1.0, 1.0, 1.0); glBegin(GL_POLYGON); glVertex3f (11.25, 11.25, 0.0); glVertex3f (93.75, 11.25, 0.0); glVertex3f (93.75, 11.75, 0.0); glVertex3f (11.25, 11.75, 0.0); glEnd(); glPopMatrix(); glColor3f(1.0, 1.0, 1.0); glBegin(GL_POLYGON); glVertex3f (9.25, 0.25, 0.0); glVertex3f (93.75, 0.25, 0.0); glVertex3f (93.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); glutSwapBuffers(); } void spinDisplay(void) { spin = spin + 2.0; if (spin > 360.0) spin = spin - 360.0; glutPostRedisplay(); } void spinDisplay2(void) { spin = spin + 5.0; if (spin > 360.0) spin = spin - 360.0; glutPostRedisplay(); } void init(void) { glClearColor (0.0, 0.0, 0.0, 0.0); glShadeModel (GL_FLAT); } void reshape(int w, int h) { glViewport (0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-50.0, 50.0, -50.0, 50.0, -1.0, 1.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void mouse(int button, int state, int x, int y) { switch (button) { case GLUT_LEFT_BUTTON: if (state == GLUT_DOWN) glutIdleFunc(spinDisplay); break; case GLUT_MIDDLE_BUTTON: glutIdleFunc(spinDisplay2); break; case GLUT_RIGHT_BUTTON: if (state == GLUT_DOWN) glutIdleFunc(NULL); break; default: break; } } /* * Request double buffer display mode. * Register mouse input callback functions */ int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize (250, 250); glutInitWindowPosition (100, 100); glutCreateWindow (argv[0]); init (); glutDisplayFunc(display); glutReshapeFunc(reshape); glutMouseFunc(mouse); glutMainLoop(); return 0; }
반응형
Comments