Skip to content

forteller11/independent-study-fall-2020

Repository files navigation

the webcam's g👁ze

an independent study at Concordia University, Fall 2020

a graphics framework, and game, created in C# to learn OpenGL (OpenTK).


a features and wishlist

entity architecture
  • object-oriented (cache unfriendly) entity system
  • support for component-based entity system
  • support for data-oriented entity system which stores all like components in array of structs and have systems which act on them.
common gameplay engine features
  • support for transform hierachies (parent-child relationships), currently unoptimized (not cached)
  • walking sim type 2D movement system where walkable topology can be generated from meshes
  • raycasting against individual triangle, plane and sphere colliders, an entity's colliders, or the world's colliders
  • physics integration (likely gpu-accelerated)
rendering
  • forward rendering
  • scriptable offscreen buffers
  • multiple lights (direction and point)
  • normal mapping, with roughness maps
  • reflections/light probes
  • extendable material system that supports sending custom attributes per material or per entity
  • shadow mapping (doesn't follow camera)
  • texture atlas support
  • texture streaming and dynamic atlas creation
  • static batching (of static geometry at runtime)
  • dynamic batching
misc
  • serialization
  • editor gui
  • audio
  • scripts that can be compiled seperately from engine (multiple assemblies)
  • simple multi-threading, so that render loop, entity stuff, and audio stuff happen on seperate threads.
  • profiling

About

graphics programing using openGL and c#

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published