News for hackers. Stuff that matters.
Re:A first look at Unreal Engine 5 by crazygringo on Wednesday May 13, 2020 @04:41PM (#23171591)
Wow. It seems like real-time lighting and detail are getting to the point where they're so indistinguishable from reality...

...that now it's the actual quality of the models themselves, and even more of character motion, that are going to have to be the next steps in better graphics.

I'm stunned by the lighting and detail, absolutely stunned.

But at the same time, especially when you get into the architectural rooms, everything's far too "perfect". No grime, no crumbling edges, the motion of the ceiling opening is far too smooth, no vibration or catching, etc.

Likewise, the character's ponytail isn't bobbing like real hair at all. Sometimes her movements seem to be anti-gravity and bizarrely robotic. The leather over her shoulder seems to float rather than rest, and twists as if it were made of gelatin rather than stiff cowskin.

Not that these are criticisms at all -- I'm well aware of how hard they are. It's just fascinating to me to see, once rendering is basically "good enough", how the flaws in modeling come to the fore.

And so where are those advances going to come in? Are there going to be procedural-generation advances in creating realistic grime and imperfections and irregularities? Or deep-learning advances for realistic bodily movement? And why is it so damn hard to get clothing to actually fall on the body right, instead of always looking like a stretchy foam skinsuit?

Re:A first look at Unreal Engine 5 by jayd16 on Wednesday May 13, 2020 @08:42PM (#23173760)
>And why is it so damn hard to get clothing to actually fall on the body right, instead of always looking like a stretchy foam skinsuit?

Mostly because it is a stretchy foam suit. A model is deformed and translated based on animated bones in the model. Essentially each vertex is tied to a small number of transforms matrices(bones) with multiplier/weight. Animations are updating the transform matrices over time. You only get so many bones per model and per vertex and because of this clothes moved inline with other parts of a model like skin because its using the exact same bone.

I'm not sure where we're at in terms of increasing bone counts or independently animating clothes on a character. As bone counts increase, the amount of matrix data that must be sent to the GPU every frame increases.

Re:A first look at Unreal Engine 5 by random32840 on Thursday May 14, 2020 @08:47AM (#23178786)
I can see deep learning shaking up dynamic cloth animation dramatically in the not too distant future. It's already happened for fluids.
Re:A first look at Unreal Engine 5 by jayd16 on Thursday May 14, 2020 @04:03PM (#23184650)
How so? We can already render really nice cloth offline. The issue is the runtime cost of sending that animation data to the GPU.

Are you suggesting building some kind of GPU side physics protocol that takes material properties, and existing bone data and fills in some of the blanks? I suppose you could start to push bone motion vectors and interpolate some things.

Re:A first look at Unreal Engine 5 by random32840 on Sunday May 17, 2020 @03:28AM (#23210312)
Computing & rendering all on the GPU without having to query back to the CPU at all seems a natural fit to me, but I don't have a deep technical understanding of it.

My main thought is just that DL reduces the amount of computate you actually need by allowing you to approximate rather than derive things like cloth physics, how that's eventually integrated seems an implementation detail.

Re:A first look at Unreal Engine 5 by archi42 on Thursday May 14, 2020 @10:51AM (#23180235)
Funnily, I wasn't amazed by the fluid in the demo. It seemed much too thick (more like oil than like water).
Re:A first look at Unreal Engine 5 by random32840 on Sunday May 17, 2020 @03:33AM (#23210347)
That's not a great example of what's possible. Research-land has some wild demos:

https://www.youtube.com/watch?v=i4KWiq3guRU

Re:A first look at Unreal Engine 5 by faitswulff on Thursday May 14, 2020 @11:23AM (#23180634)
The fluid was really unrealistic and they panned away from it quickly.
Re:A first look at Unreal Engine 5 by Nition on Wednesday May 13, 2020 @06:14PM (#23172447)
Yeah, this is looking so good now that we seem to have reached the uncanny valley of rendering. Where instead of thinking "this game has really good graphics" I'm now thinking "this reality has some bad graphics".
Re:A first look at Unreal Engine 5 by TeMPOraL on Wednesday May 13, 2020 @06:58PM (#23172851)
Oooh yeah; some of those rock faces were sharper than my short-sighted self would expect to see in real life.
Re:A first look at Unreal Engine 5 by sterlind on Wednesday May 13, 2020 @04:51PM (#23171691)
All sorts of rendering tricks had to be played before RTX. Now that we have real-time ray tracing, models are becoming more important than shaders (see e.g. Minecraft. It looks like a real world made of Legos - the blocks make it look artificial.)

Maybe once real time photorealism is cracked, we'll move to a completely Newtonian global physics for some games, with some analogue of "atoms" the way RTX models "photons."

I'm not in the industry, this is just something I'm wondering about. What would Minecraft be like if blocks were the size of pixels and the physics were real?

Re:A first look at Unreal Engine 5 by zamalek on Wednesday May 13, 2020 @07:32PM (#23173139)
> Maybe once real time photorealism is cracked, we'll move to a completely Newtonian global physics for some games, with some analogue of "atoms" the way RTX models "photons."

There is an extreme amount of doubt about whether the tech is real (myself included). These people have promised the world, have incredible videos, but have nothing to show in terms of a demo you can download and run yourself. Still, they claim to do what you describe and have videos demonstrating it: https://www.youtube.com/watch?v=J62z_7JaYMw

Re:A first look at Unreal Engine 5 by sterlind on Wednesday May 13, 2020 @11:49PM (#23175060)
Holy shit, wow! I hear you on the skepticism, but did you notice how the vehicles shimmer during some of the editing? I think think they're optimizing by joining adjacent voxels together until they're deleted, at which point they get replaced with new polys, and it causes a ripple effect.

That type of detail suggests to me that it's a real (clunky) demo, but maybe it's running slower than advertised.

I can also understand not releasing a demo.. the code would be too valuable to risk reverse engineers.

Re:A first look at Unreal Engine 5 by robmaister on Thursday May 14, 2020 @03:42AM (#23176620)
It's possible that it's an async compute task, which could potentially miss a frame and show old data (instead of the whole frame missing vsync).

Also this demo is supposed to be running on a PS5 devkit, which means that you'd need a devkit to run it, which means that you'd need to sign NDAs and join their developer programs and whatnot.

Having worked with current gen consoles (meaning I can't go into any amount of detail), it's not a trivial thing to get a demo like this running well on PCs. This demo is likely making use of every platform specific feature available to them.

That said, the demo might be accessible through some back channels if you're already a UE4 licensee and have a PS5 devkit.

Re:A first look at Unreal Engine 5 by zamalek on Thursday May 14, 2020 @12:54PM (#23181975)
The link I shared wasn't UE5, and their other videos specifically indicate that they are running on PC - unbelievably modest PC hardware at that.

> it's not a trivial thing to get a demo like this running well on PCs

This old tired argument.

The current theory for how the meshing is done is something similar to mesh shaders (available on commodity PC hardware since 2018)[1]. This "PS5 platform specific feature" running on PC in 2018[2].

As for the lighting, NVDIA have already had this "platform specific feature" on PCs for some time now. It's called RTX. In 2018[3] (using DLSS), in 2020[4] (no apparent DLSS usage, but it may have improved).

Both next-gen consoles are essentially PCs. Their primary advantage is tightly coupled hardware (e.g. memory latency, the absurdly fast PS5 SSD). While dedicated raytracing silicon on AMD is currently unique to PS5 (AMD claims they can emulate DXRT on Navi), it has been around for more than a year in consumer hands in the form RTX.

[1]: https://devblogs.nvidia.com/introduction-turing-mesh-shaders... [2]: https://www.youtube.com/watch?v=CRfZYJ_sk5E [3]: https://www.youtube.com/watch?v=jkhBlmKtEAk [4]: https://www.youtube.com/watch?v=2744rWPvNuE

Re:A first look at Unreal Engine 5 by robmaister on Thursday May 14, 2020 @09:44PM (#23187930)
I work in AAA. I'm talking lower level things like picking which "type" of GPU memory to allocate, access to specific registers in shaders, etc. PC didn't have real async compute capabilities until DX12, for example.

On the CPU side yeah it's 100% just a normal computer but nothing will be interrupting your threads. I think Windows 10 tries to do in it's new game mode too.

Sorry for assuming the link was the PS5 one. I have a UDN account and their login setup sometimes just dumps me to their homepage, so I made the assumption that it was the same video that I had seen everywhere else.

Re:A first look at Unreal Engine 5 by zamalek on Friday May 15, 2020 @03:23AM (#23189775)
> PC didn't have real async compute capabilities until DX12

Indeed it didn't, and DX12 is extremely old tech. Consoles don't have async compute right now. (Edit: apart from the PS3).

Re:A first look at Unreal Engine 5 by robmaister on Sunday May 17, 2020 @03:10AM (#23210231)
AMD GCN absolutely supports async compute[1]. Radeon cards for years would only make use of the ACEs in pure compute contexts, as OpenGL and DX11 had no concept of a secondary command queue and could not make use of them. This is a big part of the reason why Vulkan/DX12 require so much boilerplate to get a triangle rendered.

The PS3's SPU definitely counts as async compute especially with how it was used later in the console lifecycle[2] once people had time to familiarize themselves with it.

However, in the current gen consoles, you don't have to deal with a different ISA, command queuing, and shared memory between the GPU and CELL processor. You are only writing HLSL/GLSL/PSSL and setting up an aggressive amount of fencing to transition resources between readable and writable states within the GPU.

[1]: https://www.anandtech.com/show/9124/amd-dives-deep-on-asynch... [2]: https://www.slideshare.net/DICEStudio/spubased-deferred-shad...

Re:A first look at Unreal Engine 5 by GuiA on Wednesday May 13, 2020 @05:27PM (#23172028)
It's going to be at least a solid 3-5 years until one can say "now that we have real-time ray tracing" as far as most consumer devices are concerned, and even then it likely won't mean that all games will use raytracing for all rendering - more likely just for select special effects etc. I wouldn't give it less than at least a decade or two before we can have a mainstream fully raytraced game; and even then, I'd guess that good game artists will keep using smoke and mirrors to make effects even more stunning than what they can make by the brute force ray tracing approach.

There are a few indie devs trying to make "finer resolution" Minecraft; e.g. https://www.youtube.com/watch?v=VQv1OEm_www

Re:A first look at Unreal Engine 5 by skavi on Thursday May 14, 2020 @03:32AM (#23176543)
You might be interested in the upcoming game, Teardown[0]. The voxels are definitely larger than pixels, but much smaller than in Minecraft. It definitely exploits the voxel geometry for really impressive physics (as well as optimized ray tracing).

[0]: https://youtu.be/GCuCQSyqeXM

Re:A first look at Unreal Engine 5 by jfkebwjsbx on Wednesday May 13, 2020 @10:48PM (#23174729)
What you are suggesting are called voxel engines, and there have been a lot of attempts at them, none close to success.

There is no way we can simulate physics at the level you suggest for real-time games, not even in a hundred years. Unless you achieve a breakthrough in fundamental physics which would have an impact in every aspect of life, not just games.

Re:A first look at Unreal Engine 5 by sterlind on Wednesday May 13, 2020 @11:41PM (#23175013)
Thanks, I didn't know what they were called!

There must be some granularity at which voxel engines can work smoothly today. Let's say my room is a square with 320 pixels on each side. 320^3 = 32,768,000 voxels, which looks like a lot, but an RTX 2080 can render 17 billion triangles per second, which works out to 273 million per frame at 60fps.

Let's ignore gravity and focus on momentum vectors and collisions. Even if simulating physics for each voxel were 10x slower than rendering a triangle, you could do 320^3 voxels in 60fps on today's hardware.

And this is naive, assuming you can't merge neighboring voxels together! I think you're being unfairly pessimistic.

Re:A first look at Unreal Engine 5 by jfkebwjsbx on Thursday May 14, 2020 @12:36AM (#23175348)
You’re welcome!

Current systems simulate about 30k simple bodies. So that is already off by 3 orders of magnitude.

And that is a basic simulation, nothing complex, no fancy physics simulated, just rigid collisions.

Even if you could simulate the numbers you propose, 320 voxels per side is really low. Each voxel would be around a centimeter wide, which would look very bad (compared to the usual way of doing things).

Re:A first look at Unreal Engine 5 by jhrmnn on Thursday May 14, 2020 @08:57AM (#23178888)
I think you need to discretize time very finely to have believable collisiom physics. So it’s orders of magnitude more than 10x.
Re:A first look at Unreal Engine 5 by slx26 on Wednesday May 13, 2020 @05:53PM (#23172276)
not exactly what you are saying, but you might be interested in teardown https://youtu.be/Wc_QC25RM44
Re:A first look at Unreal Engine 5 by sterlind on Thursday May 14, 2020 @01:32AM (#23175698)
Almost exactly what I was looking for! I can't fathom how a single person manages to make a game like that. He mentions a physics solver in that video.. I wonder if he'll talk about how it works