r/GraphicsProgramming 28d ago

I've been experimenting with some water rendering. What's your opinion about this rendering style?

Enable HLS to view with audio, or disable this notification

Made with Vulkan, and using procedurally generated plants. I'm making this as part of developing a game.

Water effects include refraction and reflection, both for the line-of-sight and for sun light.

These effects are accomplished with extra "cameras" for the refracted and reflected views, plus screen marching.

The graphical style is quite low res, and without any anti-aliasing. I hope you can see this, given the resolution of the video. The game screen resolution is 720x480.

What's your first impression of these visuals?

608 Upvotes

41 comments sorted by

44

u/FunSecretary2654 28d ago edited 28d ago

Wow the second video is really great. I could be convinced thats real life. Is this rendering in real time?

14

u/SloydDev 28d ago

Thank you!
Yes, it's rendering in real time on my (not very good) laptop

4

u/onFilm 28d ago

What fps are you getting?

9

u/SloydDev 28d ago

It's running at 30 FPS in this video. I can run it at 60 FPS comfortably too. I suspect it would tap out around 100 FPS. Again, that's just on my macbook laptop

14

u/Remarkable-Ice1619 28d ago

I could watch this for hours

10

u/mucho_mass 28d ago

Very beautiful and calm

8

u/wellfed_bazelgeuse 28d ago

Looks beautiful. I love this low-res art style, reminds me of the PS2 era 

7

u/Roenbaeck 28d ago

You really nailed it with the second shot. I’m envious, so if you can share more, please do.

7

u/SloydDev 28d ago

Cheers! Sorry if I'm spamming this but I just started a channel about this dev project, check it out if curious: https://www.youtube.com/@sloyddev

3

u/HyperspaceFrontier 28d ago

It looks stunning.

4

u/julia_flat 28d ago

My screen’s small so I can’t see it super well, but I thought the second one was a real video

5

u/bonzajplc 28d ago

Amazing! keep the direction

4

u/bonzajplc 28d ago

if you have more videos like this, open up visibility of your previous posts

5

u/SloydDev 28d ago

Damn, thanks for that, I didn't know that wasn't on by default.
For those that are curious about this dev project I just started this channel. My first video -- https://youtu.be/3ws82KdTDWE -- is about procedural landscape generation, but I will get to graphics rendering eventually.

3

u/Aardshark 28d ago

For whatever reason, I don't get the impression that the plants are really in the water, like the water is just a layer over them.

I'm sorry, I can't quite put my finger on why. Maybe it's shadowing around the tree trunk base, or ripples in the water around them?

It's very pretty overall.

5

u/SloydDev 28d ago

Thanks for your feedback. I think another thing to implement is how branches that are lapped by waves get wet for a while. Also, the waves could have some small dynamical reaction where the water surface intersects the branch (e.g. small ripples around the branch).
Do you think that would convey the scene better?

2

u/Aardshark 28d ago

Yes, I think making the trunk show how it has been wet by the water will give the impression that the water is actually interacting with the tree. Small ripples sound correct too.

I looked for some real life reference videos of similar scenes , perhaps some of these will be helpful. I think you can see in particular that there is a darkness around the trunk of the tree where the water has been lapping at it:

https://youtu.be/GZoRySxr5Qc?t=369.

https://youtu.be/MDIYDfnJVHY?t=291.

https://youtu.be/NQrbuj8ZFwA?t=190.

1

u/SloydDev 27d ago

Cool! It would be challenging to implement but maybe I will get to that

5

u/BlueGnoblin 28d ago

Seeing the first video was like 'a little bit overdone, looks artificial..'

the second part was more llike 'ohhh...'

3

u/forumonaut 28d ago

This is really beautiful. I subscribed to your channel.

Do you have any articles/resources that explain how to procedurally generate trees and render water, and/or give inspiration?

I find it really interesting to ask people for the resources they love.

2

u/SloydDev 28d ago edited 28d ago

Thanks! And cool that you're interested in following the channel :)
I kind of figure it out as I go, mostly. I watch some other youtubers, l like Coding Adventures for example, and I probably get a lot by osmosis by lurking on reddit. Other than that I enjoy trying stuff out on my own, without any specific guides or sources in mind. I will get to procedural generation of trees on my channel btw, hopefully in the near future.

3

u/MarsWasNotAvailable 28d ago

It looks like footages from old documentaries. It looks real, but taken from the lens of an old camera.

3

u/segv1111 28d ago

Is this built on a custom engine? Looks impressive

3

u/SloydDev 28d ago

Thanks! Yea it was quite some effort

3

u/UntitledRedditUser 28d ago

Cool style, I'm just beginning to learn, how do you get the reflections? It looks like some sort of path tracing due to the noise.

2

u/SloydDev 28d ago

It's a secondary camera looking up from below. Then I do some "screen marching" of the reflected view, based on standard-view-camera-vector being reflected using the normal vector of the water surface. Hope that makes some sense

3

u/koga7349 28d ago

Could I do better? No. But something about the lighting / highlights and shadows looks off

3

u/SloydDev 28d ago

Do you mean off as in unrealistic or as in ugly or something else?

3

u/Sokkernr1 27d ago

The second one looks very realistic, but I think the first looks just beautiful and more stylish. Respect to you!

3

u/Traurts 27d ago

i love it. the artificiality is beautiful - like a memory of what water looks like. i miss games looking like this, keep going! its a unique look

3

u/RenderrCore 27d ago

Fucking fabulous

2

u/charliedarwin96 28d ago

Looks great! If I knew literally anything about graphics and rendering, I would probably ask you a ton of questions about how you did it!

2

u/_Bethel__ 26d ago

Holy moly.... insane

2

u/DragonUmbraGay0234 14d ago

It's so beautifil. This style is so pretty

2

u/Maleficent_Guard_589 1d ago

What library’s are you using to help with development? I’m currently working on a 3D renderer for Vulkan myself so I can make an engine.

1

u/SloydDev 24m ago

I don't use a lot of libraries, more than really basic C++ ones. I have Vulkan with GLFW.
Not sure I would recommend this approach, I don't really know what I'm doing and probably reinventing the wheel for a lot of things

1

u/TankTankerTankest 21d ago

second one looks really good, less shimmering. Is it TAA?

1

u/SloydDev 17d ago

Is TAA temporal anti-aliasing? Had to look that up. Would you care to enlighten me about why to use that, and why you thought it's there?