Skip to content

OSS12 Project Planner

Junhyuk Kim edited this page Jun 5, 2017 · 8 revisions

Solar System Simulator Project


PROJECT 개요



Copied from here

   OpenGL 모델링에서 많이 사용되는 OpenGL 태양계 모델링을 오픈소스 프로젝트 주제로 정하였다. 태양계 모델링은 많은 개발자들이 참여하여 다양한 모습으로 구현되어 그래픽 디자인이나 그래픽 관련 교육에 첫걸음이 되고있다. 또한 모델링의 대표적인 툴인 Sketch Up, 3D Max, Maya에서 많이 활용되고 있는 주제이기도 하다. 따라서 이번 프로젝트를 통해 태양계 모델링 OSS에 한 학기동안 배운 모든 기여를 시도하고 색다른 태양계 모습과 새로운 기능을 추가하여 태양계 OpenGL 모델링 오픈소스 산업에 기여할 예정이다.


PROJECT 선정 이유

   OpenGL 의 편리한 그래픽 인터페이스와 더불어 해당 팀원들은 대부분 컴퓨터 그래픽스 과목을 수강하였거나, 수강 중인 상태로 OpenGL 의 기초적인 사용법을 숙지하고 있다. 또한 C와 C++ 언어를 공통적으로 사용할 수 있다는 점도 이 Project 선정에 대한 이유이다. 대부분의 Github에 업로드된 OpenGL 관련 모델링 소스들은 코드의 복잡성과 더불어 미흡한 부분이 있거나 추가적으로 보충을 요하는 부분이 많다. 이는 개개인의 프로그래밍 능력에 차이가 존재하더라도 주석을 달거나, 더 쉽게 읽히도록 코드를 바꾸는 작업을 함으로써 전반적인 코드를 변경하거나 추가하는 것 없이도 Github 및 오픈 소스 산업에 많은 기여를 할 수 있을 것이라 판단하였다. 또한 기본적인 태양계 모델링 구조만을 가진 현재의 프로그램을 보다 심미성 있게, 작동하기 쉽게 바꿀 수 있을 거라는 확신이 들었으며, 실제로 수정할 부분도 많이 눈에 띄었다. 이러한 이유들로 OpenGL 태양계 모델링을 오픈소스 프로젝트 주제로 정하였다.


PROJECT 목적

   이번 프로젝트를 수행함에 있어 기존 코드를 많이 변형하여 새로운 프로그램을 만드는 것보다는 해당 코드의 부족한 부분을 보완하고, 프로그램에 존재한다면 이용이 더 편리해질 것 같은 기능들을 추가하여 기존의 프로젝트를 한층 더 업그레이드 시키는 것에 초점을 두었다. 가장 먼저, 기존 오픈소스를 어떻게 사용해야 하는지 등이 명시 되어있는 READ ME 파일을 만드는 것, 타 개발자가 해당소스를 보았을 때 쉽게 코드를 이해할 수 있도록 주석을 다는 것, 굳이 코드를 보지 않아도 프로그램을 어떻게 작동시키는지 알 수 있도록 하는 부분들을 추가하는 것 등의 기본적이면서도 대체로 수정이 간단한 부분을 수행하기로 하였다. 그 다음엔 지구에만 적용되어 있는 텍스쳐 맵핑 등을 타 행성에도 적용하여 현재 오픈소스에 부족한 심미적 요소를 보강하기로 하였고, 기존 코드에선 고려하지 않은 행성 간의 간격이나 실존하는 모든 태양계 행성의 구현, 그리고 행성들의 자전 속도와 공전 속도 등도 접목하여 실제 태양계와 최대한 비슷하게 구현하여 더 현실적인 태양계 모델링을 목표를 두기로 했다.

   또한 우리의 협업 프로젝트에 관하여 한층 더 풍부한 정보 제공을 위하여 태양계 모델링 제작 프로젝트에 관한 ‘Wiki 개설’과 ‘홈페이지 제작’까지 시도하기로 하였다. 이를 수행함에 있어서 팀원 개개인의 프로그래밍 능력이 매우 상이하고, 팀에 기여할 수 있는 부분이 정해져 있음을 고려하였을 때 각자의 역할 분담을 분명히 하기로 하였다. 최종 프로젝트가 완수되었을 때에는 프로그래밍의 기초만 가지고 있어도 코드를 쉽게 파악할 수 있도록 하고, 실제 태양계와 비슷한 모습을 구현하여 오픈소스 산업에 기여할 것이다.


PROJECT 개발 환경

OS Windows 10 / Mac X OS
개발 툴 Visual Studio 15 / Visual Studio 17 / DevC++
개발 언어 C++

PROJECT 개발 일정