Skip to content

tcarrel/Final_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

243 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Untitled 3D Graphics Engine

The poster used at the poster session is included in the Poster directory.

#Original Plan Later, I will update this to match the outcome of the final project. For now, suffice to say that I intend to redo the project from scratch purely in Vulkan using what I learned from this project as a foundation.

A 3D graphics engine that can be used as a component of a larger game engine. Primary features/goals:

  • Be operating system agnostic. Will be initially programmed on Linux, but should only require minor changes to make it compile and run on Windows. (And, OS-X as well, although I have no way of testing this.
  • Use the most modern variant of OpenGL available today. (OpenGL 4.5) If time permits and everthing else is working, I will add in compatability for earlier versions of the API, and, by extension, older hardware.

##Additional Goals

If time permits, these additional feature will be added.

  • Provide basic scripting system through either Lua or a custom byte-code based language.
  • Add collision detection and response.
  • Change to or add a Vulkan®-based rendering system.
  • Add support for multithreading.
  • Create a simple demo "game".

##Technologies, Libraries, and Languages Used

  • C/C++, primarily C with some C++.
  • OpenGL 4.5, Open Graphics Library, for rendering.
  • SDL2, Simple Direct Media Layer 2, for operating system agnostic windowing system and controls.
  • SOIL Simple OpenGL Image Library.
  • GLEW, OpenGL Extension Wrangler.
  • GLM OpenGL Mathematics, library.
  • git and github Version control and backup.
  • Doxygen Documentation. View program documentation here.

##Additional Technologies If time provide, these additional libraries may be used for additional goals listed above.

##Screenshots

Here are some screenshots of some Wavefront .obj file that have been rendered using the program thus far.

A Cube A cube with randomly colored verticies.

A Torus A torus with randomly colored vertices.

Two linked toruses. Two intersecting toruses with randomly colored vertices.

Normal Colored Torus A torus with vertices colored according to their normal vector.

Utah Teapot 1 The Utah Teapot with randomly colored vertices.

Utah Teapot 2 The Utah Teapot with vertices colored according to their normal vector.

Stanford Bunny The Stanford Bunny with vertices colored according to their normal vector.

##Works cited:

About

A basic 3D graphics engine.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors