OPenVDB in games - GPU implementation ?

1,276 views
Skip to first unread message

Noel Hocquet

unread,
Oct 7, 2015, 7:56:01 PM10/7/15
to OpenVDB Forum
Hi,

I'm Noel and I'm working in the vfx dpt of a game company. I'd like to implement the OpenVDB in our game engine. I'm not a developer, I'm just a vfx artist and I'm trying to persuade our engineers to integrate this tech in our pipeline.
For games, GPU is the way to go. Do you think it will be possible to send the data to the GPU, to have decompression states of the sparse data structure or an implementation on the GPU of the algorithm?

If it's possible, OpenVDB will be a game changer in the visual quality of effects in games!

Please, share you thoughts!

Thanks!
Noel.

Noel Hocquet

unread,
Oct 20, 2015, 2:09:53 PM10/20/15
to OpenVDB Forum
Anyone?

varomix WEY

unread,
Nov 10, 2015, 5:00:43 PM11/10/15
to OpenVDB Forum
Hi

Seems like someone at Dreamworks already did something for OpenGL
you can see a mention here https://youtu.be/7hUH92xwODg?t=38m24s

Not sure how the performance of that'll be for a game but I guess the new engines like Unreal Engine are close to doing that

Talking about Unreal Engine this guy already made volumetric clouds using volume slices and particles, which could be adapted for any kind of volume
like an explosion.

hope that helps

Ken Museth

unread,
Nov 10, 2015, 7:43:19 PM11/10/15
to openvd...@googlegroups.com
It is indeed possible to port many of the ideas behind the VDB data structure to the GPU. I'm aware of several successful attempts (all focusing on rendering vs computing) - including of course the work by Mark Matthews mentioned in the video in the previous post. Ironically Mark recently joined our group so it's possible some of his GPU work will show up in openvdb one day. Along the same lines I'm in conversations with another team that has ported VDB to the GPU and hopefully their work will eventually be shared as well. So to answer Noel's question, yes VDB can (and has been) implemented on the GPU but to the best of my knowledge none of this work is open sourced - yet ... I'm curious to know if other people are interested in this topic (VDB on the GPU) or maybe even work in this area - if so feel free to ping me.

-K

Alwyn

unread,
Nov 10, 2015, 8:58:26 PM11/10/15
to OpenVDB Forum
We have implemented VDB on GPU for a physically based GPU renderer. 

Alwyn

Noel Hocquet

unread,
Nov 12, 2015, 12:30:21 PM11/12/15
to OpenVDB Forum
Thank you guys for your replies and thank you Varomix for the links!

It's really good to know that some of you have already implemented VDB on GPU. I'm working at EA (Redwood City) and a lot of people from different EA's studios are interested in this! All of our vfx departments are using Houdini, and OpenVDB seems to us the best way to get high quality sims in our engine.

@Ken : Thanks for your reply :) I'll ask to one of our R&D guy to get in touch with you.
@Alwyn : Can you tell me more about your implementation?

Thanks!
Noel

Luke Parry

unread,
Nov 12, 2015, 2:09:59 PM11/12/15
to OpenVDB Forum
Computationally it would be interesting to transfer data stored in  the leaf node to perform calculations directly on the GPU but  but with the inherent nature of grids could be partitioned between the CPU/GPU.

This I guess is quite trivial to do with the direct access to the data recently introduced in 3.1 in the leaf node and is something I wish to explore in the future.

One thing that maybe be worth mentioning is Graphtane. It use opencl/openVDB to perform GPU raycasting

https://github.com/matthew-reid/Graphtane
Reply all
Reply to author
Forward
0 new messages