List of supported game technologies in the Witcher 3
Since the Witcher 3 is only two months away, I decided to make a list of the various game technologies that will be found in the Witcher 3, or those that I know of at least.
Most of these are confirmed via interviews or marketing material. If something hasn't been confirmed, I'll make sure to list it as such. Also I will try to describe the technologies if I'm able to, and provide sources for those that wish to read into them a bit more via the bolded hyperlinks.. If I make any mistakes or forget anything, go ahead and correct me and make your own entry. So in no particular order, here goes!
1) 64 bit :: Unlike previous Witcher games, the Witcher 3's engine (Red Engine 3) will use 64 bit addressing instead of 32 bit. This was likely a necessary change to allow CDPR to realize their vision for the Witcher 3 as a massive, exceptionally detailed and near seamless gaming experience. 64 bit allows far more assets to be loaded into memory for fast access, rather than having to go to storage which is much more costly from a performance perspective. With x86-64 architecture (which is shared by all three platforms), 64 bit also gives developers twice as many general purpose registers and twice as many SIMD registers as 32 bit, which is icing on the cake..
2) Forward+ renderinghttp://www.slideshare.net/takahiroharada/forward-34779335 :: I don't know much about Forward+ rendering to be honest, but I believe it's the latest and most efficient form of rendering for modern GPUs, and it was apparently developed by AMD. Here is a fairly good technical summary:
3) DX11 :: Microsoft's second attempt to bring their graphics API into the modern era, it's a high level API for PC with an impressive array of supported technologies to include hardware tessellation, DirectCompute and much better multithreading compared to previous iterations. Likely the decision to use DX11 was necessary to CDPR's vision for the Witcher 3. It is very doubtful that the Witcher 3 could have been made using DX9, without some severe sacrifices..
Consoles of course will not be using DX11. The PS4 will like GNM/GNX, and the Xbox One will use a specialized version of Direct3D 11 which is much lower level than the one found on PC.
4) 64 bit HDR rendering :: Not to be confused with 64 bit computing, 64 bit HDR (high dynamic range) is about more precise and realistic lighting.
5) Image based lighting :: Don't know much about this one, but apparently it allows all light sources to be dynamic and cast light without using baked lighting. Main man Jose Teixeira discusses image based lighting (among other things) in this YouTube video. Skip to 8:40 for talk on IBL.
6) Physically based rendering/shading :: I can't believe there wasn't a Wiki entry for this, so I had to go to Epic's website for a solid definition. Basically, it means more realistic looking materials in games due to algorithms which govern the physical interaction between light and the materials. This is one of the most important technologies in the Witcher 3, as it will tremendously impact the overall look and feel of the game along with the lighting..
7) Ambient Occlusion :: A very subtle, yet extremely important technology for the overall look and quality of any scene. Ambient occlusion approximates the interaction of light on objects by adding shadows where you would expect them to be, based on occlusion samples. To my knowledge, the Witcher 3 will support at least three forms of ambient occlusion. SSAO, HBAO and HBAO+. The consoles will likely use standard HBAO I would assume, whereas the PC will have access to SSAO and HBAO+. SSAO will be for lower end machines, whereas HBAO+ will be for mid to high end machines. Out of the three, HBAO+ is by far the best..
Ambient occlusion off:
Ambient occlusion on:
8) DirectCompute :: DirectCompute, the GPGPU API for DirectX 10 and 11 will be used in the Witcher 3 for NVidia's Hairworks, specifically the simulation of hair and fur. DirectCompute will likely also be used to speed up the processing for other things in the game as well, but unless a developer says so, I can't verify this..
9 Hairworks :: An NVidia proprietary technology used to render and simulate hair and fur in games. Erroneously believed by many to use PhysX, Hairworks actually uses DirectCompute for the simulation of hair and fur since DirectCompute is native to DX11. It also uses isoline tessellation to render the thousands of hair or fur strands, which can be very performance intensive. This will be a PC exclusive tech, as it's too much for the consoles to handle. Also there were fears that NVidia would limit the technology to NVidia users only, but insofar as I can see, they haven't done this. Far Cry 4 uses Hairworks as well, and the last time I checked, it ran on AMD hardware.
10) Tessellation :: A core feature of DX11, tessellation allows developers to increase geometric detail of a mesh by breaking down polygons into smaller polygons, and alter the position of the vertices to more accurately describe the object being rendered. For it to be done properly, tessellation must be used in conjunction with displacement mapping. As to the Witcher 3, CDPR have already verified that they will be using tessellation for the terrain and bodies of water. Apparently they also looked into using it for character models, but the gain in image quality wasn't worth the effort so that was cancelled. You can see examples of tessellation being used in the Witcher 3 in this NVidia demo:
11) PhysX :: PhysX is NVidia's physics SDK for game development, and is responsible for all of the awesome looking physics seen in the Witcher 3, from the Igni particle effects, to the various simulations to include wind, water, cloth and foliage.. The Witcher 3 will use PhysX 3.3x, among the very fastest and most versatile physics SDKs available today as it takes full advantage of SIMD and multicore CPUs.. In fact, CDPR dropped Havok in favor of PhysX if that tells you anything.
There's a lot of confusion about PhysX, which primarily stems from the fact that it also has a hardware accelerated component that runs on the GPU. As far as I'm aware, GPU PhysX is still in play according to this latest interview between Balazs Torok (CDPR's lead rendering architect) and PCGH.de.
In all likelihood, GPU PhysX will just allow more particles than the CPU version, and more cloth simulation. Although there's also talk of adding smoke and fog effects as well according to that interview.
12) Screen Space Reflections :: Kind of self explanatory. This technology allows reflections to be cast on the surfaces on reflective materials, ie water, glass, metal etcetera. Many games use it in some capacity or another, but very few use SSR for dynamic objects. Most use it only for static objects. From what I've seen of the Witcher 3, it appears to use SSR for both static and dynamic objects, which is very impressive. You can see SSR in action in the 35 minute demo, specifically on the waterways of Novigrad, and in the puddles on the street.
13) Umbra 3 :: Another extremely important piece of technology for the Witcher 3. Umbra 3 is designed to primarily tackle the problem of visualization by using occlusion culling; in other words, rendering only what is actually being seen by the camera. This performance enhancing tech makes rendering much more efficient by ensuring that the GPU's resources aren't being unnecessarily spent on rendering things that the player cannot see, thereby indirectly allowing very long draw distances and minimizing pop in.
Occlusion culling isn't really anything new, but Umbra's implementation of it is masterful indeed and it undoubtedly saved CDPR a lot of work. Here's a few screenshots of the tech at work. We're all familiar with this screenshot of Geralt in what appears to be Novigrad:
Now this is what it looks like from an aerial perspective with the camera detached:
So as you can see, most of the area outside of Geralt's position isn't being rendered. The only thing about this kind of technology, is that it can be CPU dependent because it requires precomputation.
14) SpeedTree :: SpeedTree is middleware designed to help artists quickly populate virtual worlds with realistic and diverse foliage and vegetation. It is used extensively in not only video games, but big budget box office films like Avatar as well.
SpeedTree also helps with animations, visual effects and LoD, something which I didn't know beforehand. So when you see those tree branches swaying in the wind in the Witcher 3, you have SpeedTree to thank!
*Edit* I was not aware, but apparently SpeedTree uses an integrated Apex Vegetation module to provide the foliage and vegetation simulation and destruction.
Since the Witcher 3 is only two months away, I decided to make a list of the various game technologies that will be found in the Witcher 3, or those that I know of at least.
Most of these are confirmed via interviews or marketing material. If something hasn't been confirmed, I'll make sure to list it as such. Also I will try to describe the technologies if I'm able to, and provide sources for those that wish to read into them a bit more via the bolded hyperlinks.. If I make any mistakes or forget anything, go ahead and correct me and make your own entry. So in no particular order, here goes!
1) 64 bit :: Unlike previous Witcher games, the Witcher 3's engine (Red Engine 3) will use 64 bit addressing instead of 32 bit. This was likely a necessary change to allow CDPR to realize their vision for the Witcher 3 as a massive, exceptionally detailed and near seamless gaming experience. 64 bit allows far more assets to be loaded into memory for fast access, rather than having to go to storage which is much more costly from a performance perspective. With x86-64 architecture (which is shared by all three platforms), 64 bit also gives developers twice as many general purpose registers and twice as many SIMD registers as 32 bit, which is icing on the cake..
2) Forward+ renderinghttp://www.slideshare.net/takahiroharada/forward-34779335 :: I don't know much about Forward+ rendering to be honest, but I believe it's the latest and most efficient form of rendering for modern GPUs, and it was apparently developed by AMD. Here is a fairly good technical summary:
Forward+, a method of rendering many lights by culling and storing only lights that contribute
to the pixel. Forward+ is an extension to traditional forward rendering. Light culling, implemented using the
compute capability of the GPU, is added to the pipeline to create lists of lights; that list is passed to the final
rendering shader, which can access all information about the lights. Although Forward+ increases workload
to the final shader, it theoretically requires less memory traffic compared to compute-based deferred lighting.
Furthermore, it removes the major drawback of deferred techniques, which is a restriction of materials and lighting
models. Experiments are performed to compare the performance of Forward+ and deferred lighting.
3) DX11 :: Microsoft's second attempt to bring their graphics API into the modern era, it's a high level API for PC with an impressive array of supported technologies to include hardware tessellation, DirectCompute and much better multithreading compared to previous iterations. Likely the decision to use DX11 was necessary to CDPR's vision for the Witcher 3. It is very doubtful that the Witcher 3 could have been made using DX9, without some severe sacrifices..
Consoles of course will not be using DX11. The PS4 will like GNM/GNX, and the Xbox One will use a specialized version of Direct3D 11 which is much lower level than the one found on PC.
4) 64 bit HDR rendering :: Not to be confused with 64 bit computing, 64 bit HDR (high dynamic range) is about more precise and realistic lighting.
5) Image based lighting :: Don't know much about this one, but apparently it allows all light sources to be dynamic and cast light without using baked lighting. Main man Jose Teixeira discusses image based lighting (among other things) in this YouTube video. Skip to 8:40 for talk on IBL.
6) Physically based rendering/shading :: I can't believe there wasn't a Wiki entry for this, so I had to go to Epic's website for a solid definition. Basically, it means more realistic looking materials in games due to algorithms which govern the physical interaction between light and the materials. This is one of the most important technologies in the Witcher 3, as it will tremendously impact the overall look and feel of the game along with the lighting..
7) Ambient Occlusion :: A very subtle, yet extremely important technology for the overall look and quality of any scene. Ambient occlusion approximates the interaction of light on objects by adding shadows where you would expect them to be, based on occlusion samples. To my knowledge, the Witcher 3 will support at least three forms of ambient occlusion. SSAO, HBAO and HBAO+. The consoles will likely use standard HBAO I would assume, whereas the PC will have access to SSAO and HBAO+. SSAO will be for lower end machines, whereas HBAO+ will be for mid to high end machines. Out of the three, HBAO+ is by far the best..
Ambient occlusion off:
Ambient occlusion on:
8) DirectCompute :: DirectCompute, the GPGPU API for DirectX 10 and 11 will be used in the Witcher 3 for NVidia's Hairworks, specifically the simulation of hair and fur. DirectCompute will likely also be used to speed up the processing for other things in the game as well, but unless a developer says so, I can't verify this..
9 Hairworks :: An NVidia proprietary technology used to render and simulate hair and fur in games. Erroneously believed by many to use PhysX, Hairworks actually uses DirectCompute for the simulation of hair and fur since DirectCompute is native to DX11. It also uses isoline tessellation to render the thousands of hair or fur strands, which can be very performance intensive. This will be a PC exclusive tech, as it's too much for the consoles to handle. Also there were fears that NVidia would limit the technology to NVidia users only, but insofar as I can see, they haven't done this. Far Cry 4 uses Hairworks as well, and the last time I checked, it ran on AMD hardware.
10) Tessellation :: A core feature of DX11, tessellation allows developers to increase geometric detail of a mesh by breaking down polygons into smaller polygons, and alter the position of the vertices to more accurately describe the object being rendered. For it to be done properly, tessellation must be used in conjunction with displacement mapping. As to the Witcher 3, CDPR have already verified that they will be using tessellation for the terrain and bodies of water. Apparently they also looked into using it for character models, but the gain in image quality wasn't worth the effort so that was cancelled. You can see examples of tessellation being used in the Witcher 3 in this NVidia demo:
11) PhysX :: PhysX is NVidia's physics SDK for game development, and is responsible for all of the awesome looking physics seen in the Witcher 3, from the Igni particle effects, to the various simulations to include wind, water, cloth and foliage.. The Witcher 3 will use PhysX 3.3x, among the very fastest and most versatile physics SDKs available today as it takes full advantage of SIMD and multicore CPUs.. In fact, CDPR dropped Havok in favor of PhysX if that tells you anything.
There's a lot of confusion about PhysX, which primarily stems from the fact that it also has a hardware accelerated component that runs on the GPU. As far as I'm aware, GPU PhysX is still in play according to this latest interview between Balazs Torok (CDPR's lead rendering architect) and PCGH.de.
In all likelihood, GPU PhysX will just allow more particles than the CPU version, and more cloth simulation. Although there's also talk of adding smoke and fog effects as well according to that interview.
12) Screen Space Reflections :: Kind of self explanatory. This technology allows reflections to be cast on the surfaces on reflective materials, ie water, glass, metal etcetera. Many games use it in some capacity or another, but very few use SSR for dynamic objects. Most use it only for static objects. From what I've seen of the Witcher 3, it appears to use SSR for both static and dynamic objects, which is very impressive. You can see SSR in action in the 35 minute demo, specifically on the waterways of Novigrad, and in the puddles on the street.
13) Umbra 3 :: Another extremely important piece of technology for the Witcher 3. Umbra 3 is designed to primarily tackle the problem of visualization by using occlusion culling; in other words, rendering only what is actually being seen by the camera. This performance enhancing tech makes rendering much more efficient by ensuring that the GPU's resources aren't being unnecessarily spent on rendering things that the player cannot see, thereby indirectly allowing very long draw distances and minimizing pop in.
Occlusion culling isn't really anything new, but Umbra's implementation of it is masterful indeed and it undoubtedly saved CDPR a lot of work. Here's a few screenshots of the tech at work. We're all familiar with this screenshot of Geralt in what appears to be Novigrad:
Now this is what it looks like from an aerial perspective with the camera detached:
So as you can see, most of the area outside of Geralt's position isn't being rendered. The only thing about this kind of technology, is that it can be CPU dependent because it requires precomputation.
14) SpeedTree :: SpeedTree is middleware designed to help artists quickly populate virtual worlds with realistic and diverse foliage and vegetation. It is used extensively in not only video games, but big budget box office films like Avatar as well.
SpeedTree also helps with animations, visual effects and LoD, something which I didn't know beforehand. So when you see those tree branches swaying in the wind in the Witcher 3, you have SpeedTree to thank!
*Edit* I was not aware, but apparently SpeedTree uses an integrated Apex Vegetation module to provide the foliage and vegetation simulation and destruction.
Last edited: