source: opengl-game/docs/README.txt@ 9d21aac

feature/imgui-sdl
Last change on this file since 9d21aac was 756162f, checked in by Dmitry Portnoy <dportnoy@…>, 3 years ago

Merge branch 'feature/imgui-sdl' of medievaltech.com:opengl-game into feature/imgui-sdl

  • Property mode set to 100644
File size: 5.5 KB
RevLine 
[756162f]1--------------------
2CONTROLS
3--------------------
[03f4c64]4
[756162f]5Use left and right arrow keys to move your ship
6Use Z and X to fire your left and right lasers at the cubes (asteroids)
[03f4c64]7
8--------------------
[ab65f84]9VULKAN INSTRUCTIOS
10--------------------
11
[cb6fabb]12These are the most up-to-date instructions. Use these rather than the ones
13listed further down, which are for the old OpenGL version of the game
14
[ab65f84]15Windows
16--------
17
[1c6cd5e]18Create an include directory inside the opengl-game folder
19
[cbe946d]20Download GLM and copy the glm folder into your include directory
21
22Download the 64bit pre-compiledbinaries of GLFW3
23 - Copy lib-vc2019/glfw3.lib into your lib directory
24 - Copy the whole include/GLFW directory into your include directory
[5f3dba8]25
[1c6cd5e]26Download the SDL2 pre-built Windows binaries
27 - Copy the SDL2 include folder into /include and rename it SDL2
[5f3dba8]28 - Copy the contents of lib/x64 to lib
29
[cbe946d]30Download the SDL2_image Visual C++ development libraries from https://www.libsdl.org/projects/SDL_image/
31Download the SDL2_ttf Visual C++ development libraries from https://www.libsdl.org/projects/SDL_ttf/
32(Might use SDL2_gfx later as well)
[5f3dba8]33
[cbe946d]34Copy the 64-bit static libraries to the lib directory you created above
[5f3dba8]35
36TODO: Figure out how to do static compilation with SDL2
[1c6cd5e]37
[cbe946d]38Since I'm currently using dynamic SDL2 libraries for Windows, some DLLs from sdl2-ttf and sdl2-image
39
[1c6cd5e]40Download the vulkan sdk
41 - Add the location of the Include folder to the VS2019 project properties under C/C++ -> General -> Addition Include DIrectories
42 - Add the location of the Lib folder to the VS2019 project properties under Linker -> General -> Addition Library DIrectories
[03f4c64]43
44Linux:
[ab65f84]45--------
[03f4c64]46
[ab65f84]47Download the vulkan sdk (make sure VULKAN_SDK_PATH in the makefile points to it)
[03f4c64]48
[17714b8]49sudo apt-get install libxcb1-dev xorg-dev libglm-dev libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev
[1c6cd5e]50
[b6127d2]51source setup-env.sh into your current shell
52
[cb6fabb]53mActually, I think now this should work, after following the online instructions for installing Vulkan:
[7865c5b]54sudo apt-get install vulkan-sdk libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libglm-dev
55(Follow the instructions at https://vulkan.lunarg.com/sdk/home#linux to add the latest Vulkan SDK version to apt-get)
56(Verify that installing libvulkan-1 is not required)
[db1b548]57
[1c6cd5e]58make vulkangame && ./vulkangame
[f898c5f]59
[db1b548]60For the sfml version: (these directions need verification)
61
62sudo apt-get install libglm-dev libsfml-dev
63
[cb6fabb]64Currently, the apt-get sfml package doesn't have Vulkan support, so need to install from source as follows:
[db1b548]65
66Build the library yourself by following the instructions at https://www.sfml-dev.org/tutorials/2.5/compile-with-cmake.php
67
68sudo apt-get install libfreetype-dev libx11-dev libxrandr-dev libudev-dev libopengl-dev libflac-dev libogg-dev libvorbis-dev libopenal-dev libpthread-stubs0-dev
69
70sudo apt-get install cmake-qt-gui
71
72Clone the sfml repo
73
[f898c5f]74OSX
[ab65f84]75--------
76
[cb6fabb]77brew install cmake pkg-config glm sdl2 sdl2_image sdl2_ttf sdl2_gfx
78(cmake is needed for the python script mentioned below)
79
80Download the Vulkan SDK from https://vulkan.lunarg.com/sdk/home
81
82Install it by running this from inside the downloaded folder:
83sudo ./install_vulkan.py
84
85make shaders
86make vulkangame
87./vulkangame
88
89
90INSTRUCTIONS FOR THE SFML VERSION ()
91
92OLD INSTALL INSTRUCTIONS FOR THE OpenGL version (might no longer work)
93-----------------------------------------------------------------------
94
95Installation Instructions for Linux
96---------------------------------------
97
98sudo apt-get install xorg-dev libglew-dev libglm-dev libglfw3-dev
99
100make openglref && ./openglref
101
102(Old Linux instructions for compiling game.cpp)
103-sudo apt-get install cmake xorg-dev libglew-dev libglu1-mesa-dev freeglut3-dev mesa-common-dev
104
105-Compile GLFW3 from source
106 (cmake . && make && sudo make install)
107
108Installation Instructions for OSX
109---------------------------------------
110
111brew install glew
112brew install glfw --without-shared-library
113brew install glm
114
115This should place all necessary files (or possibly symlinks to them) in
116/usr/loca/include and /usr/local/lib.
117
118Run 'xcode-select --install'
119This should make g++ check for libraries in /usr/local/
120
121If the above command gives you the following error, you should be able to move on and compile the game.
122"xcode-select: error: command line tools are already installed, use "Software Update" to install updates"
123
124make newgame && ./newgame
125
126Installation Instructions for Windows
127---------------------------------------
128
129Create lib/ and include/ folders in the root opengl-game directory you cloned.
130
131Download the pre-compiled 64bit binaries of GLFW and GLEW.
132Copy the include/GL/ and include/GLFW/ folders into your include/ folder.
133
134For GLEW, copy lib/RELEASE/Win64/glew32s.lib into your lib folder.
135For GLFW, copy lib-vc2019/glfw3.lib into your lib folder.
136
137Download GLM and copy the glm folder (the one with all the .hpp files) into the include/ folder you made above.
138GLM is a header-only library, so there is nothing to copy into the lib/ folder.
139
140Open and run NewOpenGLGame.sln in Visual Studio 2017 and run it.
[f898c5f]141
[1c6cd5e]142
[fba08f2]143
144REFERENCE
145----------
146
147UV coords 0 u 1 x, y, z -1 (untransformed z ranges from 0 to 1, glm::perspective seems to make the z range negative)
148 0 -------> ^
149 | |
150 v | -1 | 0 1
151 | <-----|----->
152 1 V /|
153 / |
154 1 v
[5f3dba8]155 1
[e1a7f5a]156
157DEPLOYMENT
158-----------
159
160The deploy folder has an old Inno Setup script for deploying the game on Windows.
161
162I should check out IzPack. Seems to be a cross-platform solution.
Note: See TracBrowser for help on using the repository browser.