1155123308 Wentao Zhu
As you may know, modern OpenGL is poorly supported on macOS 10.14. To be more specific, the issue of FreeGLUT and OpenGL 3+ (required by GLSL) can not be not fully resolved. Therefore, I used a open source framework Glitter, which used GLFW as UI library and support modern OpenGL in a plug-and-play fashion.
Glitter features cross-platform reliability and is therefore recommended by Learn OpenGL. Technically, it simply packs the relevant libraries and linked them properly. I used a different skeleton code with identical logic. Since only the UI library is different from the skeleton code provided, the logistic of core functions are quite similar.
git clone --recursive https://github.com/Walter0807/CG-Assignment.git
cd CG-Assignment-1/Build
Now generate a project file or makefile for your platform. If you want to use a particular IDE, make sure it is installed; don't forget to set the Start-Up Project in Visual Studio or the Target in Xcode.
# UNIX Makefile
cmake ..
# Mac OSX
cmake -G "Xcode" ..
# Microsoft Windows
cmake -G "Visual Studio 14" ..
cmake -G "Visual Studio 14 Win64" ..
...
Then put the attached files to corresponding root directorty, compile and run.
Dependency: cmake
You can check out the video here.
If you have any questions, please contact me. I can also show it to you in person.
- A superman is fighting against an enemy for the fragile planet.
- Three .obj models are loaded and textured.
- As the insturction writes.
- Control the character on the left using arrow keys, control the character on the right using I/J/K/L
-
In this project, all the basic requirements are fulfilled.
-
Moreover, a skybox is rendered. A directional light (from right side) and a spotlight (from the camera) are implemented.