Crytek's Neon Noir is a Platform Agnostic Real-Time Ray Tracing Demo

Subject: General Tech | March 18, 2019 - 09:03 AM |
Tagged: vulkan, RX Vega 56, rtx, ray tracing, radeon, nvidia, Neon Noir, dx12, demo, crytek, CRYENGINE, amd

Crytek has released video of a new demo called Neon Noir, showcasing real-time ray tracing with a new version of CRYENGINE Total Illumination, slated for release in 2019. The big story here is that this is platform agnostic, meaning both AMD and NVIDIA (including non-RTX) graphics cards can produce the real-time lighting effects. The video was rendered in real time using an AMD Radeon RX Vega 56 (!) at 4K30, with Crytek's choice in GPU seeming to assuage fears of any meaningful performance penalty with this feature enabled (video embedded below):

“Neon Noir follows the journey of a police drone investigating a crime scene. As the drone descends into the streets of a futuristic city, illuminated by neon lights, we see its reflection accurately displayed in the windows it passes by, or scattered across the shards of a broken mirror while it emits a red and blue lighting routine that will bounce off the different surfaces utilizing CRYENGINE's advanced Total Illumination feature. Demonstrating further how ray tracing can deliver a lifelike environment, neon lights are reflected in the puddles below them, street lights flicker on wet surfaces, and windows reflect the scene opposite them accurately.”

Crytek is calling the new ray tracing features “experimental” at this time, but the implications of ray tracing tech beyond proprietary hardware and even graphics API (it works with both DirectX 12 and Vulcan) are obviously a very big deal.

crytek_demo.png

“Neon Noir was developed on a bespoke version of CRYENGINE 5.5., and the experimental ray tracing feature based on CRYENGINE’s Total Illumination used to create the demo is both API and hardware agnostic, enabling ray tracing to run on most mainstream, contemporary AMD and NVIDIA GPUs. However, the future integration of this new CRYENGINE technology will be optimized to benefit from performance enhancements delivered by the latest generation of graphics cards and supported APIs like Vulkan and DX12.”

You can read the full announcement from Crytek here.

Source: Crytek

EWC 2019: Vulkan Safety Critical (SC) Working Group Created

Subject: Graphics Cards | February 26, 2019 - 12:41 AM |
Tagged: Khronos, Khronos Group, vulkan, vulkan sc, opengl, opengl sc

The Khronos Group, the industry body that maintains OpenGL, OpenCL, EGL, glTF, Vulkan, OpenXR, and several other standards, has announced the Vulkan Safety Critical (SC) Working Group at Embedded World Conference 2019. The goal is to create an API that leverages Vulkan’s graphics and compute capabilities in a way that implementations can be safe and secure enough for the strictest of industries, such as automotive, air, medical, and energy.

khronos-2017-vulkan-alt-logo.png

It's a safety hammer, I promise. (No I don't.)

The primary goal is graphics and compute, although the working group will also consider exposing other hardware capabilities, such as video encode and decode. These industries currently have access to graphics through OpenGL SC, although the latest release is still significantly behind what a GPU can do. To put it into perspective – the latest OpenGL SC 2.0 (which was released in 2016) has less functionality than the original release of WebGL back in 2011.

While OpenGL SC 2.0 allows programmable vertex and fragment (pixel) shaders, it falls short in many areas. Most importantly, OpenGL SC 2.0 does not allow compute shaders; Vulkan SC is aiming to promote the GPU into a coprocessor for each of these important industries.

There is not much else to report on at this point – the working group has been formed. A bunch of industry members have voiced their excitement about the new API’s potential, such as Codeplay, Arm, and NVIDIA. The obvious example application would be self-driving cars, although I’m personally interested in the medical industry. Is there any sort of instrument that could do significantly more if it had access to a parallel compute device?

If you are in a safety-critical enterprise, then look into joining the Khronos Group.

Tutorial for RTX on Vulkan (VK_NVX_raytracing extension)

Subject: Graphics Cards | February 11, 2019 - 03:30 PM |
Tagged: nvidia, rtx, vulkan

