Hello fellow Outerrians!
With everyone asking about mipmaps and the performance problems they are causing, I thought I would share a method to batch compress all the dds textures in your Anteworld folder.
Download the latest version of TheCompressonator (
http://developer.amd.com/tools-and-sdks/archive/legacy-cpu-gpu-tools/the-compressonator/ )
Assuming you only need to add mipmaps to the diffuse textures (albedo), than you will need to:
Copy both packages folders, /Anteworld/packages where outerra packages are located and /Anteworld_Data/packages where mods are located. Copy both packages folders to some arbitrary location, I used C:/MIPMAP/Anteworld/packages and C:/MIPMAP/Anteworld_Data/packages, to keep the folder names the same, as these are the folders you will batch process and re-merge with the originals. We need to maintain the 'directory structure', of each package folder, so that after batch processing the folders can be merged together, maintaining the directory structure of all the files. This process is necessary to target only the
diffuse textures, and
not to alter the normal, opacity, roughness, reflection, environ, etc... maps.
Search the directory you copied the package folders to for the 'dds' extension. The result is a full list of all the dds files in both packages folders. I went through the list by hand and deleted all of them that were not diffuse, since we only want to process the diffuse ones remaining. Tips: you can search for different types of maps using common names such as norm.dds, nrm.dds, normal.dds, etc.. to help expedite the process of deleting these. Different artists uses different naming conventions, so you'll have to go through the entire list manually for a final check to make sure ONLY THE DIFFUSE MAPS REMAIN!
Open Compressonator, navigate to and select 'File' tab ---> 'Batch Compression' tool. For processing diffuse maps, I used the following settings. Note: I do not know if Box-Filter is the most optimal, but it worked for me.
NOTE: It is very important that the format of the compression algorithm matches the type of map, as specified by Outerra. Since we are dealing with only diffuse/albedo, the DXT1 format is used.
"name" : "example", // material name
"color" : "1.0,1.0,1.0,1.0", // albedo multiplier (in linear space not sRGB)
"f0" : ".04", // F0 reflection coefficient for fresnel equation, range 0-1
"roughness" : "1.0", // roughness parameter range 0-1, 0 - glossy, 1 - matte
"no_light" : false, // if false lights are not computed for this material
"alpha_masked" : false, // true means it's alpha masked geometry pixels below 0.5 are discarded
"tex_albedo" : "m210_body_color.dds", // albedo texture must be DXT1 format
"tex_normal" : "m210_body_normal.dds", // normal texture must be DXT5/3dc2/ATI2 format
"tex_roughness" : "m210_body_specular.dds", // roughness texture (usually negative specular map) must be in BC4/ATI1 format
"tex_opacity" : "", // opacity texture must be in BC4/ATI1 format
"tex_reflectance" : "", // F0 reflection map must be in BC4/ATI1 format
"tex_environment" : "" // local environment map (not used yet) must be in DXT1 format
Batch compression can take anywhere from a few minutes to several hours depending on the size, for me it took nearly 13 hours for 15 GB of data.
Upon completion, back up your original packages folders in both the Anteworld/ and Data/ directories. I like to zip up the folders (download
7zip) and name them packages-backup.zip. This way, if I mess up the original, I can delete the entire directory and copy the backup over from the zip file, which also saves room. It is a convenient and safe method to make sure you don't do something wrong.
Once you've backed up the original packages folders, copy
ONLY the new
packages folders from MIPMAPS/Anteworld/ and MIPMAPS/Anteworld_Data into the corresponding original directories. packages/outerra/ should go to /Anteworld/,
don't confuse them. If the names have not been changed the packages will ask if you want to
Merge the Folders, select
Yes, and
Replace all the files.
If done correctly, all the diffuse/albedo textures should be replaced with mipmapped ones, and none of the other textures should have been modified. You can check the Date Modified to make sure.
IN CONCLUSION: You can always simply open the textures one by one in Photoshop or TheCompressonator, or Gimp, etc..., add mipmaps and save them one by one. For small volumes, I suggest that simple manual method. However, if you are dealing with large numbers of files, the method I have described is the only way I have found to do it. While it took 13 hours to process all the data, it would have taken me many weeks or even months to do that manually.
NOTE: If there is a better tool to search through the copied folders by what format the DDS files have, it would be much easier to delete all the ones that are not DXT1.
Hope this helps!
Best regards,
Uriah