General

Hello, my name is Matthew. I am currently a junior attending UIUC. I am independent contractor and student that does a lot of work in bringing high performance to high demand scientific fields.

I got into tutoring and teaching through my first foray into programming with AP Computer Science A. Near the end of second semester of my high school sophomore year, I started tutoring and I realized how much I enjoy helping people in regards to programming. In university, I was a Course Assistant, and then became a formal undergraduate faculty member for introductory computer science for that semester.

Game development led me to get into 3D; which has branched out into its many sub-specialties. I also have had the wonderful opportunity to lecture on (procedural) 3D graphics for an ACM SIG on campus.

I am a programmer for high performance applications- such as heavily integrated 3D rendering for fluid dynamics, procedural graphics for both games and offline renderers, NMR (nuclear magnetic resonance) processing, realtime MRI displaying and data conversion, 3D molecular modelling, some embedded development, and research in quantum chemistry (density functional theory).

Programming

I am doing currently a lot of work when it comes to visual computational models for continuum material simulation, quantum chemistry, and realtime data processing for medical applications. Primarily, I utilize C, C++, Julia, CUDA C++, C#, GLSL, and HLSL. I have also used Java, Kotlin for Android, Odin, Python for Blender and some scientific data processing, JavaScript/TypeScript, and to a smaller extent- Lua.

Graphics wise, I commonly use Vulkan, including with interop in CUDA. I have also used OpenGL and OpenCL. I have built a ground-up raytracing engine using OptiX and C++.

In terms of language adjacent experience, I use HTML and CSS extensively; especially in the context of ASP.NET, and have also used SQL and JSON with data management. I also have a lot of experience with CMake and Premake.

I have extensive experience in Unreal Engine, Unity, homebrew engine development, and writing specific tooling to bridge the gap between art and programming teams. I have been both programming and art lead for the ACM SIG GameBuilders on campus.

3DCG

I currently have over 3 years of experience in 3D modelling, simulations, animation, programming, addon scripting for domain specific scientific visualization, sculpting, and both building and using particle systems.

Main Renderer, Modelling Software

My primary toolset is with Blender with some addons for hard surface. I also work in Fusion 360, and have a bit of experience with Maya and 3DS Max.

Texturing

For texturing, I use Substance Painter, Substance Designer, as well as Quixel Mixer; particularly for environment scenes. I also have been using my own procedural materials much more heavily for both models and volumetrics.

Simulation

On the simulation side, I build software for both toolchains with standards and custom high performance renderers that use Julia as an embedded scripting language. I use JangaFX’s suite of software; mainly EmberGen and VectorRayGen. I also have used Blender’s built-in Mantaflow as well.

I have been using Blender’s geometry node system in certain contexts to create mathematical simulations of certain math and physics computations, such as vector fields and showing beam characteristics of the Rayleigh Criterion for lasers.

In Unity, I have simulated visually ray transfer matrix analysis and Burst compiled signed distance field discretization in conjunction with DX12 compute shaders. I have also done an entire ground-up approach to entirely randomized procedural levels for Ariadne’s Blessing. It uses a KD-tree like structure that uses extremely performant multi-threading, highly contiguous accesses, on demand UV unwrapping, and a hand-rolled adjacency matrix implementation of custom dynamic pathing algorithm for enemies.

I have written fluid mechanics software in CUDA C++ under research at UIUC that does driver level interop in Vulkan to mitigate memory copying and to allow for significantly more granularity in visualization with much less effort.

I additionally am currently doing research in CG through a SIGGRAPH organization to do more expressive and modularized volumetric animations for fire and smoke.

I am also doing quantum mechanics research for the purposes of protein folding and molecular dynamics/mechanics. The current project is implementing novel approaches to density functional theory.

Post

In terms of my workflow for touching up renders, I have been using Photoshop for still images, and Premiere Pro in video renders. I do make use of Blender’s compositing workspace and OptiX denoising quite often.

Addons

My addons of note are almost all for hard-surface operations, and they are:

Boxcutter

HardOps

Decal Machine

BY-GEN

Cablerator

Contact

GitHub

ArtStation

Fun Facts

I listen to all kinds of music, but I mostly enjoy abrasive hip-hop, metal, and EDM. My favorite contemporary composer is Hiroyuki Sawano, and my favorite classical artist is Niccolo Paganini. My top artists are JPEGMAFIA, Ski Mask the Slump God, Denzel Curry, Rico Nasty, JID, Tyler, The Creator, and City Morgue at the moment.

Spotify

I love animation of all kinds, and I have a soft spot for action animation. One of my personal favorite animators is Yutaka Nakamura!

I currently use a Drop ENTR keyboard with NPKC Blue Gradient PBT keycaps with Halo True switches.

I was Top 500 in Pokemon Showdown in National Dex AG with 3 legendaries with the highest BST being 700 on a Mega-Salamence. I quickly fell, but I still got on the top ladder with my dignity intact.