Skip to content
/ misc Public

Miscellaneous code from throughout my career.

License

Notifications You must be signed in to change notification settings

morgan3d/misc

Repository files navigation

This repository contains miscellaneous code from throughout my career.

I regularly add to this repo but do not support this code through github--use it at your own risk, and please don't send feature requests or ask for help with it. Some of it was written while I was an undergraduate and may not compile on modern machines.

Some additional open source projects that I do actively support are:

The code in this repository is organized by topic.

Unity

  • tachyon - Unity 5.4 starter project for a Pong-like 3D game. Particle systems, events, gamepad, logic, physics, etc. August 2016.
  • tachyonVR - Unity 5.4 VR starter project for a Pong-like 3D game. Teleporting, fast rendering, Vive controllers, etc. August 2016.

Graphics

  • oculusSample - Oculus SDK OpenGL Sample. Windows Visual Studio project for initializing and rendering to a DK2 or later HMD using OpenGL. June 2015.
  • terrain - Continuous detail GPU Terrain, with multi-scale texturing and a hardware optimized variant of the geo clipmap. April 2014 http://casual-effects.blogspot.com/2014/04/fast-terrain-rendering-with-continuous.html
  • normal2bump - Compute bump map (height field/displacment) from a normal map. 2014.
  • convertToOBJ - Convert various 3D model formats to OBJ, e.g., IFS, PLY, PLY3, 3DS. 2013
  • cgpp3 - Minimal graphics support routines from Computer Graphics: Principles and Practice 3rd edition for loading a 3D model and image, and displaying and saving images. 2012.
  • glToScreen - Reverse OpenGL projection from my flipcode article. Pre-2005.
  • glProject - Forward OpenGL projection from my flipcode article. Pre-2005.
  • 2DOBB - 2D oriented bounding box collision test from my flipcode article. Pre-2005.

C++

  • sort - Elegant C++ reference implementations of heapSort, insertionSort, mergeSort, and quickSort. (now maintained in The Graphics Codex). December 2012
  • indent++ - Pretty-printer for indenting existing C++ files (handy for printing assignments when grading). 2012.
  • getip - Obtain the current machine's IP address. Pre-2005.
  • kbhit - Linux/OS X implementation of Windows console kbhit(). Pre-2005.
  • sprintf - Safe sprintf (now maintained in G3D as format()). Pre-2005.

JavaScript

  • cardgen - HTML5/Javascript/CSS playing card template for creating custom decks. May 2015.
  • relay - Node.js based relay server and sample application demonstrating its use. 2013.
  • treeList - Lightweight selectable and scrollable tree list UI. 2012.
  • jsmaze - Recursive perfect maze generator, with wrapping and imperfect options. 2018.
  • jsvectorify - Vector operations and operator overloading. 2018.
  • jsmenu - Lightweight library for dropdown menus. 2018.
  • jsloadmanager - Caching and post-processing for recursive resource loading via XMLHttpRequest/fetch. 2018.
  • jschat - Minimal WebRTC video conference reference code
  • jsremotegame - Minimal WebRTC Canvas + Audio + Input streaming reference code
  • jsscwt - Psychology Stroop test with random task

Java

  • javasandbox - ClassLoader for dynamic class reloading, useful for plugins. Executes arbitrary Java code in a protected sandbox. 2008.
  • redblack - Red-black Tree implementation and demo. 2008.
  • javadoom - Simple Doom-style ray caster written for a data structures course. 2008.
  • javarasterizer - Simple rasterizer written for a data structures course. 2008.
  • splay - Splay Tree applet and source code. 2003.

Lua/PICO-8

  • platformer - Full featured character simulation for a 2D platformer. 2017.
  • p8particle - Very fast single-pixel particle system for PICO-8. 2017.
  • p8sort - Very fast PICO-8 sort. 2017.
  • p8escape - Allow lowercase characters in printed PICO-8 strings. This is actually a web utility, not PICO-8 code itself. 2017
  • p8controller - Minimal-memory PICO-8 controller image for instruction screens. 2017.
  • p8pathfinder - Fully general PICO-8 A* (A-star) and Dijkstra pathfinding in a single function. 2017.
  • p8scale - Enhanced HQx 2x, 3x, 4x scaling with transparency and better curves

Scheme

  • infix - Recursive descent infix parser and macro for Scheme. 2003.

Other

  • xenon - 16-bit Windows 3.1 video game written in Visual Basic. 1995.

About

Miscellaneous code from throughout my career.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published