Computer Graphics Projects

These videos demo a few of the projects that I created to teach CS 4731: Computer Graphics. All of these programs were written in JavaScript and OpenGL Shading Language, collectively known as WebGL.

Project 1: Polibook – This is a simple 2D drawing program that allows the user to either draw shapes natively or import predefined vector files.

Project 2: 3D Wireframes (No audio) – In this program, the user can import vector files that describe 3D wireframes and then apply some simple animations.

Final Project, Part I (No audio) – This is a simple 3D modeling program where the user has constructed a mobile and can adjust the lighting. It also exemplifies hierarchical modeling.

Final Project, Part II (No audio) – Building on Part I, this program adds textures, reflections, refractions, and shadows, all of which can be toggled on and off.

Visual Basic Calculator

calculator_thumbThis is the calculator that I asked my students to program as part of their final project for ITEC 2120: Introduction to Programming. The calculator requires them to use most of the basic programming concepts: variables and arithmetic, decision statements, loops, arrays, functions, and subroutines. This calculator is capable both of basic arithmetic and of processing lists of numbers.

Visual Basic Calculator (Download)

FlightSight

flightsight_thumbI was on the development team for the FlightSight (part of the QuickShot software package) during my tenure with SpaceWorks, Inc. This software application helps users visualize flight trajectories in a three-dimensional virtual space. The software interfaces well with a variety of third-party applications, including MATLAB, and users have a lot of control over the appearance and behavior of the simulation. I assisted with the incorporation of Google Maps into the program and moving the project onto a version control system.

AllComics.com

allcomics_thumb AllComics.com is a prototype of an online comic strip aggregator that collects and packages both newspaper comics and webcomics into a single page for easy reading. Users can create a free account and select their favorite strips, and they’re given a unique URL that they can visit daily without having to log in each time.

Example Profile: http://www.joshuacuneo.com/allcomics/strips.php?u=example

mercurialHg Repository

FeedControl

feedcontrol_thumbFeedControl is a back-end script that I use to control and filter the RSS and podcast feeds that I use for my daily news. This script provides several key features, most notably filtering out posts by keyword (both traditional and regular expression pattern matching) and controlling when the feed gets updated. I can also pause my feeds when I’m on vacation. FeedControl works by routinely monitoring each of my choice RSS feeds and dumping the filtered results into a corresponding custom feed, which I can then plug into my RSS and podcast readers of choice.

I also pass many of the incoming RSS feeds through tt-rss, which allows me perform pattern matching on the entire content of each article rather than just the title and brief description. This is thanks to a tt-rss plug-in that can substitute in article content with some HTML scraping.

mercurialHg Repository

EmailToRSS

emailtorss_thumbEmailToRss is a back-end Python script that takes in emails from a designated account and turns them into posts of an RSS feed, with the subject line as the RSS title and the message body as the article body. A Unix shell script runs in response to each incoming email and pipes the information to the script, and the script organizes the messages into the appropriate feeds based on the From address. I wrote this to follow organizations who still communicate primarily through email newsletter, as I found these newsletters were cluttering my inbox. I can further filter the articles with my FeedControl script, as needed.

mercurialHg Repository

LifeHackerVIP

lifehackervip_thumbI’m a fan of the website LifeHacker, but I wasn’t satisfied with their options for subscribing to their news feeds. They provide either tag-specific feeds, which only gives a short synopsis of each article, or a VIP feed, which gives you all feeds but with the full text of each article. I wanted to combine the two strengths, so I wrote a back-end Python script that scans each tag-specific feed, looks for the corresponding article in the VIP feed, and substitutes the latter for the former. This gives me full-text tag-specific feeds from LifeHacker that I can then filter further with my FeedControl script, as needed.

mercurialHg Repository

Vox: A Science Fiction Video Archive

vox_thumb My Masters Project was the creation of a digital archive prototype of moving image science fiction–including films, television shows and ancillary materials–for science fiction researchers. Users have the ability to search for and cross-reference films, episodes, documentaries and individual scenes, to compare two videos side by side and to queue videos for easy playback.

mercurialHg Repository

Passage

passage_thumb My Project Studio was focused on the creation of an experimental MMO called Passage, which explores New York during the Ellis Island immigrations of the first half of the 20th century. I was one of two programmers who constructed this prototype, designed to serve as a proof of concept during the first phase of the project. I handled all of the client-side coding, including character movement, the chat box and the passport overlay, eventually serving as Lead Programmer on the project.

mercurialHg Repository

Techtella

techtella_thumbThis is a recreation of the Gnutella file-sharing client (created legally as part of a class project) called Techtella, which I built in a team of four programmers. It has most of the basic features of a file-sharing client, including the ability to search for media, share media over a peer-to-peer network and chat with other users while logged in.