일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- maven
- Spring Cloud
- springboot
- STS
- JSP
- Eclipse
- Java
- Windows 10
- loadcomplete
- exit code = -805306369
- tortoise SVN
- NextJs
- Maven Project
- MariaDB
- typeorm
- PG-Strom
- Next.js
- orioledb
- HTML Special Entity
- PostgreSQL
- HTML Code
- graph database
- OGM
- Spring
- Spring Boot
- 서브라임 텍스트
- NestJS
- tomcat
- BRIN
- Can't load AMD 64-bit .dll on a IA 32-bit platform
- Today
- Total
Undergoing
OpenGL로 시계 그리기 본문
일단 구현하라는 내용만
-----------------------------------------------------------------
문제
1) 시계 바탕 그리기
1.1 삼각형 그리기
관측공간을 (-2.0, -2.0) 과 (2.0, 2.0)을 모서리로 하는 사각형으로 설정
삼각형을 그리는 프로그램 작성[ void tick_mark(void) ]
1.2 삼각형을 회전해서 바탕 그리기
함수 [void draw_plate(void)]를 작성하고 display에서 호출한다.
-----------------------------------------------------------------
#include<GL/glut.h>
#include<stdio.h>
void myinit(void)
{
glClearColor(0.0, 0.3, 0.5, 1.0);
glColor3ub(157, 209, 255);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-2.0,-2.0,2.0,2.0);
glScalef(0.5f, 0.5f, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void tick_mark(void)
{
glBegin(GL_TRIANGLES);
glVertex2f(-0.1,0.0);
glVertex2f(0.0,0.02);
glVertex2f(0.0,-0.02);
glEnd();
}
void draw_plate()
{
for(int i=0;i<60;i++)
{
glPushMatrix();
glRotatef(i*6,0,0,1);
glTranslatef(1.55,0,0);
if(i%5 == 0) glScalef(2.0f, 1.0f, 1.0f);
tick_mark();
glPopMatrix();
}
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
draw_plate();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutInitWindowPosition(0, 0);
glutCreateWindow("base");
glutDisplayFunc(display);
myinit(); glutMainLoop();
}
1.1은 만드는 거 일도 아니고(단지 좀 짱났던 건 PPT에 제시된 색상 찾느라 포토샵 스포이드로 배경색과 화살표색을 찾아 돌아다닌 정도), 1.2는 myinit이랑 본함수에서 꽤나 오랜 시간 헤맸다.
이중훼이크 즐염.
'~2012.05.01 Legacy' 카테고리의 다른 글
빈 창 만들기 (0) | 2010.07.06 |
---|---|
회전 3D 가스켓을 향한 시점의 이동 (0) | 2010.04.14 |
Agile Process Model (0) | 2010.03.31 |
입력 n이 주어질 때 원주상에 균일하게 자리잡은 n 개의 점들을 서로 연결한 그림을 출력하는 OpenGL 프로그램을 작성하시오. (1) | 2010.03.19 |
삼각형 분할하기 + 사면체 분할하기 (0) | 2010.03.17 |