Ben Portfolio

Ben Portfolio

Case Study: Toon Water Shader for a Fully 3D Portfolio World

The Challenge

This portfolio was designed as a fully 3D, game-like website where visitors could traverse an entire map and move between different spaces instead of clicking through a traditional flat interface. My role focused on creating a stylized water shader that felt at home in that world while still performing well inside an interactive web experience.

Starting Point

This clip shows the initial state I started with. At that stage, the surface had very little water-like motion or stylization, and the body of water did not yet feel like a convincing toon water element within the larger 3D world.

Built for a Traversable 3D Map

Because users could move through the portfolio like an interactive game world, the water had to feel alive from multiple viewpoints and distances. I built the effect using WebGL shaders, adding ripples, water mist, and shoreline-like atmospheric breakup so the surface felt more stylized and reactive. A key detail was making the water mist wrap around immersed objects like the player, rocks, and other scene elements, which helped the water body feel much more integrated into the world instead of behaving like a flat plane.

Final Outcome

This final demo shows the completed toon-style water shader inside the 3D portfolio world. It captures the look I was aiming for with ripples, fog, stylized motion, and scene cohesion, all working together as part of an explorable, game-like website.

The Outcome

World Feel
Immersive
The water helped reinforce the feeling that this was a complete 3D world rather than a conventional portfolio with isolated scenes.
Visual Style
Toon Water
The final shader leaned into a stylized, readable look with ripple motion and depth cues that matched the artistic direction of the site.
Scene Integration
Fog Aware
Fog blending helped the surface sit more naturally in the broader environment and supported a cohesive atmospheric look.
User Experience
Explorable
As visitors moved across the map, the shader contributed to a more engaging sense of place and environmental storytelling.

Technology Stack

React

TypeScript

Three.js

GLSL

Shaders

Conclusion

This project highlights my work on real-time shader development inside a fully 3D portfolio experience. By focusing on a toon-style water shader with ripples, fog, and environmental cohesion, I helped make the world feel more immersive and memorable as users explored it.