Jump to content

Ultra Engine testing


Josh
 Share

Recommended Posts

19 minutes ago, Vida Marcell said:

Bruh whats going on here, how you guys have ultra?

Those that have access to the SDK can get ultra

i now hate love C++

Beeeeeeeeeeeeeep~~This is a test of the emergency signature system~~Beeeeeeeeeeeeeep

RX 6800XT | i5-13600KF | 32GB DDR5 | 1440p is perfect

Link to comment
Share on other sites

Here are the results I am getting mixing screen space reflections with environment probes. The two blend very nicely. Of course it will look bad if you make a level out of mirrors, but if you use normals maps to break up the reflection and only make some parts shiny I think this will give good results: Also note how the sky reflection pans in reflections, instead of being basked into the probe cubemap.

 

  • Like 3
  • Upvote 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

28 minutes ago, Josh said:

Of course it will look bad if you make a level out of mirrors

:( There goes all hope for that house of mirrors horror game I queried about in January :)

  • Like 1

i now hate love C++

Beeeeeeeeeeeeeep~~This is a test of the emergency signature system~~Beeeeeeeeeeeeeep

RX 6800XT | i5-13600KF | 32GB DDR5 | 1440p is perfect

Link to comment
Share on other sites

It's not very glamorous but this is important: I replaced my screen unproject functions with matrix-based functions that can handle any arbitrary projection matrices. This is important because some VR headsets use funny projections for rendering. This is the reason Leadwerks does not support post-processing effects in VR, but now it should be no problem.

https://community.khronos.org/t/position-reconstruction-from-gl-fragcoord-and-depth-value-using-matrix-multiply/109115

  • Like 2

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

I've got the lighting working consistently between SSR and environment probes now. An SSR reflection gives identical light levels to the environment probe. Next step is to blur the SSR so it matches the roughness of the environment probe sampling. You can see a few artifacts here because the SSR is perfectly sharp but the env map reflection is rough.

Untitled.thumb.jpg.c68ce24341ed9b5c645f43d9907d3cb2.jpg

  • Like 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Adding randomness to the reflection vector is pretty effective at handling rough surfaces, but it introduces a lot of graininess:

Untitled.thumb.jpg.ddc9438843aaff9ae5dd9ce53b96fed1.jpg

  • Like 2

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

More ray samples lowers the framerate but it looks quite good. I need to try isolating the SSR result and running that through a denoise filter.

Untitled.thumb.jpg.2d963d1a5ec65fe3a192869ffa2277bd.jpg

  • Like 2

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Yeah, I think this approach will work very nicely. All the artifacts are mostly eliminated and the cost of the effect is very low. This is all being rendered on a GEForce 1660.

These slides were helpful:
https://www.ea.com/frostbite/news/stochastic-screen-space-reflections

  • Like 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

I have been getting as kick of your video thumbnails but I honestly don't think your exploiting the algorithm to the fullest. Maybe next time try adding red borders, arrows and circles to create a sense of urgency. Emojis are cute and everyone likes them so maybe add a few of those in for good measure. You can also try being creative by including meme references and/or anime girls in your thumbnails.

Play stupid games, win stupid prizes. 🤡

  • Haha 2
  • Confused 1

Cyclone - Ultra Game System - Component PreprocessorTex2TGA - Darkness Awaits Template (Leadwerks)

If you like my work, consider supporting me on Patreon!

Link to comment
Share on other sites

Zero graininess, zero flickering, even with bright lights and very rough surface. SSR roughness matches environment probes closely. Framerate is fast, maybe I can make it faster.

Untitled.thumb.jpg.dce97649eceadbd813bada276e35bff9.jpg

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Hi Josh, 

while you're working on new features and refining them, i would like to suggest some improvements to the client hub:

  1. Update-Tab:
    1. It would be nice to have a Button to directly browse the installation directory (like in the Projects tab, where you can click on the project to open the base folder)
    2. Another addition, which would be nice: An ability to create a backup of the current installed Version, currently I keep track of this manually and create backups, but depending on how you plan to support multiple version channels, it might be nice to easy rollback to a previous one. (without hoping that you provide the correct version channel, maybe a simple zip file or tar)
  2. Project-Tab:
    1. The warning icons and delete button are not indicating, that they can be clicked and there is now real indicator what happens if you click them (tooltips to the rescue?)
    2. The delete icon should be replaced (in my opinion) with a trash bin or something like this. A hint, that the project is only removed from the project tab would be nice as well.
    3. Backup:
      1. The backup should be kept in a separate folder, which should mimic the original folder structure. The current system fills the dev folders with unnecessary files, which can make the fast searching in folders quite complicated. Also with version-control in mind, it would be easier to manage, if there is just a folder with the backed up files, which can be easily be deleted on demand. Currently, you need to filter all bak files and remove them, but this can also lead to problems if a developer maintains their own bak files. 

 

  • Thanks 1
  • Upvote 1
  • Windows 10 Pro 64-Bit-Version
  • NVIDIA Geforce 1080 TI
Link to comment
Share on other sites

I think I am ready to call this finished. We've got rough and sharp reflections, it blends well with environment probes, and the probes are very effective at preventing light leaks. You'll notice these reflections don't spread out like previous shots did, but the framerate is so fast and I think normal maps will break up the reflection a lot. Once you start adding randomness / jitter into the reflections you create error, and that error has to be averaged out over a very large number of samples, with greatly diminishing returns.

Untitled.thumb.jpg.ddb682fed09f9c5c187b321e1755998b.jpg

Crytek did something similar in "Ryse":

image.png.70a53cd30551e2454e456ade4eb3e189.png

  • Like 4

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

RTX could easily be worked into a single shader that would provide offscreen reflections, running through the exact same filters as the SSR reflections. I am starting to think that ray tracing is just another tool to use in combination with probes and light mapping, rather than a total replacement of all lighting techniques. I mean, you could use ray tracing alone, but you would have extremely low limits on the scene poly count.

  • Upvote 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

If you want some basic syntax highlighting and error reporting for the shaders in visual studio I can recommend this:

https://github.com/danielscherzer/GLSL

image.thumb.png.5c74410b21fc695cf42a07287b96964c.png

Configuration to let it be compatible with Ultraengine and Vulkan:

image.thumb.png.c12c4438fbe47382935495df0b626aa7.png

The Expand includes is currently needed as the Compileprocess generates a temporary file under %temp% and so there is no direct access to the include files in the shader, but the error detection still works. it can't compile yet to spv files because the Arguments-System is a bit limited, but maybe we can change this :)

  • Like 1
  • Upvote 1
  • Windows 10 Pro 64-Bit-Version
  • NVIDIA Geforce 1080 TI
Link to comment
Share on other sites

  • Josh changed the title to Ultra Engine testing
  • Josh locked this topic
Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...