일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Windows 10
- Eclipse
- HTML Code
- Spring Boot
- springboot
- tortoise SVN
- exit code = -805306369
- Spring Cloud
- loadcomplete
- HTML Special Entity
- PG-Strom
- Can't load AMD 64-bit .dll on a IA 32-bit platform
- orioledb
- Maven Project
- tomcat
- JSP
- graph database
- Next.js
- OGM
- NextJs
- NestJS
- PostgreSQL
- typeorm
- STS
- BRIN
- 서브라임 텍스트
- Spring
- Java
- MariaDB
- maven
- Today
- Total
Undergoing
가스켓 프로그램 본문
그래픽스 수업 들은지 얼마나 됐다고 괴랄한 과제를 내주신다. 이건 과제는 아니지만, 원래 수업 시간 중에 실습해야 할 부분이었길래 CCCV 해본다.
헤더 파일 및 라이브러리 파일은
여기서 다운로드하면 되고, 비주얼 스튜디오별로 설치하는 법이 약간 다르다(구자영 교수님 PPT에서 발췌).
< Visual Studio 2008 >
glut32.dll : C:\WINDOWS\system32\ glut32.lib : C:\Program Files\Microsoft Visual Studio 9.0\VC\lib\ glut.h : C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL\
=> 설정 project -> 해당프로젝트명properties.. -> Configuration Properties -> Linker -> Input항목 중 Additional Dependencies에 opengl32.lib glut32.lib glu32.lib 를 입력
< Visual Studio 2005 >
glut32.dll : C:\WINDOWS\system32\ glut32.lib : C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ glut.h : C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\GL\
< Visual Studio 6.0 >
glut32.dll : C:\WINDOWS\System32\ glut32.lib : C:\Program Files\VisualStudio\VC98\Lib\ glut.h : C:\Program Files\VisualStudio\VC98\Include\GL\
=> 설정 project -> Setting -> Link 탭항목 중 Object/library modules:에 opengl32.lib glut32.lib glu32.lib 를 입력
좌우지간 가스켓 프로그램 소스는 다음과 같다.
--------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <GL/glut.h>
//헤더 파일 순서 주의. 이 순서대로 하지 않으면 에러 뜬다.
void myinit(void)
{
/* 속성들 */
glClearColor(1.0, 1.0, 1.0, 1.0); /* 불투명한 흰 배경 */
glColor3f(1.0, 0.0, 0.0); /* 적색으로 그림 */
/* 관측의 설정 */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 50.0, 0.0, 50.0);
glMatrixMode(GL_MODELVIEW);
}
void display(void)
{
GLfloat vertices[3][2] = {{0.0, 0.0}, {25.0, 50.0},
{50.0, 0.0}};
/* 삼각형 */
int i, j, k;
int rand(); /* 표준 난수 발생기 */
GLfloat p[2] = {75.0, 50.0}; /* 임의의 점 */
glClear(GL_COLOR_BUFFER_BIT);/* 윈도우를 지움 */
/* 5000 개의 새로운 점을 계산하고 그림 */
glBegin(GL_POINTS);
for (k=0; k<5000; k++)
{
j = rand()%3;/* 하나의 정점을 무작위로 선택 */
/* 정점과 이전의 점의 중점을 계산 */
p[0] = (p[0]+vertices[j][0])/2.0;
p[1] = (p[1]+vertices[j][1])/2.0;
/* 점을 그림 */
glVertex2fv(p);
}
glEnd();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutInitWindowPosition(0, 0);
glutCreateWindow("simple OpenGL example");
glutDisplayFunc(display);
myinit();
glutMainLoop();
}
--------------------------------------------------------------
실행 결과
C 기초도 부실한데 초장부터 이런 거 짜고 있으니 걱정이다.
'~2012.05.01 Legacy' 카테고리의 다른 글
입력 n이 주어질 때 원주상에 균일하게 자리잡은 n 개의 점들을 서로 연결한 그림을 출력하는 OpenGL 프로그램을 작성하시오. (1) | 2010.03.19 |
---|---|
삼각형 분할하기 + 사면체 분할하기 (0) | 2010.03.17 |
[LINUX/UNIX] 왜 리눅스를 배워야 하는가 (0) | 2009.10.04 |
ISE와 ModelSim을 이용한 전가산기 만들기 (0) | 2009.05.25 |
도서관 자리 맡지 마라 (2) | 2009.04.18 |