code

projects I programmed.


Steve Bobs Mesh Painter 2.1 (2024)

Created an interactive app where users can paint directly on a meshed object or onto its texture map (similar to Adobe Substance Painter 3D). Users can optionally import and export texture maps. I implemented raycasting for drawing directly on the mesh, the WebGL mesh display engine and interactability, several UI elements, and general debugging. Project written using Javascript and the Three.JS library.

Won Showcase Winner out of 80 other projects in the CS 184 Final Project Showcase.

See the project page here!

Pathtracer (2024)

Created a physics-based pathtracer that can render diffuse and conductive materials. Implemented various techniques and concepts in pathtracing such as ray intersection with primitives, bounding volume hierarchies, Monte Carlo estimators, direct illumination, global illumination, and adaptive sampling. Additionally, I implemented support for rendering microfacet BRDFs. Project written in C++.

See the project page here!

A mercury dragon! Dangerous to the touch.
Cloth Simulator and GLSL Shaders (2024)

Created a cloth simulator modeled by point masses and springs, and simulated collisions with itself, other objects, alongside gravity and wind fields. Also implemented various GLSL shaders such as Lambert, Blinn-Phong, texture-mapping, bump-mapping, displacement-mapping, toon-shading, and environment reflection maps. Project written in C++.

See the project page here!

Toon Shader + Mesh Editor (2024)

Created a .dae file viewer that explores various techniques in manipulating a mesh such as flipping and splitting edges, Loop subdivision, surface smoothing, and modeling Bezier curves and surfaces. Also created a custom, rainbow-themed toon-shader visualizer, implemented using the OpenGL library. Project written in C++.

See the project page here!

You can see the colored and rigged version of this guy here!
SVG Rasterizer (2024)

I implemented a program that rasterizes SVG files using various sampling techniques from supersampling, pixel sampling, and mipmapping in order to render SVG classes and textures. Project written in C++.

See the project page here!

this website (2023-24)

Made this website with HTML, CSS, Javascript, and Bootstrap!

maya mirror script (2023)

Used PyMel to make a modeling tool with a simple UI that duplicates the selected objects and mirrors them across the x, y, and z axis, in both object space and world space.

This tool helped me with my workflow in character modeling; I needed the eyes to act as separate objects and mirrored correctly along the x-axis. You can also mirror multiple selections.

To the left is a demo of me using the tool on Henry, a character I've modeled for Twas a Night.

Check out the code here!

java game engine (2023)

winning the game

losing the game

saving the game

How to play: W=up, A=left, S=down, D=right. Defeat five Pokemon to win.

Made a custom tile-based game engine from scratch using Java. A world is randomly generated based upon an input number string. Similar to the real pokemon games, walk along the tall grass to battle with other wild Pokemon!

Assets were pulled from Pokemondb and Bulbapedia. This was a partner project between me and Vincent Myint.

If you'd like to see the code, please don't hesitate to email me at beckyfeng08@berkeley.edu