And then I get a minute into the UE3 video from 2004 and what do I hear?
"The scene you're seeing here is about 1 million polygons of in-game assets, which came from about 200 million polygons of source art."
Then, deja vu, right into a realtime lighting demo.
I was wondering about that too. My best guess is that they put the heavy geometry items in an acceleration data structure and then ray trace / cone trace these in a first pass to get the points where the camera rays intersect the geometry. Then generate triangles on the fly from these points in every frame. This would be quite similar in flavor to GigaVoxels [1] or the (IMO unjustly much hated) "Unlimited Detail" engine [2], except that instead of shading / visualising the intersections directly they just use it to generate triangles as another input to their overall pipeline.
If you look at the video closely all the heavy geometry items are static, i.e. they don't deform. This matches with a classic limitation of ray tracing as deformations invalidate the acceleration data structures used for making ray tracing efficient.
[1] http://gigavoxels.inrialpes.fr/ [2] https://www.youtube.com/watch?v=gM6QkPsA2ds
To me this tech sounds more like they finally figured out all the quirks around how to properly construct "seamless geometry atlasses" (geometry images) and reconstruct geometry from them, and managed to bring that to production. It required quite a bit of compute, and there were also a lot of quirks about how to automatically "cut" an input geometry so that you can put it in a 2D image, how to compress and decompress the image or parts of it without artifacts (such that you don't get jumps across triangles), etc.
That approach doesn't store any triangles, but a 2D xyz (rgb) image that you can use to reconstruct the original geometry from, and to which you can apply all usual image compression algorithms, use all GPU texture features (but for geometry), etc.
That's ~15 year old tech, and they mention they have been working on this for over 10 years, so timeline-wise it would fit (search for geometry images, texture atlasses, etc. there was a siggraph talk from ~2005 about wavelet compression of geometry images).
That's why it seems much more plausible to me that they are not storing triangles anywhere, and instead just storing geometry images.
A moment earlier in the video, the poly count of a single statue mesh was given: "more than 33 million triangles."
If you have 1 triangle mesh, and instance it 100 billion times, you don't need to do that.
> "more than 33 million triangles."
The assets the company they mention makes have 100s of millions of triangles, and billions as well. So I wonder if they are not using those original assets after all.
IIUC they are, but they are only rendering at lower triangle counts and the LOD happens automatically.
Firstly, UE4 has broad-phase that I understand they are quite happy with, I doubt they would add in a ray-trace, since not only would that not really improve anything, it would also not integrate well with any non-nanite techniques of rendering geometry, and my understanding is at least for now, nanite can only handle (mostrly)static geometry, and I doubt they would want to give up the ability to work with other rendering techniques.
If I had to take a wild guess, I would guess they have a somewhat standard process to generate a low detail mesh, which is what get's dispatched to the GPU, then, atop of that mesh they may build triangles acceleration structures parameterized across the surface perhaps similar to this paper [1] From there, you could do similar to what you suggest, and just generate additional triangles such as is in that paper.
However, given how poorly GPUs handle pixel-sized polygons, that may not be the best approach. so I wouldn't be surprised if tessellation is used to around a quad level and then from there, the rest is either done using compute-style rasterization in the pixel shader, or some outputs are written and additional rasterization is actually deferred for a compute job.
I'm sure there are all sorts of exceptions and edge-cases, but I wouldn't be surprised if it looks something like that general workflow. On the other hand, I'd be very surprised if there was anything that looked like ray-tracing on the scene level, perhaps traversing the surface-space data structures looks a bit like ray-tracing.
[1] https://graphics.stanford.edu/~niessner/papers/2016/4subdiv/...
I know little about game development so might be wrong, but I think what that 2004 demo means is they had a 200M art asset geometry which was pre-rendered/transformed into a 1M in-game asset. This kind of reduction has been the standard for decades.
What they are indicating in this UE5 demo is that the engine dynamically adjusts the LoD of the source geometry so the engine can render it, the engine directly uses the art asset.
Unreal Engine's old business model were exactly that, get you excited with demos and sign up ( paid ) for their engine. And it was the same with UE 3 and UE 4. But in 2015 all that changed. It was open sourced on Github, it has a very sustainable revenue model due to the explosion of Mobile Gaming, the Gaming industry as a whole is now bigger than Movies and Music industry combined.
I think it is fair to say EPYC no longer has the incentive to do that with UE 5. And because it is / will be open source, they can now actively work with many different partners ( Hardware such as Sony and Microsoft and other publishers ) to make sure those technology works as intended.
Please accept my sincere apology. And no offence intended.
Let hope we continue to focus and amaze at the technical marvel that is UE5.
You can see it so that part is shared but if you try to use it you fall under a very different licease. If you try to modify and sell you can't. Modify and use you must pay. Use you must pay.
Bait open source might be a better term.
The answer is that pretty much everyone agreed that open source means something roughly equivalent to the OSI definition, and even big companies agreed with that... until a year ago or so when somebody decided that they wanted all the benefits of claiming to contribute to open source without actually doing so, and a bunch of people who never actually cared about the FOSS ecosystem aided them in doing so.
guess it helps the discussion and to defend agains marketing-speak appropriation to have a single uniform definition. but it's confusing as heck if someone is unknowing or resisting the OSI coup to position themselves as the open source regent.
I don't see why continuing to argue it makes any sense here. All this type of behavior does is drive people away from further discussions on sites like this, reddit, etc.
There won't be single uniform definition.
"Open source" isn't based on the semantic that the source code is public, its definition comes exclusively from a set of guidelines that limit the rights of the original creator to enforce a specific range of IP protections guaranteed to them by domestic and international laws. There are various types of public licenses, also known as GNU, that are considered "true open source" in that the original creator can only enforce some provisions like a source attribution credit in a modified distribution. And there are permission licenses, like the MIT License, which don't necessarily meet every guideline for FOSS, but do meet most of them.
When it comes to IP, the only basis that matters is legal, as its the only basis that's universally enforceable. Laypersons can define "open source" however they please, but when engineers, devs, business, and legal discuss it, it has one definition, and that definition is well-established as exemptions from current IP law.
This rarely transfers to a product that has a lot of content to be built, an actual budget, good but not star developers and conflicting requirements.
The demo has input. The video shows them modifying the world at several points, it's not on rails. It's more like a mini game (except maybe at the end).
UE's game creation tools are very good. The toolset is a huge part of their value prop. And this demo is very explicit in focusing on the fact that artists can now use movie-level tools instead of needing to spend a lot of time on optimisation and game-custom art assets. That's one of the two big leaps they're promoting here - it's partly about an increase in graphics quality, but clearly what they feel most proud of is the increase in tooling and asset flexibility the new capabilities give content creators.
The person that shows the demo can for example choose to move and look and perform actions that are known to not cause performance trouble.
In a game a lot of unpredictable stuff can happen (for example, a bunch of people can cast a spell or drop a grenade at exactly same time). Or you may decide to quickly turn around causing a bunch of texture and geometry data to be loaded.
Game must take it into account and make sure the performance is acceptable with whatever input is allowed and lots of action around and not only when the guy walks slowly in a straight path and slowly pans around.
It doesn't mean it happens in this case but AFAIK it is fair to say that most engine demoes are put together to highlight strengths and hid weaknesses of the engine.
https://web.archive.org/web/20010814190955/http://www.gamesp...
- Andrew Sega in particular was a particularly famous scene musician who went under the name "Necros" and is about as legendary as you can get for people who weren't part of the Future Crew team who made Unreal.
- Alexander Brandon (Siren) is still in the game industry and has done soundtracks for a ton of really well known games such as Jazz Jackrabbit.
- Daniel Gardopée went by Basehead and was part of FM and the KFMF demo groups (both big deals at the time) and I think is still in gaming.
- Michiel van den Bos (MCA) is the only non-American scener (Dutch) who provided music and is also still in gaming.
At the time it was kind of funny and completely cool to fire up Unreal and hear some well known Necros, Basehead, and Siren songs in the game which had been circulating in BBS and early demoscene ftp sites for a while.
https://en.wikipedia.org/wiki/Unreal_(1998_video_game)#Audio
I'm not sure when it shipped (it certainly may have not launched with the first version of the engine), but it is currently called "Light Propagation Volumes."
That's actually a different things. Light Propagation Volumes (LPV) is real-time global illumination first used in Cryengine 3 in 2009. http://advances.realtimerendering.com/s2009/Light_Propagatio...
SVOGI (Sparse Voxel Octree Global Illumination) which is first demoed by Unreal 4, yet it never shipped due performances problems. Meanwhile Cryengine manage to get it working with minimal performances penalty (only 10%) and have shipped games with it (Kingdom Come: Deliverance) https://www.youtube.com/watch?v=PEfqtOYjolE
Some of the new lighting features in UE5 are interesting and should be cheaper than RTX overall, but will be interesting to see the mix and match which developers will achieve. Looking forward to having a play around with it.
Games are more than tech demos.
- Dinos were so in vogue and so suggesting of technological innovation. Jurassic Park came out what, 2-3 years earlier?
- Very limited z-sorting requirements, could likely be done with a simple bsp if sorting individual polys proved too taxing.
- Polys of fairly regular dimensions, not overly long in one direction. Helps with less visible sorting and clipping artifacts.
- No problem with lack of perspective correction, because textures are already shimmering due to the organic skin animation.
- That black fog has always been very effective. We love terrifying things emerging from the dark, which Doom3 tech proved again, and more recently VR.
Otherwise, not many games made it to release on that engine: https://en.wikipedia.org/wiki/Amazon_Lumberyard
See this for the original demo of UE4. https://www.youtube.com/watch?v=dD9CPqSKjTU
If you want to see particle effects like the demo, skip ahead to 11 minutes: https://www.youtube.com/watch?v=ZkW_uD0PzIw&t=11m
Someone's hack of the save files: https://www.youtube.com/watch?v=sfZbFXSLLtk
I think the Decima engine would have worked better (Horizon Zero Dawn), because the bar for 'amazing' is so high. Final Fantasy 7 requires impressive visuals for its story to have impact in its original release, in all of its spinoffs, and that bar is so high now.
They describe how this is still their dynamic when they mention their goal to have Fortnite running on UE5 before they consider it ready for the masses.
They're probably waiting until it goes away on its own as all epic bugs do
Except using a phased array to locate RFID tags using backscatter. That was just plain hard.
https://www.webdesignmuseum.org/uploaded/timeline/hewlett-pa...
It's funny how old tricks make a comeback. I see a lot of 's in React codebases to preserve whitespace around JSX tags.
I never did it myself. I know there are plenty of reasons to dislike flash. And I know plenty of people absolutely hated sites created solely using Flash.
But I have to admit I enjoyed the creativity I saw on many Flash sites. There a generic sameness to much of the modern web. I know Flash sites were useless for SEO, and probably for accessibility too. So I don't think things are necessarily worse now. Just more generic.
Of course, you can create a Flash-like site using web-native technologies, but it's probably more work.
Until surprisingly recently, there was no built-in way to make a rectangular element on a webpage have rounded corners. People had to use all sorts of dirty hacks to make a final product that "looked like" it was a native, built-in feature. Usually in the old days it basically amounted to various forms of "putting a picture of a rounded corner" (often a gif) in each of the corners of the element you were putting on the page.
There were a lot of different ways to do that, but one of them was to use "tables" - tables these days are usually only used for what their genuine, semantic intent is: for drawing a literally spreadsheet-like table of data. But back in the earliest days of the web, they were the only controllable way to visually lay things out on any kind of grid, so despite the fact that they were "supposed" to have nothing to do with visual layout, they'd get used all the time for that - often getting used to do visual borders and stuff.
So to do rounded corners, you'd basically make a table that was a 3x3 grid. In the corner elements of the grid, you'd have tiny pictures of rounded corners; in the side elements of the grid you'd basically have nothing (they'd be really skinny elements, either very wide or tall). Then the middle element in the grid would be gigantic, and would hold your actual content.
I'll be glad for the day when 9-slice is a truly obscure technique.
Border-image came and changed the game in the early 2010's... Doing exactly that in essence
You won't know it from looking at it because you'll only see the rendered static HTML, but that entire site was actually written in C++. Using the AP C++ libraries (yes, that AP).
That also reminds of the transparent 1px gif "hack".
I'm not that nostalgic about that. Once in a while all that knowledge comes in handy for troubleshooting an email template...
That's a weird way of spelling Macromedia Dreamweaver...
https://web.archive.org/web/20040204003135/http://www.realid...
No coincidence it's called 'Unreal' Engine heh
I remember using a JS poly fill with modernizr to get it to work like as soon as it came out and making pixel perfect images to use with it!
one more time ya'll
Edit: found the video of the demo levels that shipped with very early UE3 https://www.youtube.com/watch?v=1m7T5ay_8DI
However UE3-generation games that finally shipped had none of the visual effects from the early demos. The multicolored shadows could only be rendered with multiple passes, at least one per light, which proved to be too expensive for larger dynamic game scenes. It took years of work from the demo to shipped games, and an army of unnamed engineers to wrestle the technology into a product.
UE4 had a great early demo of dynamic global illumination using something like voxel cone tracing if I remember correctly. To my knowledge that tech demo was never incorporated into the engine and never shipped.
Epic is famous for their demos, and I love them for it... at least now that I no longer work professionally in that field. If anything it charts a long term technical direction for interactive entertainment.