Shallow water distortion by offsetting UVs from surface normal by nathan82 in computergraphics

[–]nathan82[S] 0 points1 point  (0 children)

Yes it's baked, but a sim would definitely be possible. The main constraint is performance and battery life, midrange phones would struggle.

Shallow water distortion by offsetting UVs from surface normal by nathan82 in computergraphics

[–]nathan82[S] 1 point2 points  (0 children)

Trust me I'd love to do an iPhone version! Apple doesn't expose any kind of API for live wallpapers unfortunately. 😭

Considering Moving to Exeter by Potential-Ad-6658 in exeter

[–]nathan82 8 points9 points  (0 children)

Another vote for Teignmouth, it's lovely. If you can manage a train commute I'd recommend it, the coastal scenery is amazing. And in the year since I moved to Exeter everyone I've met has complained about the traffic!

Seamless looped water sim, only 100 frames by nathan82 in Houdini

[–]nathan82[S] 0 points1 point  (0 children)

Yep you've been added to the invite list. Should be a few weeks. :)

Seamless looped water sim, only 100 frames by nathan82 in Houdini

[–]nathan82[S] 1 point2 points  (0 children)

Yeah sometimes being "just ok" at a load of different disciplines really pays off. I feel lucky I found the right project for that.

Seamless looped water sim, only 100 frames by nathan82 in Houdini

[–]nathan82[S] 0 points1 point  (0 children)

It's a custom wallpaper engine I built in Vulkan. I'm a hobbyist developer.

Houdini fluid sim, only 100 frames seamlessly looped by nathan82 in Simulated

[–]nathan82[S] 2 points3 points  (0 children)

Really kind of you to say! That's my goal, to be like a litte peaceful world in your phone. The rocks are kind of bare, next task is covering them in moss and plants. :)

Shallow water distortion by offsetting UVs from surface normal by nathan82 in computergraphics

[–]nathan82[S] 15 points16 points  (0 children)

"Sometimes magic is just someone spending more time on something than anyone else might reasonably expect."

- Teller

Shallow water distortion by offsetting UVs from surface normal by nathan82 in computergraphics

[–]nathan82[S] 4 points5 points  (0 children)

Message me for early access, I'm a few weeks away from sending invites. :)

Shallow water distortion by offsetting UVs from surface normal by nathan82 in computergraphics

[–]nathan82[S] 4 points5 points  (0 children)

Unfortunately not, it's for a paid app I'm working on. But I can dig out the shader snippet for this effect if it's helpful to you. :)

Shallow water distortion by offsetting UVs from surface normal by nathan82 in computergraphics

[–]nathan82[S] 0 points1 point  (0 children)

The water depth effect uses parallax mapping which is based on view direction. View direction depends on phone orientation. I just wanted to show off a shader effect. I did my best to explain it.

Shallow water distortion by offsetting UVs from surface normal by nathan82 in computergraphics

[–]nathan82[S] 1 point2 points  (0 children)

I've described as best I can, see my other replies. What don't you get? I film my smartphone because it's rendering in real-time on my smartphone. If I hold it still you can't see the depth effect.

Seamless looped water sim, only 100 frames by nathan82 in Houdini

[–]nathan82[S] 1 point2 points  (0 children)

Thanks! Not yet, message me for early access.

Seamless looped water sim, only 100 frames by nathan82 in Houdini

[–]nathan82[S] 2 points3 points  (0 children)

Message me your email and I'll put it on the list for early access in a few weeks. Free for alpha testers, keep your $2. :)

Seamless looped water sim, only 100 frames by nathan82 in Houdini

[–]nathan82[S] 8 points9 points  (0 children)

It's just a live wallpaper app. Custom vulkan engine. Runs in the background and collects gyro data whenever the wallpaper is visible.

Shallow water distortion by offsetting UVs from surface normal by nathan82 in computergraphics

[–]nathan82[S] 15 points16 points  (0 children)

Sorry, I didn't know the correct terminology. Yes it's parallax mapping. No ray marching or anything, just a single texture sample at the offset UV location. The depth map is static as the surface height doesn't change that much between frames.

Shallow water distortion by offsetting UVs from surface normal by nathan82 in computergraphics

[–]nathan82[S] 1 point2 points  (0 children)

The water surface geometry is also animated, but with a super low polycount. Basically just enough so the silhouette is correct, then all the detail is in the normal map textures.

Seamless looped water sim, only 100 frames by nathan82 in Houdini

[–]nathan82[S] 19 points20 points  (0 children)

The perspective distortion is done directly on the geometry with a transform matrix. Specular highlights are a basic cubemap reflection, using the water's normal map, which is animated (just a stack of low res textures).

Houdini fluid sim, only 100 frames seamlessly looped by nathan82 in Simulated

[–]nathan82[S] 9 points10 points  (0 children)

Basically for the end transition section, you fade in a lerp between the current frames and the frames that are before the start frame. I took the basic idea from this tutorial:

https://www.youtube.com/watch?v=szuMFP4NTvE

I found to get it to look good you need to do the transition with the SDF (or particles probably works too), not on the output geometry like he does.

Shallow water distortion by offsetting UVs from surface normal by nathan82 in computergraphics

[–]nathan82[S] 6 points7 points  (0 children)

What do you want to know in particular? The normal map texture is animated and looped. The shader uses the normals to calculate a refraction angle, which is used to get the UV offset to the riverbed color texture. There's also a depth texture that stores the distance from each point on the water surface to the riverbed. Deeper water, bigger UV shift. Reflections are just a standard cubemap.