Does Crysis 3 have a volume texture cover the entire level for particle turbulence?

Started by
3 comments, last by InvalidPointer 10 years, 11 months ago

For my particle systems I'm using a relatively small 3d texture that pretty much stores the info about the turbulence field around the particle system.The issue with this is that it has a limited size(the confines of the particle cloud), so it wouldn't take too much memory and that it is kinda slow to update from the application(at least for me), and it gets problematic when I have a lot of particle systems running at the same time, but in Crysis 3 the vegetation/particles/cloth react everywhere, also the nex APEX(or whatever it's called) system for particle turbulence seems to not suffer from the limitations I experience.So how do they do it?Even with cascades, to get that fine effect from the videos at close range, you would need a gigantic texture and they even had multiple particle systems mixing around at close up blink.png .Any ideas?

>removed<

Advertisement

Are you sure they don't calculate this on the fly based on some procedural approach?

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

Are you sure they don't calculate this on the fly based on some procedural approach?

">
yeah here's a reference video, at 0:49 they show wireframes of the "turbulence nodes", but as you can see they can stretch infinitely as long as the particle trail is, so if the character goes very fast, they can stretch the entire room, not to mention there are multiple such systems running at the same time.Also notice the fine detail at 1:15 and later on, it has to be some really dense field/grid...

(I used an Unreal Engine video, cause the Crysis 3 videos don't show it mich, it has to be seen in-game, but I think it's the same concept)

>removed<

With APEX, they might not be using a grid at all to store/propagate turbulence, it could be using something like SPH instead. If so, SPH requires each particle to inspect the state of it's nearby neighbours, so they would likely use a grid to accelerate the neighbour search. However, this grid could be built from scratch every frame, with a different size each frame. Each frame, they could use the bounding box of the particle system as the bounding region of the grid, so that as the particles occupy a larger space, the grid cells simply increase in size to accommodate it. This wouldn't change the behaviour of an SPH system at all, it would only decrease the efficiency of the neighbour search in dense areas.

With crytek's foliage, etc, I'd guess they're using procedural turbulence effects. e.g. an explosive creates a spherical force emitter, which points can test themselves against over time to calculate the forces imparted on them.

Grass recieves special treatment in Crysis 3-- a 16x16x16 turbulence grid centered on the player, IIRC, but as far as I know common vegetation still uses something like this for procedural animation. Objects have a wind vector/time value, and sub-object detail is all shader trickery.

clb: At the end of 2012, the positions of jupiter, saturn, mercury, and deimos are aligned so as to cause a denormalized flush-to-zero bug when computing earth's gravitational force, slinging it to the sun.

This topic is closed to new replies.

Advertisement