CSCI 3260 Assignment 2

1155123308 Wentao Zhu

Description

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.

How you can test the project:

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.

Implementation

SS

Objects

  • A superman is fighting against an enemy for the fragile planet.
  • Three .obj models are loaded and textured.

Interaction

  • As the insturction writes.
  • Control the character on the left using arrow keys, control the character on the right using I/J/K/L

Implementation

  • 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.