31 lines
2 KiB
TeX
31 lines
2 KiB
TeX
\section{Personal Projects}
|
|
|
|
\projectHeading{Real-time Shadow Simulator}{https://git.mmbradley.ca/MichaelBradley/perlin-shadows}{C++, OpenGL}
|
|
\begin{bullets}
|
|
\item Built an OpenGL renderer in C++ that could cast real-time shadows on over 130M vertices
|
|
\item Designed a multithreaded Perlin noise generator optimized to generate tiles in parallel
|
|
\item Created lighting solution that scaled as needed so the renderer was limited only by VRAM
|
|
\item Optimized matrix and vector operations with the GLM library
|
|
\end{bullets}
|
|
|
|
\projectHeading{N-Body Gravity Simulation}{https://git.mmbradley.ca/MichaelBradley/nbody}{Python}
|
|
\begin{bullets}
|
|
\item Implemented time-stepped gravity simulations over N bodies with visualization in 2 or 3 dimensions
|
|
\item Generalized physics functions to function in an arbitrary number of dimensions
|
|
\item Optimized physics using NumPy to perform vector calculations in parallel
|
|
\end{bullets}
|
|
|
|
\projectHeading{Electronic Holiday Card Distribution}{https://github.com/MichaelMBradley/holidaycards2022}{JavaScript, HTML, CSS}
|
|
\begin{bullets}
|
|
\item Created a website from scratch (deployed using GitHub Pages) to distribute holiday cards to friends and family
|
|
\item Used JavaScript APIs to encrypt the messages to ensure they were only read by the intended recipient
|
|
\item Integrated the \href{https://p5js.org}{\underline{p5.js}} graphics library to generate unique assets and animated backgrounds
|
|
\item Implemented a limited set of markdown functionality using regular expression replacement
|
|
\end{bullets}
|
|
|
|
\projectHeading{Personal Website}{https://git.mmbradley.ca/MichaelBradley/website}{TypeScript, CSS, React, Vite}
|
|
\begin{bullets}
|
|
\item Designed personal homepage to be responsive to device size, resizing as necessary using pure CSS
|
|
\item Made website accessible by respecting user's preference for reduced motion and a dark mode toggle without JS
|
|
\item Set up Vite and React to develop with HMR, but then deploy to a single HTML file with embedded CSS and no JS
|
|
\end{bullets}
|