Table of Contents >> Projects

Computer Graphics Spaceship


This project uses WebGL and JavaScript to create a functional and fully interactable 3D spaceship scene over a procedurally generated heightmap merged with a blood ocean. It looks cool and was really fun to make and is fun to fly around in. This was the final project for my computer graphics class back in Fall of 2023.

Making this involved using entirely procedurally generated meshes. The ship is made of UV spheres and cubes of different shapes. The heightmap is made using a random Diamond-Square algorithm, and the blood ocean is a huge cube. The end result is pretty cool for how simple the shapes are.

Below is a screenshot of what it looks like when active. To run this yourself, you can clone the repo from GitHub using the link below and use a tool like Python to create a basic http server and access localhost:8000/main.html in a web browser search bar. Alternatively, you may also click on the demo link and run it right here in this site! In either case, be sure your machine has sufficient graphical capabilites, as it does involve rendering 3D objects. If your machine is defficient, it'll still work but be pretty laggy.

This is probably the most visually impressive project I have, as the layperson doesn't need technical knowledge to see a spaceship over a blood ocean go brrrr. As a fun aside, I made all of the textures myself, no stock assets or slop here! Well, except for one funny easter egg yoinked from Google Images. You can view the raw textures in the assets directory of the page.


Spaceship floating over blood ocean landscape

Links