Microsoft got quite a bit of mindshare with the announcement of DirectX Raytracing (DXR) at last year’s GDC 2018. NVIDIA’s RTX technology was somewhat synonymous with DirectX 12 for a while, although NVIDIA was not exactly hiding their equivalent extension for Vulkan. It’s not that you must use DirectX 12 – it’s that you cannot use DirectX 11.

nvidia-2019-rtx-triangle.png

Image Credit: iOrange (via GitHub)

And now there’s a tutorial on GitHub by the user Sergii Kudlai (iOrange), complete with source code licensed under MIT. iOrange is a programmer for Digital Extremes, which is best known for their 2013 hit, Warframe, although they also collaborated with Epic Games on the earlier Unreal Tournament editions (UT2004 and earlier). They also worked on Epic Pinball.

The article is very casually worded and covers up to a single triangle.

If you’re interested in a little more depth, NVIDIA is also releasing Ray Tracing Gems for free on their website, although you need to be registered with their developer portal.

Ray Tracing Gems is available here. Currently only the first two chapters are up, but the rest will arrive every few days until approximately February 25th.

Q2VKPT Makes Quake 2 the First Entirely Raytraced Game

Subject: General Tech | January 18, 2019 - 06:09 PM |
Tagged: vulkan, rtx, raytracing, Quake II, quake, Q2VKPT, Q2PRO, path tracing, open source, nvidia, john carmack, github, fps

Wait - the first fully raytraced game was released in 1997? Not exactly, but Q2VKPT is. That name is not a typo (it stands for Quake 2 Vulkan Path Tracing) it's actually a game - or, more correctly, a proof-of-concept. But not just any game; we're talking about Quake 2. Technically this is a combination of Q2PRO, "an enhanced Quake 2 client and server for Windows and Linux", and VKPT, or Vulkan Path Tracing.

q2vkpt_screenshot_1.jpg

The end result is a fully raytraced experience that, if nothing else, gives the computer hardware media more to run on NVIDIA's GeForce RTX graphics cards right now than the endless BFV demos. Who would have guessed we'd be benchmarking Quake 2 again in 2019?

"Q2VKPT is the first playable game that is entirely raytraced and efficiently simulates fully dynamic lighting in real-time, with the same modern techniques as used in the movie industry (see Disney's practical guide to path tracing). The recent release of GPUs with raytracing capabilities has opened up entirely new possibilities for the future of game graphics, yet making good use of raytracing is non-trivial. While some games have started to explore improvements in shadow and reflection rendering, Q2VKPT is the first project to implement an efficient unified solution for all types of light transport: direct, scattered, and reflected light (see media). This kind of unification has led to a dramatic increase in both flexibility and productivity in the movie industry. The chance to have the same development in games promises a similar increase in visual fidelity and realism for game graphics in the coming years.

This project is meant to serve as a proof-of-concept for computer graphics research and the game industry alike, and to give enthusiasts a glimpse into the potential future of game graphics. Besides the use of hardware-accelerated raytracing, Q2VKPT mainly gains its efficiency from an adaptive image filtering technique that intelligently tracks changes in the scene illumination to re-use as much information as possible from previous computations."

The project can be downloaded from Github, and the developers neatly listed the needed files for download (the .pak files from either the Quake 2 demo or the full version can be used):

  • Github Repository
  • Windows Binary on Github
  • Quake II Starter ("Quake II Starter is a free, standalone Quake II installer for Windows that uses the freely available 3.14 demo, 3.20 point release and the multiplayer-focused Q2PRO client to create a functional setup that's capable of playing online.")

There were also a full Q&A from the developers, and some obvious questions were answered including the observation that Quake 2 is "ancient" at this point, and shouldn't it "run at 6000 FPS by now":

While it is true that Quake II is a relatively old game with rather low geometric complexity, the limiting factor of path tracing is not primarily raytracing or geometric complexity. In fact, the current prototype could trace many more rays without a notable change in frame rate. The computational cost of the techniques used in the Q2VKPT prototype mainly depend on the number of (indirect) light scattering computations and the number of light sources. Quake II was already designed with many light sources when it was first released, in that sense it is still quite a modern game. Also, the number of light scattering events does not depend on scene complexity. It is therefore thinkable that the techniques we use could well scale up to more recent games."

