Skip to content

This is a first person shooter prototype inplementation for a university project

License

Notifications You must be signed in to change notification settings

edg956/Basic-FPS-OpenGL

This branch is 15 commits ahead of, 2 commits behind Alfred-Franz/OpenGL-Template:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0730883 · Jan 29, 2020

History

24 Commits
Jan 16, 2020
Jan 16, 2020
Nov 14, 2017
Jan 16, 2020
Nov 14, 2017
Nov 14, 2017
Nov 14, 2017
Jan 16, 2020
Nov 14, 2017
Jan 29, 2020
Nov 14, 2017

Repository files navigation

Description

This is a program implemented for practical part of the course Computer Graphics at Technische Hochschule Ulm

It consists of a 3D model created using Blender 2.8, imported to a C++ program and rendered using OpenGL 4+. It's a simulation of a 3D first person shooter with some basic shading and a minimap included.

The code includes Phong's shading model, a flashlight implementation in the fragment shader, and mouse movement/key presses for calculating the transformation matrixes applied to the 3D scene. It's far from perfect or realistic, but maybe helps other people looking for examples of implementation.

This is a fork from prof. @Alfred-Franz that contained the red triangle program (the hello world of computer graphics, so I heard) that I used as a template for creating an OpenGL project.

Goal

The practical part of the course consisted in creating 3 showcases:

  • 2D showcase containing some 2D transformations (minimap)
  • Shaders showcase (Light from the moon and flashlight)
  • 3D showcase containing 3D transformations to move the camera around the map.

The resulting program is a combination of the three

Building

Requirements

  • Microsoft Visual Studio (2019 used in this case) with C++ compiler
  • CMake 3+

Using CMake, select this repo's folder as source and a folder for binaries, configure, generate and open the project.

Once in MSV, find the project "FPSGame" and build.

Execute the .exe in /FPSGame/

Pictures

Example of light of the moon in the scene Example of the flashlight's beam on a wall

Resources

About

This is a first person shooter prototype inplementation for a university project

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 76.8%
  • Python 18.5%
  • CMake 4.3%
  • Other 0.4%