Open GL (Texture Mapping) 을 사용한 태양계 구현
- 최초 등록일
- 2013.02.15
- 최종 저작일
- 2012.10
- 압축파일
- 가격 1,500원
소개글
1. 프로그램 정의
Open GL의 Push/PoP Matrix 와 Texture Mapping을 사용한 Solar System 구현
2. 프로그램 형태
2.1. 프로그램 특징
- OpenGL을 이용하여 Solar System을 구현한다.
- Solar System 은 태양, 수성, 금성, 지구, 화성, 목성, 토성 그리고 지구의 위성인 달을 구현한다.
- 각 행성들의 자전과 공전을 구현한다.
2.2. 구현 내용
■ 행성의 구현
- Push/Pop Matrix를 사용하여 각각의 행성을 구현하고 각 행성에 텍스쳐를 매핑하였다.
- 텍스쳐 매핑은 조명 계산 후에 색상을 지오메트리 색상과 곱하는 방식으로 진행하였다.
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE)
텍스처 인자 : glTexParameteri( )
- 토성의 고리를 구현하기 위하여 입력한 지름의 길이만큼을 선택한 점에서 360º를 돌며 glBegin(GL_POINTS)를 실행하는 함수 draw_saturn_rings(float radius)를 구현하였다.
■ 자 · 공전의 구현
- 자 · 공전을 위해 glutTimerFunc를 사용하여 자 · 공전을 위한 함수 TimerFunc를 콜백한다. 이 함수는 단 한 번만 실행된다. 따라서 다음과 recursive 처리가 필요하다.
void TimerFunc(int Value){
Do Something.....
glutTimerFunc(40, TimerFunc, 1);
}
int main(){
glutTimerFunc(40, TimerFunc, 1);
}
2.3. 개발환경
① Window 7
② Visual Studio 2010
컴파일 실행환경
Visual Studio 2010, openGL
압축파일 내 파일목록
Debug/gltest.exe
Debug/gltest.ilk
Debug/gltest.pdb
gltest/Debug/Bitmap.obj
gltest/Debug/CL.read.1.tlog
gltest/Debug/CL.write.1.tlog
gltest/Debug/cl.command.1.tlog
gltest/Debug/gltest.exe.intermediate.manifest
gltest/Debug/gltest.lastbuildstate
gltest/Debug/gltest.log
gltest/Debug/link.command.1.tlog
gltest/Debug/link.read.1.tlog
gltest/Debug/link.write.1.tlog
gltest/Debug/mj.obj
gltest/Debug/mjkkk.obj
gltest/Debug/mt.command.1.tlog
gltest/Debug/mt.read.1.tlog
gltest/Debug/mt.write.1.tlog
gltest/Debug/vc100.idb
gltest/Debug/vc100.pdb
gltest/Bitmap.cpp
gltest/Bitmap.h
gltest/earth.bmp
gltest/gltest.vcxproj
gltest/gltest.vcxproj.filters
gltest/gltest.vcxproj.user
gltest/jupiter.bmp
gltest/mars.bmp
gltest/mercury.bmp
gltest/mj.cpp
gltest/mjkkk.cpp
gltest/moon.bmp
gltest/saturn.bmp
gltest/sun.bmp
gltest/venus.bmp
ipch/gltest-1056ca6c/gltest-a10329f.ipch
gltest.opensdf
gltest.sdf
gltest.sln
gltest.suo
OpenGL_SolarSystem.hwp
참고 자료
없음