And on the subject of path tracing vs. ray tracing:

"Path tracing is an elegant algorithm that can simulate many of the complex ways that light travels and scatters in virtual scenes. Its physically-based simulation of light allows highly realistic rendering. Path tracing uses Raytracing in order to determine the visibility in-between scattering events. However, Raytracing is merely a primitive operation that can be used for many things. Therefore, Raytracing alone does not automatically produce realistic images. Light transport algorithms like Path tracing can be used for that. However, while elegant and very powerful, naive path tracing is very costly and takes a long time to produce stable images. This project uses a smart adaptive filter that re-uses as much information as possible across many frames and pixels in order to produce robust and stable images."

This project is the result of work by one Christoph Schied, and was "a spare-time project to validate the results of computer graphics research in an actual game". Whatever your opinion of Q2VKPT, as we look back at Quake 2 and its impressive original lighting effects it's pretty clear that John Carmack was far ahead of his time (and it could be said that it's taken this long for hardware to catch up).

Source: Q2VKPT

Filament Game Engine Open Sourced (Apache 2.0)

Subject: General Tech | August 8, 2018 - 07:15 PM |
Tagged: pc gaming, macos, Android, windows, linux, vulkan

Yet another video game engine has entered the market – this time by Google. Filament is written in C++, supports OpenGL 4.1-and-up, OpenGL ES 3.0-and-up, and Vulkan 1.0 on Android, Linux, macOS, and Windows.

It is also licensed under Apache 2.0, so it is completely open-source (with no copyleft).

google-2018-filament-anisotropy.png

On the plus side, it supports a lot of rendering features. The materials, like basically everyone else, use a PBR system, which abstracts lighting from material properties, allowing models to be shaded correctly in any lighting environment. Filament goes beyond that implementation, however, and claims to include things like anisotropic metals (think brushed steel) and clear coat effects. They even have a BRDF (the program that defines the outputs of your shader, where all your textures plug in to) for cloth rendering, including backward scattering.

On the negative side? Pages upon pages of documentation and I haven’t seen one screenshot of their editor, which doesn't telegraph the best message for their tools. I don’t have the toolchain set up on my computer to try it for myself, but I’m guessing that developer UX is lacking compared to the other engines. I do like that they chose to limit external dependencies, however. It just requires the standard library and a header-only library called “Robin-Map” for fast hash maps.

Google also tags a disclaimer at the bottom of their GitHub page: “This is not an officially supported Google product”. It’s free, though, so it might be worth checking out.

Podcast #490 - Seasonic Fanless power supply, HyperX cordless headset, and more!

Subject: General Tech | March 8, 2018 - 01:37 AM |
Tagged: vulkan, video, stealth, seasonic, razer, Project ReSX, prime, podcast, Khronos Group, hyperx, gamdias, far cry 5, corsair, Carbide 275R, amd, achilles p1-l, 600w

PC Perspective Podcast #490 - 03/07/18

Join us this week for discussion on the Seasonic Fanless power supply, HyperX cordless headset, and more!

You can subscribe to us through iTunes and you can still access it directly through the RSS page HERE.

The URL for the podcast is: http://pcper.com/podcast - Share with your friends!

Hosts: Ryan Shrout, Jeremy Hellstrom, Josh Walrath, Sebastion Peak, Allyn Malventano

Peanut Gallery: Alex Lustenberg, Ken Addison

Program length: 1:26:57

Podcast topics of discussion:
  1. Week in Review:
  2. Thanks to Casper for supporting our channel. Save $50 on select mattresses at http://www.casper.com/pcper code: pcper
  3. News items of interest:
  4. Picks of the Week:
    1. 1:15:05 Allyn: Keep an eye on Steam Specials
    2. 1:18:15 Jeremy: An office move is a chance to get 4K over Cat6? Nope.
    3. 1:23:15 Sebastian: Consider a refurb if you need a PSU
  5. Closing/outro
 
