Skip to content

mknightdev/3DGP_Assignment

Repository files navigation

3D Graphics Programming

About

In this assignment, I had the choice of creating a 3D game, tool, or tech demo to demonstrate my understanding of 3D graphics and programming principles. I decided to create a 3D Model Viewer, which could handle custom models and their textures using the text file provided.

Usage

A .txt file named "Model_Settings" must be located in the same directory as the .exe. The file path of the model should be first, followed by its texture. Please see the example below.

Example

models/skeleton/skeleton.obj
models/skeleton/skeleton_diffuse.png
models/croc/croc.obj
models/croc/croc_diffuse.png
models/imp/imp.obj
models/imp/imp_diffuse.png

Lighting

Three types of lighting were implemented (in order of appearance): diffuse, ambient and specular.

UI Elements

Texture

The top-left of the application displays the texture of the current model.

Scaling

In case the custom models loaded were large, I implemented scaling buttons to increase and decrease the model.

Rotation

The rotation button enables and disables the model rotation. If it is disabled, the model will face the camera.

Undo

The undo button resets the scale, and the lighting of the model back to their defaults.

Model Select

To cycle through the loaded models and textures, use the arrows in the bottom left of the application to cycle through them.

Lighting Select

To cycle through the lighting options, use the arrows in the bottom right of the application to cycle through them.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages