User:Z929669/Sandbox/HeaderTabs Functionality: Difference between revisions

From Step Mods | Change The Game
m (Text replace - "http://wiki.step-project.com" to "https://wiki.step-project.com")
m (Text replacement - "Guide:Skyrim_Installation" to "Guide:System Setup Guide")
 
(6 intermediate revisions by the same user not shown)
Line 2: Line 2:
{{alert|type=construction|size=90|text=This guide is currently under heavy revision. The information in some sections is accurate, but linked information may be out of 'order' or out of context with the current guide format.}}
{{alert|type=construction|size=90|text=This guide is currently under heavy revision. The information in some sections is accurate, but linked information may be out of 'order' or out of context with the current guide format.}}
<br />
<br />
{{TOC right}}
{{TOC}}
''A simplified guide to using DDSopt to improve texture quality & performance -- by z929669 & Kelmych & S.T.E.P. Team''
''A simplified guide to using DDSopt to improve texture quality & performance -- by z929669 & Kelmych & S.T.E.P. Team''
:Updated: {{ #time: G:i:s j F Y "(UTC)" | {{REVISIONTIMESTAMP}} }}
:Updated: {{ #time: G:i:s j F Y "(UTC)" | {{REVISIONTIMESTAMP}} }}
[https://forum.step-project.com/topic/190-wip-ddsopt-texture-overhauls/ '''GUIDE FORUM THREAD''']
[https://stepmodifications.org/forum/topic/190-wip-ddsopt-texture-overhauls/ '''GUIDE FORUM THREAD''']
----
----
<br />
<br />
Line 13: Line 13:


=== What is DDSopt? ===
=== What is DDSopt? ===
''DDSopt'' (created by [http://forums.bethsoft.com/user/656326-ethatron/ Ethatron]) offers optimization of texture files by eliminating redundancies, ensuring proper compression format, and recalculating scale-corrected mipmaps using a variety of custom algorithms. Several different types of [http://www.reallusion.com/iclone/Help/iClone3/15_Multiple_Channel_Texture_Mapping/Types_of_maps.htm texture files] are used in object modeling in Skyrim, and ''DDSopt'' can recognize most types and be told how to treat unknowns using a configuration file.
''DDSopt'' (created by [https://forums.bethsoft.com/user/656326-ethatron/ Ethatron]) offers optimization of texture files by eliminating redundancies, ensuring proper compression format, and recalculating scale-corrected mipmaps using a variety of custom algorithms. Several different types of [https://www.reallusion.com/iclone/Help/iClone3/15_Multiple_Channel_Texture_Mapping/Types_of_maps.htm texture files] are used in object modeling in Skyrim, and ''DDSopt'' can recognize most types and be told how to treat unknowns using a configuration file.


Although powerful and useful, ''DDSopt'' (and its little brother [[Guide:BSA_Extraction_and_Optimization|BSAopt]]) is a beta program that is no longer under development. As such, it lacks some bells and whistles and is not so simple to use without some instruction. Nevertheless, no other application exists with the functionality of ''DDSopt'', and it is simply the best application for optimizing, compressing and packaging texture assets for Skyrim, Oblivion and Fallout, period.
Although powerful and useful, ''DDSopt'' (and its little brother [[Guide:BSA_Extraction_and_Optimization|BSAopt]]) is a beta program that is no longer under development. As such, it lacks some bells and whistles and is not so simple to use without some instruction. Nevertheless, no other application exists with the functionality of ''DDSopt'', and it is simply the best application for optimizing, compressing and packaging texture assets for Skyrim, Oblivion and Fallout, period.


Modded texture packs are often composed of textures saved in an inefficient compression format in relation to the texture function. This translates into textures often being 2x larger than necessary or worse due to inclusion of redundancies that add no useful information. Like unnecessary white space in this guide, the net effect is that more graphic memory (VRAM) is required to render these 'bloated' textures, which in turn costs valuable resources and hampers performance.  In addition to bloat, improperly-formatted textures may also lack important information in the form of [https://wiki.step-project.com/Guide:DDSopt#tab=General_FAQ mipmap levels] (see Q1) required for scaling the textures in game. Visit the [http://obge.paradice-insight.us/wiki/DDSopt DDSopt page] on the OBGE Wiki to learn more about texture compression and technical details of DDSopt, and the [http://www.nexusmods.com/skyrim/mods/5755 ''DDSopt'' Nexus page] for more information on ''DDSopt'' functionality.
Modded texture packs are often composed of textures saved in an inefficient compression format in relation to the texture function. This translates into textures often being 2x larger than necessary or worse due to inclusion of redundancies that add no useful information. Like unnecessary white space in this guide, the net effect is that more graphic memory (VRAM) is required to render these 'bloated' textures, which in turn costs valuable resources and hampers performance.  In addition to bloat, improperly-formatted textures may also lack important information in the form of [https://stepmodifications.org/wiki/Guide:DDSopt#tab=General_FAQ mipmap levels] (see Q1) required for scaling the textures in game. Visit the [https://obge.paradice-insight.us/wiki/DDSopt DDSopt page] on the OBGE Wiki to learn more about texture compression and technical details of DDSopt, and the [https://www.nexusmods.com/skyrim/mods/5755 ''DDSopt'' Nexus page] for more information on ''DDSopt'' functionality.


=== Purpose of this Guide ===
=== Purpose of this Guide ===
The available web documentation on ''DDSopt'' is highly technical and not very extensive. This guide provides the bulk of available documentation on how to use ''DDSopt''. The guide includes information aimed at users across a wide range of backgrounds from mod developers with significant experience with Solid Modeling and the associated tools for creating and editing these models to new users with limited understanding of these models. For much of the material in the guide it is currently the only available source. The guide includes some step-by-step instructions along with explanations. This fulfills one of the goals of the guide which is to provide insight in using ''DDSopt'' so it can also be used for situations not described in detail in the specific steps listed in the guide.
The available web documentation on ''DDSopt'' is highly technical and not very extensive. This guide provides the bulk of available documentation on how to use ''DDSopt''. The guide includes information aimed at users across a wide range of backgrounds from mod developers with significant experience with Solid Modeling and the associated tools for creating and editing these models to new users with limited understanding of these models. For much of the material in the guide it is currently the only available source. The guide includes some step-by-step instructions along with explanations. This fulfills one of the goals of the guide which is to provide insight in using ''DDSopt'' so it can also be used for situations not described in detail in the specific steps listed in the guide.


As suggested by [http://forums.bethsoft.com/topic/1330609-if-youve-released-a-texture-mod-or-plan-to-please-read/page__view__findpost__p__20011839 Martigen], it is hoped that mod authors will adopt "best practices" that are put forth in this guide as standard procedure when creating textures for the modding community. The main goal is to facilitate proper implementation of ''DDSopt'' for modders and mod authors without requiring too much pain or need for hours of research and preparation. This guide's authors are not graphics experts or artists. The STEP community has modders with enough experience to recognize that ''DDSopt'' is quite useful for the purpose of improving performance and quality, and empirical evidence is presented here to support this claim. Thus, aside from being a practical guide to using ''DDSopt'' and some effective benefits of doing so, this guide also serves as a review and "DDSopt-''imization''" of some of the major texture overhauls including Bethesda's [[Guide:Skyrim_Installation#DLC|Hi-Res Texture Pack DLC]], Vano89's [http://skyrim.nexusmods.com/downloads/file.php?id=9080 Hi_Res DLC Optimized], Nebula's [http://skyrim.nexusmods.com/downloads/file.php?id=607 Skyrim HD], Starac's Skyrim Realistic Overhaul, Z4G4's [http://skyrim.nexusmods.com/downloads/file.php?id=2146 Serious HD Retexture Skyrim] and [http://tesalliance.org/forums/index.php?/files/file/1098-insanitys-texture-pack-skyrim/ Insanity's Texture Pack].
As suggested by [https://forums.bethsoft.com/topic/1330609-if-youve-released-a-texture-mod-or-plan-to-please-read/page__view__findpost__p__20011839 Martigen], it is hoped that mod authors will adopt "best practices" that are put forth in this guide as standard procedure when creating textures for the modding community. The main goal is to facilitate proper implementation of ''DDSopt'' for modders and mod authors without requiring too much pain or need for hours of research and preparation. This guide's authors are not graphics experts or artists. The STEP community has modders with enough experience to recognize that ''DDSopt'' is quite useful for the purpose of improving performance and quality, and empirical evidence is presented here to support this claim. Thus, aside from being a practical guide to using ''DDSopt'' and some effective benefits of doing so, this guide also serves as a review and "DDSopt-''imization''" of some of the major texture overhauls including Bethesda's [[Guide:System Setup Guide#DLC|Hi-Res Texture Pack DLC]], Vano89's [https://skyrim.nexusmods.com/downloads/file.php?id=9080 Hi_Res DLC Optimized], Nebula's [https://skyrim.nexusmods.com/downloads/file.php?id=607 Skyrim HD], Starac's Skyrim Realistic Overhaul, Z4G4's [https://skyrim.nexusmods.com/downloads/file.php?id=2146 Serious HD Retexture Skyrim] and [https://tesalliance.org/forums/index.php?/files/file/1098-insanitys-texture-pack-skyrim/ Insanity's Texture Pack].
<br /><br />
<br /><br />


Line 33: Line 33:
<ol>
<ol>
<li>Before using ''DDSopt'' for the first time, launch the game at least once so all the game configuration settings and some important registry values are initialized.</li>
<li>Before using ''DDSopt'' for the first time, launch the game at least once so all the game configuration settings and some important registry values are initialized.</li>
<li>Make sure the 2012 [http://www.microsoft.com/en-us/download/details.aspx?id=30679 Visual C++] redistributable from Microsoft is installed on the system; the current 32 bit and 64 bit versions are available. When using a 64 bit version of windows installing both the 32 and 64 bit versions is recommended.</li>
<li>Make sure the 2012 [https://www.microsoft.com/en-us/download/details.aspx?id=30679 Visual C++] redistributable from Microsoft is installed on the system; the current 32 bit and 64 bit versions are available. When using a 64 bit version of windows installing both the 32 and 64 bit versions is recommended.</li>
<li>Download [http://www.nexusmods.com/skyrim/download/1000006026 DDSopt 0.8 - pre-release - update 4] from the Nexus, and create a shortcut to the executable.</li>
<li>Download [https://www.nexusmods.com/skyrim/download/1000006026 DDSopt 0.8 - pre-release - update 4] from the Nexus, and create a shortcut to the executable.</li>
<li>Right click on the shortcut, go to the "Compatibility" tab, and check the box labeled "Run this program as an administrator", then click "Apply" and "OK". This ensures that ''DDSopt'' is run with administrative privileges so the chosen settings will "stick" between sessions. <span style="color:#ddd;">NOTE: If an error occurs stating that "d3dx9_43.dll is missing" when launching for the first time, then [http://www.microsoft.com/en-us/download/details.aspx?id=35 install or reinstall DirectX] to resolve.</span>
<li>Right click on the shortcut, go to the "Compatibility" tab, and check the box labeled "Run this program as an administrator", then click "Apply" and "OK". This ensures that ''DDSopt'' is run with administrative privileges so the chosen settings will "stick" between sessions. <span style="color:#ddd;">NOTE: If an error occurs stating that "d3dx9_43.dll is missing" when launching for the first time, then [https://www.microsoft.com/en-us/download/details.aspx?id=35 install or reinstall DirectX] to resolve.</span>
<li> Be sure to update to the [[Guide:DDSopt_%26_Texture_Overhauls/DDSoptINI|latest version of DDSopt.ini]], and place it into the same folder as the executable, overwriting the older version of this file. The ''DDSopt.ini'' file, described in more detail in the ''Appendix'', is used to configure texture-specific processing. Unlike some ''INI'' files, it does not affect the GUI or default GUI settings.</li>
<li> Be sure to update to the [[Guide:DDSopt_%26_Texture_Overhauls/DDSoptINI|latest version of DDSopt.ini]], and place it into the same folder as the executable, overwriting the older version of this file. The ''DDSopt.ini'' file, described in more detail in the ''Appendix'', is used to configure texture-specific processing. Unlike some ''INI'' files, it does not affect the GUI or default GUI settings.</li>
</ol>
</ol>
Line 47: Line 47:
|align=center
|align=center
|galleryitems=
|galleryitems=
{{GalleryItems|url=https://wiki.step-project.com/images/e/e2/DDSopt_Fig2.jpg|caption=Behave}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/e/e2/DDSopt_Fig2.jpg|caption=Behave}}
{{GalleryItems|url=https://wiki.step-project.com/images/c/ce/DDSopt_Fig3.jpg|caption=Apply}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/c/ce/DDSopt_Fig3.jpg|caption=Apply}}
{{GalleryItems|url=https://wiki.step-project.com/images/c/cc/DDSopt_Fig4.jpg|caption=Ignore}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/c/cc/DDSopt_Fig4.jpg|caption=Ignore}}
{{GalleryItems|url=https://wiki.step-project.com/images/f/f5/DDSopt_Fig5.jpg|caption=Compression}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/f/f5/DDSopt_Fig5.jpg|caption=Compression}}
{{GalleryItems|url=https://wiki.step-project.com/images/7/7e/DDSopt_Fig6.jpg|caption=Settings}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/7/7e/DDSopt_Fig6.jpg|caption=Settings}}
{{GalleryItems|url=https://wiki.step-project.com/images/f/fd/DDSopt_Fig7a.jpg|caption=Constraints}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/f/fd/DDSopt_Fig7a.jpg|caption=Constraints}}
{{GalleryItems|url=https://wiki.step-project.com/images/2/29/DDSopt_Constraint_Menu_Alt_Constraints.jpg|caption=Alternate Constraints}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/2/29/DDSopt_Constraint_Menu_Alt_Constraints.jpg|caption=Alternate Constraints}}
}}
}}


Line 61: Line 61:
|align=center
|align=center
|galleryitems=
|galleryitems=
{{GalleryItems|url=https://wiki.step-project.com/images/7/77/DDSopt_Fig2a.jpg|caption=Behave - Normal Maps}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/7/77/DDSopt_Fig2a.jpg|caption=Behave - Normal Maps}}
{{GalleryItems|url=https://wiki.step-project.com/images/5/59/DDSopt_Fig2b.jpg|caption=Behave - Foliage Maps}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/5/59/DDSopt_Fig2b.jpg|caption=Behave - Foliage Maps}}
{{GalleryItems|url=https://wiki.step-project.com/images/a/ad/DDSopt_Fig2c.jpg|caption=Behave - Color Maps}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/a/ad/DDSopt_Fig2c.jpg|caption=Behave - Color Maps}}
{{GalleryItems|url=https://wiki.step-project.com/images/1/1e/DDSopt_Fig2d.jpg|caption=Behave - Alpha Maps}}
{{GalleryItems|url=https://stepmodifications.org/wiki/images/1/1e/DDSopt_Fig2d.jpg|caption=Behave - Alpha Maps}}
}}
}}


===Main Menu Setting Descriptions:===
===Main Menu Setting Descriptions:===
{{Sidebox|right|width=600|What are mip-maps??|Mip-maps are resampled, downscaled versions of the primary image that exist at each resolution level underneath the resolution of the parent image (e.g., if the texture resolution is 256x256, then it should have embedded mip-maps at 128x128, 64x64, 16x16, 4x4, 2x2, and 1x1 resolutions). This is important in situations where the image is being viewed from varying 'distances' or steep angles, as in a game like Skyrim. Mip-maps are embedded within the texture itself and each mip level can be reviewed for a texture in the ''Preview'' tab (more on the ''Preview'' tab below). When DDSopt optimizes textures, it will recalculate the relevant mip-maps for the image and apply applicable changes at each mip level. Therefore, it is always wise to at least check some of the mip levels when reviewing a texture in the ''Preview'' tab.}}  
{{Sidebox|float=right|width=600|What are mip-maps??|Mip-maps are resampled, downscaled versions of the primary image that exist at each resolution level underneath the resolution of the parent image (e.g., if the texture resolution is 256x256, then it should have embedded mip-maps at 128x128, 64x64, 16x16, 4x4, 2x2, and 1x1 resolutions). This is important in situations where the image is being viewed from varying 'distances' or steep angles, as in a game like Skyrim. Mip-maps are embedded within the texture itself and each mip level can be reviewed for a texture in the ''Preview'' tab (more on the ''Preview'' tab below). When DDSopt optimizes textures, it will recalculate the relevant mip-maps for the image and apply applicable changes at each mip level. Therefore, it is always wise to at least check some of the mip levels when reviewing a texture in the ''Preview'' tab.}}  
The following explanation of settings are taken largely from [http://obge.paradice-insight.us/wiki/DDSopt Ehatron's OBGE page] and augmented with information provided by Ethatron or gleaned ourselves, so it is incomplete and may even have some misinformation. Revisions to inaccuracies are always welcome for that to which we remain uncertain {{Fc|#D8E058|... these speculations are highlighted in yellow}}.
The following explanation of settings are taken largely from [https://obge.paradice-insight.us/wiki/DDSopt Ehatron's OBGE page] and augmented with information provided by Ethatron or gleaned ourselves, so it is incomplete and may even have some misinformation. Revisions to inaccuracies are always welcome for that to which we remain uncertain {{Fc|#D8E058|... these speculations are highlighted in yellow}}.
* {{Fc|#e6b69e|'''Game'''}}: Indicates the game for which texture optimization applies. Behavior is assumed to be dependent upon this selection. Select ''Skyrim'' to be safe.
* {{Fc|#e6b69e|'''Game'''}}: Indicates the game for which texture optimization applies. Behavior is assumed to be dependent upon this selection. Select ''Skyrim'' to be safe.
* {{Fc|#e6b69e|'''Behave'''}}: This is a complex menu with many options. Since it only has one child (Textures), which is broken down into a submenu, it is clear that either more 'children' were to be incorporated in later development of ''DDSopt'', or this is a relic from ''NIFopt'' from which ''DDSopt'' was ported.
* {{Fc|#e6b69e|'''Behave'''}}: This is a complex menu with many options. Since it only has one child (Textures), which is broken down into a submenu, it is clear that either more 'children' were to be incorporated in later development of ''DDSopt'', or this is a relic from ''NIFopt'' from which ''DDSopt'' was ported.
** {{Fc|#e6b69e|''Produce partial derivative tangent-space normal-maps''}}: Ensures that [http://obge.paradice-insight.us/wiki/Modder%27s_Manual Ethatron's custom algorithm] is applied when converting tangent-space normal maps. This should always be checked.
** {{Fc|#e6b69e|''Produce partial derivative tangent-space normal-maps''}}: Ensures that [https://obge.paradice-insight.us/wiki/Modder%27s_Manual Ethatron's custom algorithm] is applied when converting tangent-space normal maps. This should always be checked.
** {{Fc|#e6b69e|''Raise normal-map steepness each mip-level''}}: Recovers some normal-map contrast (curvature) when it becomes washed out from mip-map down-scaling.
** {{Fc|#e6b69e|''Raise normal-map steepness each mip-level''}}: Recovers some normal-map contrast (curvature) when it becomes washed out from mip-map down-scaling.
** {{Fc|#e6b69e|''Raise foliage-map opacity each mip-level''}}: {{Fc|#D8E058|We think that this increases opacity of foliage edges (small leaves and branches) that tend to disappear from alpha mip-map down-scaling.}} This tweak works nicely for vanilla foliage textures, but is not appropriate for mods that already compensate for this, like [[Skyrim Flora Overhaul]].
** {{Fc|#e6b69e|''Raise foliage-map opacity each mip-level''}}: {{Fc|#D8E058|We think that this increases opacity of foliage edges (small leaves and branches) that tend to disappear from alpha mip-map down-scaling.}} This tweak works nicely for vanilla foliage textures, but is not appropriate for mods that already compensate for this, like [[Skyrim Flora Overhaul]].
** {{Fc|#e6b69e|''Gamma-correct mip-map filtering for color-maps''}}: Enforces resampling of mip-levels in [http://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html gamma space].
** {{Fc|#e6b69e|''Gamma-correct mip-map filtering for color-maps''}}: Enforces resampling of mip-levels in [https://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html gamma space].
** {{Fc|#e6b69e|''Contrast-correct mip-map filtering for alpha-maps''}}: {{Fc|#D8E058|This may be similar to "Raise foliage-map opacity each mip-level", but for non-foliage textures. This may effectively sharpen the edges to increase contrast in some textures.}}
** {{Fc|#e6b69e|''Contrast-correct mip-map filtering for alpha-maps''}}: {{Fc|#D8E058|This may be similar to "Raise foliage-map opacity each mip-level", but for non-foliage textures. This may effectively sharpen the edges to increase contrast in some textures.}}
** {{Fc|#e6b69e|''Normal-map steepness raise''}}: Magnitude setting for "Raise normal-map steepness each mip-level".
** {{Fc|#e6b69e|''Normal-map steepness raise''}}: Magnitude setting for "Raise normal-map steepness each mip-level".
Line 106: Line 106:
=====Source=====
=====Source=====
This is the directory/BSA which DDSopt will scan recursively and display in the tree-window below. BSAs in directories will be scanned recursively. Click [Browse] to invoke the browser pop-up. To operate on folders, click on the directory to highlight, and click on [Use folder].  
This is the directory/BSA which DDSopt will scan recursively and display in the tree-window below. BSAs in directories will be scanned recursively. Click [Browse] to invoke the browser pop-up. To operate on folders, click on the directory to highlight, and click on [Use folder].  
{{alert small|type=notice|text=DDSopt automatically remembers the most recent directory locations chosen and will re-scan them the next time DDSopt is started, so when working with large directories it may be prudent to reset to smaller directories when all operations have been performed before exiting DDSopt.}}  
{{AlertSmall‏‎|type=notice|text=DDSopt automatically remembers the most recent directory locations chosen and will re-scan them the next time DDSopt is started, so when working with large directories it may be prudent to reset to smaller directories when all operations have been performed before exiting DDSopt.}}  


=====Directory Tree Browser=====
=====Directory Tree Browser=====
Line 122: Line 122:
* <code>interface</code> - anything with the word 'interface' within the file/path
* <code>interface</code> - anything with the word 'interface' within the file/path
* <code>\\interface</code> - any path/file containing '\interface'
* <code>\\interface</code> - any path/file containing '\interface'
{{alert small|type=notice|text=The filter tool is very handy when combined with selection via the directory tree above it and the check/uncheck tools beside it. Used properly, this is much simpler and more customizable than using the batch script to differentially apply treatments to textures by location and name.}}
{{AlertSmall‏‎|type=notice|text=The filter tool is very handy when combined with selection via the directory tree above it and the check/uncheck tools beside it. Used properly, this is much simpler and more customizable than using the batch script to differentially apply treatments to textures by location and name.}}


=====File/Path Browser=====
=====File/Path Browser=====
Line 136: Line 136:
=====Destination=====
=====Destination=====
The destination directory or BSA. use the [Browse] button same as above.
The destination directory or BSA. use the [Browse] button same as above.
{{alert small|type=notice|text=In order to package the output into a BSA archive, append the archive name with extention as <code>PATH\MyOptimizedTextures.bsa</code>.}}
{{AlertSmall‏‎|type=notice|text=In order to package the output into a BSA archive, append the archive name with extention as <code>PATH\MyOptimizedTextures.bsa</code>.}}


====<u>Preview Tab</u>====
====<u>Preview Tab</u>====
Line 199: Line 199:
* DDSopt-Oblivion.ini  
* DDSopt-Oblivion.ini  
* DDSopt-Skyrim.ini
* DDSopt-Skyrim.ini
The first is always read in, the other are read in dependent on the game you selected in the menu.{{alert small|type=notice|text=Changes to the INI file impact the current DDSopt session upon save.}}
The first is always read in, the other are read in dependent on the game you selected in the menu.{{AlertSmall‏‎|type=notice|text=Changes to the INI file impact the current DDSopt session upon save.}}
This feature is practical when textures can not be matched by suffixes (like _n for tangent-space normal-maps). Also, the default behavior for Oblivion is to assume the alpha-channel can be anything, but for Skyrim it assumes by default that the alpha-channel is used for opacity. The INI allows specification of the base texture type and its use of the alpha channel (if present and used). DDSopt automatically applies specific treatments to Skyrim textures based on [[Guide:DDSopt#Constraints_Tab|file directory location and/or file-name suffix]], so the INI serves as a means to specify exceptions to these built-in rules.
This feature is practical when textures can not be matched by suffixes (like _n for tangent-space normal-maps). Also, the default behavior for Oblivion is to assume the alpha-channel can be anything, but for Skyrim it assumes by default that the alpha-channel is used for opacity. The INI allows specification of the base texture type and its use of the alpha channel (if present and used). DDSopt automatically applies specific treatments to Skyrim textures based on [[Guide:DDSopt#Constraints_Tab|file directory location and/or file-name suffix]], so the INI serves as a means to specify exceptions to these built-in rules.


Line 206: Line 206:
# Defining the compression format on the 'base' channel. Base channels are always used.
# Defining the compression format on the 'base' channel. Base channels are always used.
# Defining the content and purpose of the 'alpha' channel. The alpha channel is often not used.
# Defining the content and purpose of the 'alpha' channel. The alpha channel is often not used.
{{alert small|type=notice|text=The 'base' usually contains 3 channels, which can mean 3 independent channels, or color or a vector, or xy + height etc.}}  
{{AlertSmall‏‎|type=notice|text=The 'base' usually contains 3 channels, which can mean 3 independent channels, or color or a vector, or xy + height etc.}}  


====Compression Formats====
====Compression Formats====
Line 265: Line 265:


====<u>Texture Viewers</u>====
====<u>Texture Viewers</u>====
: [http://developer.amd.com/resources/archive/archived-tools/gpu-tools-archive/the-compressonator AMD's Compressonator] - useful diff tool for texture comparisons of textures before and after processing through DDSopt.
: [https://developer.amd.com/resources/archive/archived-tools/gpu-tools-archive/the-compressonator AMD's Compressonator] - useful diff tool for texture comparisons of textures before and after processing through DDSopt.
: [http://www.irfanview.com/ Irfanview] - A very compact but useful image viewer with support for DDS file types and other advanced features.
: [https://www.irfanview.com/ Irfanview] - A very compact but useful image viewer with support for DDS file types and other advanced features.





Latest revision as of 04:12, August 26, 2024

Weapon.png

WIP

This guide is currently under heavy revision. The information in some sections is accurate, but linked information may be out of 'order' or out of context with the current guide format.


A simplified guide to using DDSopt to improve texture quality & performance -- by z929669 & Kelmych & S.T.E.P. Team

Updated: 4:12:39 26 August 2024 (UTC)

GUIDE FORUM THREAD



[edit]

Textures are game assets that wrap around object models in games like Skyrim. These textures provide the colors and details of all objects. Think of textures as the paint and models (meshes) as the canvas. In short, textures play a major and fundamental role in making games like Skyrim aesthetically enjoyable. Textures can be quite large, however, and they are often primarily responsible for performance limits. Unfortunately, many of the fantastic textures produced by Bethesda artists and modders for Skyrim do not exist in an optimal format. There are trade-offs for quality and performance, and there is quite a lot of room for improvement in this area. Thankfully, we have DDSopt to rectify these issues.

What is DDSopt?

DDSopt (created by Ethatron) offers optimization of texture files by eliminating redundancies, ensuring proper compression format, and recalculating scale-corrected mipmaps using a variety of custom algorithms. Several different types of texture files are used in object modeling in Skyrim, and DDSopt can recognize most types and be told how to treat unknowns using a configuration file.

Although powerful and useful, DDSopt (and its little brother BSAopt) is a beta program that is no longer under development. As such, it lacks some bells and whistles and is not so simple to use without some instruction. Nevertheless, no other application exists with the functionality of DDSopt, and it is simply the best application for optimizing, compressing and packaging texture assets for Skyrim, Oblivion and Fallout, period.

Modded texture packs are often composed of textures saved in an inefficient compression format in relation to the texture function. This translates into textures often being 2x larger than necessary or worse due to inclusion of redundancies that add no useful information. Like unnecessary white space in this guide, the net effect is that more graphic memory (VRAM) is required to render these 'bloated' textures, which in turn costs valuable resources and hampers performance. In addition to bloat, improperly-formatted textures may also lack important information in the form of mipmap levels (see Q1) required for scaling the textures in game. Visit the DDSopt page on the OBGE Wiki to learn more about texture compression and technical details of DDSopt, and the DDSopt Nexus page for more information on DDSopt functionality.

Purpose of this Guide

The available web documentation on DDSopt is highly technical and not very extensive. This guide provides the bulk of available documentation on how to use DDSopt. The guide includes information aimed at users across a wide range of backgrounds from mod developers with significant experience with Solid Modeling and the associated tools for creating and editing these models to new users with limited understanding of these models. For much of the material in the guide it is currently the only available source. The guide includes some step-by-step instructions along with explanations. This fulfills one of the goals of the guide which is to provide insight in using DDSopt so it can also be used for situations not described in detail in the specific steps listed in the guide.

As suggested by Martigen, it is hoped that mod authors will adopt "best practices" that are put forth in this guide as standard procedure when creating textures for the modding community. The main goal is to facilitate proper implementation of DDSopt for modders and mod authors without requiring too much pain or need for hours of research and preparation. This guide's authors are not graphics experts or artists. The STEP community has modders with enough experience to recognize that DDSopt is quite useful for the purpose of improving performance and quality, and empirical evidence is presented here to support this claim. Thus, aside from being a practical guide to using DDSopt and some effective benefits of doing so, this guide also serves as a review and "DDSopt-imization" of some of the major texture overhauls including Bethesda's Hi-Res Texture Pack DLC, Vano89's Hi_Res DLC Optimized, Nebula's Skyrim HD, Starac's Skyrim Realistic Overhaul, Z4G4's Serious HD Retexture Skyrim and Insanity's Texture Pack.

Category:Headertabs vs TOC