Subject: General Tech
Manufacturer: The Khronos Group

Don't Call It SPIR of the Moment

Vulkan 1.0 released a little over two years ago. The announcement, with conformant drivers, conformance tests, tools, and patch for The Talos Principle, made a successful launch for the Khronos Group. Of course, games weren’t magically three times faster or anything like that, but it got the API out there; it also redrew the line between game and graphics driver.

The Khronos Group repeats this “hard launch” with Vulkan 1.1.

khronos-2018-vulkan-logo.png

First, the specifications for both Vulkan 1.1 and SPIR-V 1.3 have been published. We will get into the details of those two standards later. Second, a suite of conformance tests has also been included with this release, which helps prevent an implementation bug from being an implied API that software relies upon ad-infinitum. Third, several developer tools have been released, mostly by LunarG, into the open-source ecosystem.

Fourth – conformant drivers. The following companies have Vulkan 1.1-certified drivers:

khronos-2018-vulkan-drivers.png

There are two new additions to the API:

The first is Protected Content. This allows developers to restrict access to rendering resources (DRM). Moving on!

The second is Subgroup Operations. We mentioned that they were added to SPIR-V back in 2016 when Microsoft announced HLSL Shader Model 6.0, and some of the instructions were available as OpenGL extensions. They are now a part of the core Vulkan 1.1 specification. This allows the individual threads of a GPU in a warp or wavefront to work together on specific instructions.

khronos-2018-vulkan-subgroup.png

Shader compilers can use these intrinsics to speed up operations such as:

  • Finding the min/max of a series of numbers
  • Shuffle and/or copy values between lanes of a group
  • Adding several numbers together
  • Multiply several numbers together
  • Evaluate whether any, all, or which lanes of a group evaluate true

In other words, shader compilers can do more optimizations, which boosts the speed of several algorithms and should translate to higher performance when shader-limited. It also means that DirectX titles using Shader Model 6.0 should be able to compile into their Vulkan equivalents when using the latter API.

khronos-2018-vulkan-spirv.png

This leads us to SPIR-V 1.3. (We’ll circle back to Vulkan later.) SPIR-V is the shading language that Vulkan relies upon, which is based on a subset of LLVM. SPIR-V is the code that is actually run on the GPU hardware – Vulkan just deals with how to get this code onto the silicon as efficiently as possible. In a video game, this would be whatever code the developer chose to represent lighting, animation, particle physics, and almost anything else done on the GPU.

The Khronos Group is promoting that the SPIR-V ecosystem can be written in either GLSL, OpenCL C, or even HLSL. In other words, the developer will not need to rewrite their DirectX shaders to operate on Vulkan. This isn’t particularly new – Unity did this sort-of HLSL to SPIR-V conversion ever since they added Vulkan – but it’s good to mention that it’s a promoted workflow. OpenCL C will also be useful for developers who want to move existing OpenCL code into Vulkan on platforms where the latter is available but the former rarely is, such as Android.

khronos-2018-vulkan-opencl.png

Speaking of which, that’s exactly what Google, Codeplay, and Adobe are doing. Adobe wrote a lot of OpenCL C code for their Creative Cloud applications, and they want to move it elsewhere. This ended up being a case study for an OpenCL to Vulkan run-time API translation layer and the Clspv OpenCL C to SPIR-V compiler. The latter is open source, and the former might become open source in the future.

Now back to Vulkan.

khronos-2018-vulkan-extensions.png

The other major change with this new version is the absorption of several extensions into the core, 1.1 specification.

The first is Multiview, which allows multiple projections to be rendered at the same time, as seen in the GTX 1080 launch. This can be used for rendering VR, stereoscopic 3D, cube maps, and curved displays without extra draw calls.

The second is device groups, which allows multiple GPUs to work together.

The third allows data to be shared between APIs and even whole applications. The Khronos Group specifically mentions that Steam VR SDK uses this.

The fourth is 16-bit data types. While most GPUs operate on 32-bit values, it might be beneficial to pack data into 16-bit values in memory for algorithms that are limited by bandwidth. It also helps Vulkan be used in non-graphics workloads.

