demostenes Posted November 26, 2016 Posted November 26, 2016 One albedo 2048 texture in dds without alfa is 2.66MB (without alfa). Terrain albedo array with 2048 resolution for 23 textures has 490MB. I would expect 2.66*23=61,2MB, not 8x more. 2048 normal map has 5.33MB, height texture 2,66MB. Normal array for 23 of these textures has 243MB, height array 123MB. Is there any reason for this?
sebastianbah Posted November 29, 2016 Posted November 29, 2016 Hi,Generation of arrays contains the following steps: - generate mipmaps to every layer of the array - for albedo array: additionally, add roughness texture as alpha channel So, if you want to calculate the final size of the array texture, try to: - generate mipmaps (you may use imagedds_x*.exe -m) for the material's texture - multiply the size of the resulting texture (RGBA texture for albedo) and number of materials. If your source texture have only 1 mip, even the final size of array with 1 layer will be different. Also, please, check, that you may compress the final textures (Nodes -> ObjectTerrain -> Parameters -> Compress) to get the optimum size. Thanks!
demostenes Posted December 4, 2016 Author Posted December 4, 2016 I tried compression of textures and now albedo and normal arrays are 125MB, height 15MB. I thought it is compressed by default. So good to know :) All my textures have mipmaps, so 2.66MB is with mipmaps. I ve noticed, that not all of my layer textures are RGB, some are RGBA, so probably this adds A layer to albedo array, which is doubling the size. Good to know, that alfa is now roughnes, after height was moved as separate texture. Thanks for explanation! Btw, it is memory wise to put rougness into alfa channel? For alfa channel dds compression is more conservative, so adding alfa channel doubles size of texture. If rougness is stand alone single texture as height, it would take far less space (15MB instead of 61MB). Any technological reasons for this?
sebastianbah Posted December 5, 2016 Posted December 5, 2016 Hi,Through the realization, detail textures are called for a multiple times, so the additional array texture may cause significant performance drop for ObjectTerrain.Thanks!
Recommended Posts