yes allthough i dont know how much faster it wasDidn't Rage have a CUDA implementation on Nvidia systems for texture de/recompression?
yes allthough i dont know how much faster it wasDidn't Rage have a CUDA implementation on Nvidia systems for texture de/recompression?
You don't need much RAM or BW for the tiles apart from caching them. In the ideal case, you only need as many texels and pixels. Obviously megatexturing isn't 100% efficient, but you have a very low overhead. I'm sure Sebbbi's post on tiled rendering goes into detail and we can put a figure on 1080p requirements. The further storage would be for caching data to address drive concerns, and all the non-tiled-texture data.The megatextures are huge. I think they'd still need to be compressed for a system with 5GB of available RAM.
You don't need much RAM or BW for the tiles apart from caching them. In the ideal case, you only need as many texels and pixels. Obviously megatexturing isn't 100% efficient, but you have a very low overhead. I'm sure Sebbbi's post on tiled rendering goes into detail and we can put a figure on 1080p requirements. The further storage would be for caching data to address drive concerns, and all the non-tiled-texture data.
The need for megatextured compression is to get the source data to fit on disk and be readable at speed off clunky drives. Once in the console, it's extremely efficient.
Didn't Rage have a CUDA implementation on Nvidia systems for texture de/recompression?
Because... if the DMAs could be used to transcode the texture data for free, that work could be done by Compute on PS4 "for free" (as in the same game on both consoles 12 vs 18 ALU, 6 left over for free).
This one? http://forum.beyond3d.com/showpost.php?p=1580827&postcount=39
Been a while since I read it.
So, 1080p would require about 9216x9216 (arrived at this by 4096x4096 by 2.25 for 1080p as suggested in sebbbi's post). At 2.5 bytes per pixel (from sebbbi's post) you'd be at 212 MB. Seems like the 5400 rpm drives should be fast enough to handle streaming tiles into the tile cache.
You're doubling both vertical and horizontal resolution, which results in quadrupling the texture resolution. A 2.25 time increase would be 6144*6144 or 90MB!
Aaaah, that video... it sounds familiar. It seems that there are a few ways around it, although I want to see that in games, live.
Thanks for sharing, Davros. I've never heard of that game. It's a start, not as hot as a Doom game, but it seems to work handsomely when composing elements of the image together.Here ya go
I am a big proponent of anything hardware, although of course you can match those features with software. Still, in real life term, if you had to choose... would you go with hardware implementation or a software one?Hardware support for partially resident textures (called Tiled Resources in DirectX API, or more generally "sparse textures"), do not bring any new possibilities over software virtual texturing implementation (custom shader code). It mostly shaves off a few ALU instructions (and one cache friendly memory load), makes anisotropic filtering easier to implement properly and doesn't need tile borders for filtering (that saves less than one percent of storage space, but makes addressing easier because tile borders make power of two alignment hard).
Hardware PRT also provides a minor memory saving (~10 megabytes total), as you don't need your own indirection lookup texture. However if you use a hash instead of a texture with full mip chain (one pixel represents one page, for example 128x128 pixels of texture data), your memory consumption is equal to hardware PRT version. But this requires one extra memory lookup (if cuckoo hash is used) and some extra ALU.
Yes, all modern GPUs support sparse textures. OpenGL 4.4+ and DirectX 11.2+ has support for it on PC.
Here ya go
Here is the paper describing how they used it in dragon commander.I have it, how would i tell ?
I do know it uses the same engine
Yup.One very important issue about Rage was that most of the environment had no dynamic attributes at all, not even specular highlights - because the environment only had one texture layer. This was mostly because of background storage issues though (not being able to fit normal and specular map layers on the DVD) and not a runtime memory concern.
However, Doom 4 will absolutely require dynamic lighting and thus at least two extra RGB layers (normal and spec color) and one or two A channels (specular roughness and perhaps material ID). So we're talking about a significantly larger RAM need - but then the new systems have almost 10 times as much space, too...
Yep, good point. Some of these won't compress too nicely with JPEG either, I'm thinking, making the streaming demands higher and need for more cached tiles greater.One very important issue about Rage was that most of the environment had no dynamic attributes at all, not even specular highlights - because the environment only had one texture layer...
Yep, good point. Some of these won't compress too nicely with JPEG either, I'm thinking, making the streaming demands higher and need for more cached tiles greater.
So with a 90 degree field of view, you're well past 270mb for a full 360 degree view. It'll be interesting to see if Doom has the same pop-in issues with texture streaming that Rage did on the PC.
When using virtual texturing, the memory usage is tightly tied to the rendering resolution. At 720p on Xbox 360, our virtual texturing implementation used a two layer 4096x4096 DXT5 compressed atlas to store all the cached texture data. This is 32 MB. The system also needs an 2048x2048 16 bpp (RGB565) indirection texture (with a full mip chain). This takes an additional 10.6 MB of memory (8MB+2MB+0.5MB+0.125MB+...). So the total memory cost is 42.6 MB at 720p. We aim at 33% working set (33% of the cache is needed to store the texture data for the currently visible frame). This is a good compromise between memory usage and the HDD traffic.So with a 90 degree field of view, you're well past 270mb for a full 360 degree view. It'll be interesting to see if Doom has the same pop-in issues with texture streaming that Rage did on the PC.