We already discussed HLSL support, but that’s an extension that’s now core.

The sixth extension is YCbCr support, which is required by several video codecs.

The last thing that I would like to mention is the Public Vulkan Ecosystem Forum. The Khronos Group has regularly mentioned that they want to get the open-source community more involved in reporting issues and collaborating on solutions. In this case, they are working on a forum where both members and non-members will collaborate, as well as the usual GitHub issues tab and so forth.

You can check out the details here.

The Wolfensteins of Vulkan in the spotlight

Subject: General Tech | November 15, 2017 - 02:12 PM |
Tagged: gaming, Wolfenstein 2, vulkan, amd, nvidia

[H]ard|OCP took a close look at the new Wolfenstein game, covering the new graphics options which appear in the menus as well as the bugs that could be caused by then, not to mention the benchmarking.  For this Vulkan game they chose three AMD cards and four NVIDIA cards to test with a variety of thsoe options enabled as well as looking at the effect resolution has on your performance.  As we have seen in other recent games, AMD's Vega 64 is a strong contender at 4K resolutions, surpassing the GTX 1080 but not quite matching its 1080 Ti brother.  It is also worth noting this game loves VRAM, in fact 8GB is not enough for Uber settings.  Read through the full review for performance numbers as well as insight into the best graphics settings to chose.

1510594718h4wgx13fur_1_4_l.png

"Wolfenstein II: The New Colossus is out; this new game uses the id Tech 6 game engine and Vulkan API to give you a great gaming experience on the PC with today’s latest GPUs. We will compare performance features, see what settings work best, find what is playable in the game and compare performance among several video cards."

Here is some more Tech News from around the web:

Gaming

Source: [H]ard|OCP

What is the best GPU to beat Nazis with?

Subject: General Tech | November 8, 2017 - 03:26 PM |
Tagged: gaming, Wolfenstein 2, the new colossus, nvidia, amd, vulkan

Wolfenstein II The New Colossus uses the Vulkan API which could favour AMD's offerings however NVIDIA have vastly improved their support so a win is not guaranteed.  The Guru of 3D tested the three resolutions which most people are interested in, 1080p, 1440p and 4K on 20 different GPUs in total.  They also took a look at the impact of 4-core versus 8-core CPUs, testing the i7-4790K, i7-5960K as well as the Ryzen 7 1800X and even explored the amount of VRAM the game uses.  Drop by to see all their results as well as hints on dealing with the current bugs.

newcolossus_x64vk_2017_11_04_09_39_58_587.jpg

"We'll have a peek at the PC release of Wolfenstein II The New Colossus for Windows relative towards graphics card performance. The game is 100% driven by the Vulkan API. in this test twenty graphics cards are being tested and benchmarked."

Here is some more Tech News from around the web:

Gaming

Source: Guru of 3D

Podcast #464 - Vega Redux, Intel 8th Gen Core, and more!

Subject: General Tech | August 24, 2017 - 11:24 AM |
Tagged: vulkan, vlan, video, samsung galaxy note 8, rx vega, podcast, Linksys WRT32x, kaby lake, Intel, ice lake, htc vive, ECS, Core, asus zenphone 4, acer predator z271t

PC Perspective Podcast #464 - 08/17/17

Join us for continued discussion on RX Vega, Intel 8th Gen Core, and more!

You can subscribe to us through iTunes and you can still access it directly through the RSS page HERE.

The URL for the podcast is: http://pcper.com/podcast - Share with your friends!

Hosts: Ryan Shrout, Jeremy Hellstrom, Josh Walrath, Allyn Malventano

Peanut Gallery: Ken Addison, Alex Lustenberg

Program length: 1:34:56

Podcast topics of discussion:
  1. Week in Review:
    1. 0:07:54 Let’s talk about RX Vega!
      1. My Review
      2. Pricing concerns
      3. Availability
      4. Different die packages
      5. Locked BIOS
  2. News items of interest:
  3. Hardware/Software Picks of the Week
    1. 1:26:45 Allyn: Razer Blade
  4. Closing/outro
 

Source: