Archive for the ‘Articles, Reviews’ Category
Real-time simulation and rendering of realistic hair/fur, consisting of multiple strands, is gettng much attention these days – one can easily name a TressFX solution, developed by AMD.
A competitive response from NVIDIA, new hair and fur simulation technology, which is now officially called NVIDIA HairWorks, was firstly showcased at The Witcher 3 presentation half a year ago and recently used in an actual game title – Call of Duty: Ghosts – to provide “Dynamic Fur” simulation for animal characters.
In comparison to other GPU accelerated physics features, Dynamic Fur was implemented through DirectCompute, which opens it for AMD users as well.
Tae-Yong Kim, physics programmer at NVIDIA, has agreed to answer some of our questions about HairWorks solution in general, and Call of Duty: Ghosts integration in particular.
After the latter update, PC version of the Assassin’s Creed IV: Black Flag (AC IV) has became the first Ubisoft’s game that implements GPU accelerated PhysX effects.
In the Black Flag, GPU PhysX support was shaped into volumetric particle effects (“PhysX Particles“), implemented through the APEX Turbulence module.
Bearing in mind that Assassin’s Creed series is already using competitive physics solution, Havok Physics engine, it was certanly an interesting technical task.
Semen Kovalev, Producer of Assassin’s Creed IV for PC at Ubisoft Kiev, was kind enough to share company’s experience on the PhysX integration process.
PhysXInfo.com: What kind of GPU accelerated physics effects can be found in Assassin’s Creed IV: Black Flag?
Semen Kovalev: In Assassin’s Creed IV: Black Flag, our development team decided to focus on adding physical smoke effects to the game. The smoke effects are present in a variety of forms such as smoke from flintlock pistol or musket shots, smoke bombs.
PC version of recently released Metro: Last Light title features not only vivid DX11 based graphics, but also hardware accelerated PhysX effects.
In the following article we’ll try to gather the most reliable and accurate GPU PhysX benchmarks and tests for this game.
[14.05.2013] Metro Last Light – GPU Test by GameGPU
Sufficient amount of NVIDIA GPUs was tested in this article with the help of Metro’s built-in benchmark. However, since heavy graphics options (like SSAA) were used, it is hard to determine actual PhysX performance.
Metro: Last Light, a post-apocalyptic first person shooter with survival horror elements, is joining the family of PhysX enabled titles by offering a support for GPU accelerated physics effects.
Update #2: Metro: Last Light – GPU PhysX Profile
First game in the series – Metro 2033 – was also featuring a GPU PhysX content, however, it was limited to basic particle effects.
Was the Last Light able to improve the results of its predecessor? Let’s find out.
Recent “The Evolution of PhysX” article has unvealed the current situation with performance improvements among various PhysX SDK vesions, however, one interesting case has remained outside the coverage – performance scaling in multithreaded environments.
It is known that, while PhysX SDK 2.8 has rather limited multi-threading capabilities (mostly working on per-scene or per-compartment basis), PhysX SDK 3.x can distribute various tasks across worker threads much more effective, and thus offer better support for multi-core CPUs.
But how well does multi-threading actually work in PhysX 3 (we’ll take the latest 3.3 version)? Using the same PEEL (Physics Engine Evaluation Lab) tool to the record the performance metrics, we will try to shed the light on this question.
Scene #1 – random dynamic primitives in a box
Static container filled with 256 random primitives (sphere, box, capsule).
A quite interesting, unexpected and a little emotional article – The Evolution of PhysX – was published today by Pierre Terdiman, senior software engineer in NVIDIA and one of the developers of the original NovodeX engine.
The performance tests were performed using PEEL – Physics Engine Evaluation Lab, a specialized tool that is using within NVIDIA to research behaviour and performance of various physics engines using a set of standartized scenes.
GPU PhysX integration in Hawken, free-to-play mech shooter from Adhesive Games, has a long and yet ongoing story – preliminary PhysX effects have emerged in Alpha and Closed Beta versions, then they have undergone a significant overhaul in Open Beta release.
Update: Hawken – GPU PhysX Profile
Update #2: Upcoming PhysX features in Hawken – Destructible Environments
And now, recent “Raider” update has added a set of new, APEX Turbulence based particles effects, and we think that GPU PhysX support in Hawken has grown up enough to be reviewed.
“Position-based Methods for the Simulation of Solid Objects in Computer Graphics” – recent paper by Matthias Müller-Fischer, PhysX SDK Research Lead in NVIDIA, and others.
Paper provides in-depth overview of special class of simulation methods, namely position-based approaches, for solid objects, such as rigid bodies, cloth and softbodies.
The dynamic simulation of solids has a long history in computer graphics. The classical methods in this field are based on the use of forces or impulses to simulate joints between rigid bodies as well as the stretching, shearing and bending stiffness of deformable objects. In the last years the class of position-based methods has become popular in the graphics community. These kinds of methods are fast, unconditionally stable and controllable which make them well-suited for the use in interactive environments.
Position-based methods are not as accurate as force based methods in general but they provide visual plausibility. Therefore, the main application areas of these approaches are virtual reality, computer games and special effects in movies.
This state of the art report covers the large variety of position-based methods that were developed in the field of deformable solids. We will introduce the concept of position-based dynamics, present dynamic simulation based on shape matching and discuss data-driven approaches. Furthermore, we will present several applications for these methods.
Some of the described techniques were used in PhysX SDK (as well as other physics engines) for a long time, some have been implemented only recently, other are yet ander active research.
New “Fast Simulation of Inextensible Hair and Fur” paper from Dr. Matthias Müller-Fischer and PhysX Research team is a further extension of the work on realtime fur and hair simulation, previously demonstrated at GDC 2012.
Update: Introducing NVIDIA HairWorks – fur and hair simulation solution, based on the research
In this short paper we focus on the fast simulation of hair and fur on animated characters. While it is common in films to simulate single hair strands on virtual humans and on furry animals, those features are either not present on characters in computer games or modeled with simplified textured meshes. The main difficulty of simulating hair in real time applications is the sheer number of hair strands and the fact that each hair is inextensible. Keeping thousands of deformable objects from being stretched is computationally expensive.
In this paper, we present a robust method for simulating hair and fur that guarantees inextensiblity with a single iteration per frame. For an iteration count this low, existing methods either become unstable or introduce a substantial amount of stretching. Our method is geometric in nature and able to simulate thousands of inextensible hair strands in real time.
Like with any other research projects, there is a high probability that this particular technology will be utilized in future releases of PhysX SDK or APEX.
Update: Hawken – official PhysX trailer
Update #2: full GPU PhysX support will be enabled in March 5 update
Update #3: GPU PhysX in Hawken – review and benchmarks
What kind of PhysX content current Beta has to offer ? Let’s find out.
Hawken still contains only physical particle PhysX effects, however, they have recieved a noticable overhaul over a recent month. APEX Turbulence based simulations were postponed as it was decided to give them a few rounds of additional polishing. Finally, APEX Destruction module and destructible environments will be added to the game in early 2013.
Current set of PhysX Particles includes following effects:
- Particles from explosions and impact debris (pieces of concrete, strips of metal, etc).
- Small parts and chunks flying off on weapon impacts on mechs.
- Additional debris generated as mech walks, dashes or lands.
- Forcefields (from explosions and moving mechs) to push around any ambient PhysX particles.
In overall, particle effects are done well, they are pretty intense (battlefield will be covered with chunks and debris in just a few seconds after first machine gun bursts) and are adding a certain amount of juice to the visual look of the game. We can name only one flaw – particle effects lack variety, a little.