3 ms·
Don't you still need to do some of that just for file size and data transfer, if nothing else? In the demo they said it had hundreds of billions of triangles. G
by 6gvONxR4sf7o 6y ago
Don't you still need to do some of that just for file size and data transfer, if nothing else? In the demo they said it had hundreds of billions of triangles. Google tells me you can get down to 18 bytes or so per triangle, but even if we assume a lower bound of just three bytes per triangle (amortized storage of 1 vertex per triangle of an x,y,z point), we're talking about on the order of terabytes to just store that scene, right?
- BiteCode_dev 6y ago"virtual" is the keyword. They do some magic to not calculate or store most of it, most of the time.
- badsectoracula 6y agoI'm pretty sure the virtual word here refers to the geometry being in a virtualized form, meaning that the renderer refers to it but the GPU does not have all of it in RAM but instead is paged in on demand. This paper about geometry images[0] was mentioned on Twitter from an old post by the programmer who implemented the functionality in UE5. Geometry images encode geometry in rectangular 2D textures that can be reconstructed later (the paper is kinda old for this, but i guess it can be done on a computer shader nowadays). If those images are stored as virtual textures, which are supported by the GPUs nowadays, they could be essentially using sparse textures/resources to store geometry. [0] http://hhoppe.com/gim.pdf http://hhoppe.com/gim.pdf
- Apofis 6y agoThis would be awesome tech if everyone had gigabit fiber. You could just stream all the assets during loading time or if possible during gameplay. On second thought, 125MB per second probably wouldn't be fast enough. A 30 second load time would only result in 3750mb of assets at best. 4k on a Google Stadia doesn't sound bad if the latency is good.
- ponyous 6y agoSomebody on reddit calculated that those Zbrush character models in demo are roughly 125MB in size.
- naikrovek 6y agoInstancing is the key, for that part of this demo at least. One statue replicated 300 times only costs slightly more than one of those statues alone.
- 6gvONxR4sf7o 6y agoWow that's obvious in retrospect. Thanks!
- omikun 6y agoThat's assuming 6 bytes per vertex, 3 vertices per triangle? Most assets use triangle strips, which averages closer to 1 vertex per triangle. They also said the souce mesh is in billions of triangles, but their Nanite pairs that down to 10's of millions. At ~1 vert/tri * 6bytes * 100mil tri, that's 600MB of meshes. Keep in mind this is just a demo, so they can pack what would normally be an entire level into one room. A whole game might end up be equivalent to a couple of demos after they manually optimize even more.
- 6gvONxR4sf7o 6y agoI was going off of this: > Thus, when vertices are shared, the total amortized storage required per triangle will be 12 bytes of memory for the offsets (at 4 bytes for three 32-bit integer offsets) plus half of the storage for one vertex—6 bytes, assuming three 4-byte floats are used to store the vertex position—for a total of 18 bytes per triangle. From here: http://www.pbr-book.org/3ed-2018/Shapes/Triangle_Meshes.html http://www.pbr-book.org/3ed-2018/Shapes/Triangle_Meshes.html And I they said hundreds of billions of triangle, not just billions (timestamp 6:29), but another commenter made a point that's obvious in retrospect that it's a ton of reused assets, not hundreds of billions of totally independent triangles.
- xxs 6y ago>even if we assume just three bytes per triangle, that give's you up to 16.7m (2^24) possible triangles. Your napkin math is way off,
- 6gvONxR4sf7o 6y agoI edited it to clarify I meant that as a lower bound. Even if it were somehow achievable, 3 bytes per triangle times hundreds (plural, so at least 200) of billions of triangles is at least 600 billion bytes: 600 gigabytes.
- jayd16 6y agoIn reality its the same rock mesh 1000s of times.
- deleted 6y ago[deleted]
- pas 6y agoYou can use delta compression, you can even use lossy compression. It doesn't matter if a vertex is at x=1.001 or x=0.998 if it looks good enough. That said, yes, of course, assets are getting enormous - Call of Duty: Modern Warfare - 175.2GB on PS4. There was a post about the new MS Flight Simulator and how it'll stream high-def textures from the "cloud" during gameplay, because it has petabytes of textures.