glutwindow 를 사용한 3D 레고블럭 쌓기 게임입니다.
- 최초 등록일
- 2019.12.17
- 최종 저작일
- 2019.10
압축파일
- 가격 3,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
glutwindow 를 사용한 3D 레고블럭 쌓기 게임입니다.
대표이미지에서 보시다 시피 블럭, 기역자모양, 가로바, 세로바, 프리즘블럭, 소나무 모형, 총 7개의 블럭을 선택해서 바닥에
쌓을 수 있습니다. 안에서 사용한 모든 도형은 glut 에서 제공하는 도형은 사용하지 않았습니다.
(직접 그리는 함수 입니다. 공부하기 큰 도움이 되실 겁니다.)
Normal Vector를 첨부하여 기본적인 Light 효과 포함되있습니다.
Light 효과 없을시 색상을 난수값으로 출력하여 모든 폴리곤이 다른색상이 나오도록 적용되있습니다.
사용법
1. 기본적으로 바닥(녹색블럭)에 공중에 레고블럭을 선택하는 블럭이 보이고, 9, 0 키를 통해서 배치할 블럭을 선택합니다.
2. 스페이스 바를 누르면 배치할 블럭이 하나 생깁니다. (이녀석이 배치할 진짜 블럭임)
3. 방향키로 가로, 세로로 위치를 조절하고 1, 2 키로 위/아래 위치를 조절해서 블럭의 위치로 이동합니다.
- 바닥에 닿으면 더 내려갈 수 없게 설정
4. 다시 한번 스페이스 바를 누르면 최종 결정되고, 1번 과정으로 다시 배치할 수 있습니다.
추가 키 이벤트 : W 키를 누르면 도형이 line 형태로 나옵니다.
L 키를 누르면 Light 효과 off, off 시 폴리곤에 난수색상 적용
R 버튼 누를시 블럭 배치시 회전됩니다. 90도씩
기본 window size 는 1024, 768 로 되있으며, glutIdleFunc 반복적으로 화면이 갱신 됩니다.
코드는 openGL을 배우기 시작하시거나, 정리하시기에는 군더더기 없는 소스코드입니다.
모든 소스에는 한글 주석이 달려있어서 보시기에도 도움이 되실겁니다.
도형그리는 로직 : 큐브, 구체 그리는 함수 따로 있습니다. 보시면 아실겁니다.
개발환경 : Visual Studio 2017 32비트(x86) 빌드하셔야합니다.
OpenGL 관련 lib 가 32비트이기 때문입니다.
*** 혹시 VS 2015 로 하실 경우에는 속성 -> 일반 -> 플랫폼 도구 집합 에서 현재 버젼으로 세팅 하시길 바랍니다.
*** 그래도 SDK 버젼 오류가 뜨면 속성 -> 일반 -> 대상 플랫폼 버전에서 본인 버젼을 선택하고 빌드하시면 정상 동작합니다.
잘만들었으니 가져가셔서 많은 도움이 되셨음 좋겠습니다. 감사합니다.
컴파일 실행환경
Visual Studio 2017(상관없음), C/C++
압축파일 내 파일목록
Bin/glew32.lib
Bin/glext.h
Bin/GLU.H
Bin/glut.h
Bin/glut32.dll
Bin/glut32.lib
Bin/LegoBlockTool.exe
LegoBlockTool.sln
LegoBlockTool/glew32.lib
LegoBlockTool/glext.h
LegoBlockTool/GLU.H
LegoBlockTool/glut.h
LegoBlockTool/glut32.dll
LegoBlockTool/glut32.lib
LegoBlockTool/LegoBlockTool.cpp
LegoBlockTool/LegoBlockTool.vcxproj
LegoBlockTool/LegoBlockTool.vcxproj.filters
LegoBlockTool/LegoBlockTool.vcxproj.user
LegoBlockTool/ReadMe.txt
LegoBlockTool/stdafx.cpp
LegoBlockTool/stdafx.h
LegoBlockTool/targetver.h
참고 자료
없음