root-a / LTU-labs

Almost everything I have bashed on the keyboard during game development studies at LTU

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LTU-labs

Almost everything I have bashed on the keyboard the during game development studies at LTU.
I continue working on this repository, refining the code and adding ⚠new projects.

OpenGL

Physics Engine

  • SAT
  • Clipping - multiple contacts
  • BAUMGARTE + positional penetration correction
  • Impulse based collision response
  • Different integration methods.

Graphics

  • Deferred Shading
  • VSM (Forward)
  • ⚠VSM (Deferred) (PCF Point light shadows)
  • Per-pixel picking
  • Geometry Subdivision
  • Scene graph
  • Double & Single Precision Math lib
  • ⚠Particles
  • ⚠Soft Particles
  • ⚠HDR
  • ⚠Bloom
  • ⚠Normal mapping
  • ⚠Specular maps
  • ⚠PBR with shadows

Network

  • Socket programming for Windows & Linux
  • Cross-Platform communication between Windows & Linux
  • Multicast
  • UDP/TCP
  • JAVA, C, C++

AI

  • State Machine project simulating life of "sims"
  • Pathfinding algorithms, performance and usecase analysis

Key-bindings for OpenGL projects

  • 0-9 - Changing scenes(number of scenes may vary for each project)
  • WASD - Camera movement.
  • Backspace - Enable physics for lights(deferred project only)
  • LShift - Descend
  • Spacebar - Ascend
  • LAlt - Toggle lock/unlock mouse in window.
  • Arrows - Move (last selected) object
  • NUM+ - Increase time-step
  • NUM- - Decrease time-step
  • T - Reset time-step (60Hz)
  • P - Pause
  • O - Toggle drawing of bounding boxes.
  • L - Toggle drawing of lines.
  • F5 - Toggle drawing of contact points, collision normals, and clip planes.
  • TAB - Toggle wireframe/shaded drawing modes.
  • E - Spawn a cube.
  • LCtrl+S - Save the last object added to the scene, mostly for saving the subdivided mesh back to obj file.

About

Almost everything I have bashed on the keyboard during game development studies at LTU

License:Apache License 2.0


Languages

Language:C++ 65.1%Language:GLSL 18.4%Language:Java 9.0%Language:CMake 4.0%Language:Lua 2.5%Language:C 0.9%Language:CSS 0.1%