My Personal Website

Links to Projects
Links to Archives
Author Quade Jones
Occupation Software Developer
Email Gquadej96@live.com

Links to Projects
⚠️
These projects were tested with the Google Chrome web browser. No attempts were made to make them compatible with other browsers.
📰
This site is not actively maintained.

Canvas Clocks

This is a very basic analog clock widget implemented using the browser 2D canvas API.

WebGL Model Viewer

This is a basic 3D model viewer which is rendered using the browser WebGL API exposed by the HTML canvas element. It only has basic support for the Wavefront object file format (i.e. .obj files) for 3D models.

Software Rasterizer

This is a very basic CPU-based implementation of 3D graphics renderer using a rasterization based algorithm. Internally, it uses the 2D graphics API exposed by the canvas element to render buffered bitmap data to the screen. The actual image generation is done by directly manipulating the pixel data within the bitmap.

Software Raytracer

This is a very basic CPU-based implementation of a 3D graphics renderer using a ray tracing based algorithm. Unfortunately, the implementation isn't fast enough to provide an interactive experience. As a result, the actual work is off loaded onto a separate worker thread to prevent blocking the UI, and the final render is presented to the screen once the worker terminates.

Calculator

This is a simple calculator program which evaluates arithmetic expressions. The expression parsing is provided by a custom "earley" parser implementation. The parser respects proper arithmetic operator precedence directly in the grammar.

Lua Language Interpreter

This is a very simple Lua language interpreter with reduced grammar. The lexer/parser stages of the interpreter are both implemented using the "earley" parser algorithm. Presently, it only uses priority rules to derive the most appropriate parse tree; other potential matches might lead to undesirable behavior. No syntax errors are reported! A variety of program snippets are included to try out.

WebGL Ray Tracer

This is a simple GPU-accelerated ray tracer implementation using the WebGL API exposed by the HTML canvas element. The scene is rendered onto a full-screen quad entirely inside of a fragment shader. It provides basic controls for navigating the scene interactively.

WebGL Ray Marcher

This is a simple GPU-accelerated implementation of a 3D scene renderer using a ray marching based algorithm. The algorithm is written entirely inside of a fragment shader. It provides basic controls for navigating the scene interactively.

Text Diff Viewer

This is a simple tool for highlighting the differences between two pieces of text.

Links to Archives

ART 101 Course Work

This webpage was built to satisfy the requirements of the "ART 101: Introduction to Web-design" course at Penn State University during the Spring 2018 semester.

IST 110 Course Work

This webpage was built to satisfy the requirements of the "IST 110: Information, People, and Technology" course taught by Dr. David P. Kitlan at the Pennsylvania State University, Harrisburg campus during the Fall 2018 semester.