Coder Social home page Coder Social logo

sandbox-1's Introduction

Graphics Sandbox

License is Unlicense

Platform Build Status
Visual Studio 2017 Build status

A collection of C++11/14 classes and opengl utilities united under the arbitrarily namespace "avl" (short for Anvil).

Project Structure

  • scene-editor\ - A scene editor
  • particle-system\ - Work-in-progress CPU and GPU particle system simulator and renderer
  • projective-texturing\ - Implements projective surface texturing (i.e. Unity's projector object)
  • portal-rendering\ - A simple sample for source/target portal rendering. Does not handle nested portals.
  • frosted-glass\ - A recreation of the frosted/dirty glass window effect from Doom 2016/idTech6.
  • terrain-scan-effect\ - A terrain scanning effect inspired by No Man's Sky.
  • vr-environment\ - Incomplete sample for physics + VR interaction using Bullet 3
  • clustered-shading\ - A minimally viable implementation of clustered shading for point-lights
  • lib-render\ - Implements a forward renderer, physically-based materials, and asset serialization.
  • lib-incubator\ - Shared code between public & private projects.
  • examples\ - Tests of functionality in lib-incubator. Not likely to compile if you are not me.

Recent

  • Game-Dev, Procedural Geometry, and Simulation Algorithms
    • Ballistic trajectories - firing solutions for static and dynamic targets (i.e. tower defense)
    • Parabolic pointer - the computational geometry impl of a teleportation mechanic for VR
    • Parallel transport frames (PTF) - useful for creating tube geometries and virtual camera trajectories
    • Supershapes - modeling framework for natural forms based on the Gielis superformula (patented, unfortunately)
    • Library of procedural meshes (cube, sphere, cone, torus, capsule, etc)
    • Simplex noise generator (flow, derivative, curl, worley, fractal, and more)
    • 2D & 3D poisson disk distribution generator
    • Reaction-diffusion CPU simulation (Gray-Scott)
    • Kmeans clustering of pointclouds
    • Quickhull of pointclouds
  • Rendering
    • Lightweight, header-only opengl wrapper (gl-api.hpp)
    • Decal projection on arbitrary meshes
    • Spherical environment mapping (matcap shading)
    • Billboarded triangle mesh line renderer
    • Procedural sky dome with Preetham and Hosek-Wilkie models
    • Island terrain with a simple water shader (waves, reflections)
  • App-Dev
    • GLSL shader program hot-reload (via efsw library)
    • 2D resolution-independent layout system for screen debug output (textures, etc)
    • Dear-Imgui Bindings
  • DSP Algorithms & Filters
    • One-euro, complimentary, and exponential filters for 1D data
    • Ad-hoc statistical analysis (variance, skewness, kurtosis, etc)

lib-incubator incorporates a considerable amount of permissively-licensed and public-domain code adapted for linalg.h types or readability/usability/extensibility (like various lock-free queues and graphics samples). See COPYING for full attribution of code found in this repository.

sandbox-1's People

Contributors

ddiakopoulos avatar sgorsten avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.