Vtex compile parameters: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(→‎Parameters: removed false bit about normal implying trilinear and nocompress)
Tag: Redirect target changed
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Vtex]] can accept a list of additional compile parameters during its execution. These parameters are optional, but sometimes necessary to get a good result.
#REDIRECT[[VTEX_(Valve_Texture_Tool)#Compile_parameters]]
 
The list is written in the form of a simple text (.txt) document with the same name as the [[TGA|targa (.tga)]] image to compile, and it should be put in the same folder as it, namely in the <code>SteamApps/common/gamefolder/materialsrc/</code> folder, where ''gamefolder'' is the game folder of the current game (<code>cstrike</code>/<code>dod</code>/<code>hl2</code>/<code>hl2mp</code>).
 
Example usage from one of the files for the console background:
 
<pre>
nonice 1
nolod 1
nomip 1
</pre>
 
 
== Parameters ==
 
; allmips
: Force texture to use all mipmaps (No minimum mipmap).
; alphatest_hifreq_threshhold
; alphatest_threshhold
; alphatest
: {{todo|What do these do?}}
; alphatodistance
: Creates alpha-to-distance textures.
; anisotropic
: Force at least Anisotropic filtering on the compiled texture.
; bumpscale
: Sets texture's bumpscale value, which controls normal map intensity.
; clamps
; clampt
; clampu
: Do not allow the texture to wrap in the S, T, or U coordinate space, respectively. This is most often used for sprites that are not tiled. {{tip|When a texel is requested that is outside of the texture, one of two techniques is used: '''Clamping''' limits the texel to the texture size, moving it to the nearest if it is more than the texture size. '''Wrapping''' makes the texel move back into the texture by increments (each to size of the texture). Wrapping causes a texture to be repeated; clamping causes it to be in one spot only.}}
; distancespread
: How much to spread alpha when creating alpha-to-distance textures.
; dudv
: Texture is a Du/Dv map.
; dxt5
: Force [[DirectX Texture compression 5|DXT5]] compression, even if the source has no alpha channel.
; maxheight
; maxheight_360
; maxwidth
; maxwidth_360
: Sets maximum texture size for "High" (mat_picmip 0) texture quality. Negative mat_picmip settings will go above this limit.
; mipblend
: {{todo|Figure out how to make this work}}
; nocompress
: Do not use compression on this texture. Useful for textures with fine gradation (like light halos).
; nodebug
: No debug override.
; nolod
: Do not use lower resolution versions of this texture regardless of texture quality (mat_picmip) settings. Used for non-world graphics such as HUD art.
; nomip
: Do not use mipmapping for this texture. Used for materials like skyboxes and menu backgrounds. {{bug|The MIPs are still generated and loaded! Use [[VTFEdit]] to reduce texture footprint.}}
; nonice
: Do not use [[NICE filtering]] on this texture’s lower mip-levels.
; normal
: Texture is a normal map. Implies <code>nonice</code>, so all normals will be kept normalized during mipmap generation.
{{note|Automatically applies when the texture name ends with <code>_normal</code>}}
; normalalphatodudvluminance
: Use alpha channel as luminance when converting from normal maps to Du/Dv maps
; normaltodudv
: Converts the texture to a Du/Dv map.
; numchannels
: How many channels to import from source file. (1 = Red only, 2 = Red and Green, 3 = RGB, 4 = RGB + Alpha) Omitted color channels are replaced with full color intensity.
; oneovermiplevelinalpha
: Alpha channel fades out as mipmaps get smaller.
; pfm
: Source texture is a portable floatmap. Used for HDR.
; pfmscale (float)
: Used to scale floatmap intensity.
; pointsample
: Do not filter this texture in-game.
; premultcolorbyoneovermiplevel
: Color channel fades out as mipmaps get smaller. Used when converting normal maps to Du/Dv maps.
; procedural
: Texture is procedural.
; reduce
; reducex
; reducey
: Downscales on both, only X, or only Y axes, respectively. Value must be a power of two, and tells VTEX how to reduce the dimensions (2 = half size, 4 = quarter size, 8 = eighth size, etc.).
; rendertarget
: Texture is a rendertarget.
; singlecopy
: {{todo|What does this do??}}
; skybox
: Used for compiling [[skybox]]es. This assures the edges match between each facet.
; spheremap_negz
; spheremap_z
; spheremap_negy
; spheremap_y
; spheremap_negx
; spheremap_x
: {{todo|Are these functional?}}
; ssbump
: Used for [[$ssbump|self-shadowing bump maps]].
{{note|Automatically applies when the texture name ends with <code>_height-ssbump</code>}}
; startframe (integer)
; endframe (integer)
: Used for animated textures. Textures must be named as ''texture000'', ''texture001'', ''texture002'', etc. The ''startframe'' defines the beginning frame and the ''endframe'' defines the ending frame. Up to 1,000 frames are allowed.
; stripalphachannel
: Used to tell Vtex to ignore the source texture's alpha channel.
; stripcolorchannel
: Used to create a texture with no color data.
; trilinear
: Force at least Trilinear filtering on the compiled texture.
; volumetexture
: Creates a volumetric texture.
 
== using .psd 'file info' parameters ==
 
Textures compiled from .psd files can have command line parameters saved into the .psd directly. To do this, use the 'File Info' menu in Photoshop and add your Vtex commands into the "description" text field.  These parameters will get evaluated by Vtex when the .psd file is compiled. 
 
Here's an example of usage for creating a flashlight that won't tile:
 
<pre>
clamps 1;
clampt 1;
border 0;
</pre>
 
==See also==
 
* [[Vtex]]
* [[Vtex CLI use]]
* [[Material Creation]]
 
[[Category: Tools]]
[[Category: Material System]]

Latest revision as of 16:40, 19 January 2025