For the past 15 or so years, I’ve wanted to create my own website where I could write about my projects and ideas and share them with others. I wanted a platform where I could have more control over what I could embed into posts and how they should look. For the past 2 years, I’ve been playing with WASM, WebGPU, and Rust and would love to share the results with live demos.
For the rest of this post, I want to try out some features of the framework I decided to use (Hugo and Blowfish), so that it will be easier to write new posts.
Mathematics#
Rendering the rendering equation with KaTeX:
$$L_o(x, \vec{\omega}_o, \lambda, t) = L_e(x, \vec{\omega}_o, \lambda, t) + \int_{\Omega} f_r(x, \vec{\omega}_i, \vec{\omega}_o, \lambda, t) L_i(x, \vec{\omega}_i, \lambda, t) (\vec{\omega}_i \cdot \vec{n}) \, d\vec{\omega}_i$$Code Example#
To test code highlighting, here’s the fragment function of my cloud rendering shader:
fixed4 frag (v2f i) : SV_Target
{
float3 light_dir = normalize(_WorldSpaceLightPos0.xyz);
float3 light_color = _LightColor0.rgb;
float3 ray_origin = i.ro;
float3 ray_direction = normalize(i.hit_pos - i.ro);
float ray_starting_depth = length(i.hit_pos - i.ro);
float depth_map = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.view_pos)));
return volumetricMarch(ray_origin, ray_direction, ray_starting_depth, depth_map, light_dir, light_color);
}
Photo Gallery#
Here are some photos to showcase the gallery feature:


YouTube Clips#
Here’s a demo of one of my old projects from 2016, called GameSuit. It’s a suit that provides haptic feedback to the user by contracting muscles:
In the future, I will write a separate post for each of my older projects.
What’s Next?#
Other than talking about my high school projects, I plan on writing about:
- Software development with Rust, Python, and C++
- Digital signal processing in real-time
- Computer graphics
- Any cool projects that implement them!
Stay tuned for more content!