[오픈GL]오픈GL 3D를 이용한 2x2x2 큐빅입니다
*강*
다운로드
장바구니
소개글
=========================================================================내용 : 3D 객체 정의(자기만의 고유한 대상 정의),
뷰잉, 이동,회전 변환에 의한 애니메이션 효과,
라이팅 효과 설정
원칙 : 자신의 고유한 객체 정의, 위의 내용이 모두 구현되어야 함. 보고서 필수 제출
=========================================================================
레포트 점수 100점 만점 받았고요. 객체는 미니큐빅이라 생각하면되요.
큐빅 색을 마추는게 아니라 그냥 돌아가는것만 구현해놓았어요
한번 돌리때마다 90도씩 애니메이션 효과로 회전되며 각 규브마다 색을 다르게 하여 옆면 회전과 위아래 및 앞뒷면이 회전되고 회전된 후의 위치에서 다시 회전되도록 구현되어있답니다.
그리고 작성원리 및 방법에 대한 보고서 포함된 파일입니다.
컴파일 실행환경
vc6.0glut 라이브러리는 설명과 함께 파일에 포함되있습니다.
본문내용
#include <GL/glut.h>#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
int spin = 0; // 라이트 객체를 회전할 각도
int rot = 0; // 큐브 객체를 회전할 각도(8개 전체에 적용)
bool bCube[8] = {0}; // 회전될 큐브 객체선택
int direct = 1; // 회전 방향 선택
int r_x=0, r_y=0, r_z=0; // 회전 축
int t_x=15, t_y=0, t_z=0; // 시점 위치
char ob_ch = 0; // 키 입력값
GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 }; // 라이트
GLfloat low_shininess[] = { 2.0 }; // 라이트
GLfloat cube1[] = {-2.0, -2.0, -2.0}; // 큐브객체 1
GLfloat cube2[] = {-2.0, -2.0, 2.0}; // 큐브객체 2
GLfloat cube3[] = {-2.0, 2.0, -2.0}; // 큐브객체 3
GLfloat cube4[] = {-2.0, 2.0, 2.0}; // 큐브객체 4
GLfloat cube5[] = {2.0, -2.0, -2.0}; // 큐브객체 5
GLfloat cube6[] = {2.0, -2.0, 2.0}; // 큐브객체 6
GLfloat cube7[] = {2.0, 2.0, -2.0}; // 큐브객체 7
GLfloat cube8[] = {2.0, 2.0, 2.0}; // 큐브객체 8
GLfloat position[] = { 0.0, 0.0, 7.0, 1.0 }; // 라이트 위치
// 큐브 객체 색지정을 위한 8가지 색
GLfloat cube_color[8][3] ={{0,0,0},{0,0,1},{0,1,0},{0,1,1},
{1,0,0},{1,0,1},{1,1,0},{1,1,1}};
int color_num[8] = {0,1,2,3,4,5,6,7};
void object_chang(char c); // 객체 색 변경 모듈
void init(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glShadeModel (GL_SMOOTH);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
}
void display(void){
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, low_shininess);
glEnable(GL_COLOR_MATERIAL);
glPushMatrix ();
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
gluLookAt (t_x, t_y, t_z, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); // 시점
// 라이트 방향 및 위치
glPushMatrix ();
압축파일 내 파일목록
OpenGL_Cubic.hwp
glutdlls37beta/glut.dll
glutdlls37beta/glut.h
glutdlls37beta/glut.lib
glutdlls37beta/glut32.dll
glutdlls37beta/glut32.lib
glutdlls37beta/설명.txt
cubic/cubic.cpp
cubic/cubic.dsp
cubic/cubic.dsw
cubic/cubic.ncb
cubic/cubic.opt
cubic/cubic.plg
cubic/Debug/cubic.exe
glutdlls37beta/glut.dll
glutdlls37beta/glut.h
glutdlls37beta/glut.lib
glutdlls37beta/glut32.dll
glutdlls37beta/glut32.lib
glutdlls37beta/설명.txt
cubic/cubic.cpp
cubic/cubic.dsp
cubic/cubic.dsw
cubic/cubic.ncb
cubic/cubic.opt
cubic/cubic.plg
cubic/Debug/cubic.exe