User:SirYodaJedi/Porting IdTech 3 maps to Source/Shader2VMT: Difference between revisions
SirYodaJedi (talk | contribs) mNo edit summary |
SirYodaJedi (talk | contribs) |
||
Line 2: | Line 2: | ||
== Per material == | == Per material == | ||
=== SurfaceParm commands === | |||
; alphashadow | |||
This uses the alpha channel of q3map_lightImage to cast [[texture shadows]]. | |||
; nolightmap | |||
Lightmaps are not generated for this material. | |||
This does '''not''' necessarily mean the surface is unlit; it still per-vertex lighting calculated for it unless q3map_noVertexLight is used (but whether they are actually used depends upon if rgbGen vertex is used, afaik) | |||
=== Q3Map_* commands === | |||
; q3map_lightImage | |||
This is used for texlight color, bounced light reflectivity, and texture shadows (both opaque and color-tinted). | |||
If the lightImage texture is a JPG, then {{code|<texturename>_alpha.jpg}} should be treated as the alpha channel, if present. | |||
; q3map_normalImage | |||
This is a normal map, which is used to create shadows when baking lightmaps, simulating bumpmapping. Source supports real bumpmapping (which looks a lot better when interacting with dynamic lights), so go ahead and use this as a {{ent|$bumpmap}}. | |||
=== Other === | |||
; qer_editorImage | ; qer_editorImage | ||
This is roughly equivalent to [[%tooltexture]], although it differs slightly in that it can also be used in the 3D view for alignment purposes. | This is roughly equivalent to [[%tooltexture]], although it differs slightly in that it can also be used in the 3D view for alignment purposes. |
Revision as of 20:23, 8 June 2024
Some miscellanea for the User:SirYodaJedi/Porting IdTech 3 maps to Source#Converting materials section that would bloat the page if put there.
Per material
SurfaceParm commands
- alphashadow
This uses the alpha channel of q3map_lightImage to cast texture shadows.
- nolightmap
Lightmaps are not generated for this material. This does not necessarily mean the surface is unlit; it still per-vertex lighting calculated for it unless q3map_noVertexLight is used (but whether they are actually used depends upon if rgbGen vertex is used, afaik)
Q3Map_* commands
- q3map_lightImage
This is used for texlight color, bounced light reflectivity, and texture shadows (both opaque and color-tinted). If the lightImage texture is a JPG, then <texturename>_alpha.jpg should be treated as the alpha channel, if present.
- q3map_normalImage
This is a normal map, which is used to create shadows when baking lightmaps, simulating bumpmapping. Source supports real bumpmapping (which looks a lot better when interacting with dynamic lights), so go ahead and use this as a $bumpmap.
Other
- qer_editorImage
This is roughly equivalent to %tooltexture, although it differs slightly in that it can also be used in the 3D view for alignment purposes.
- cull none
- cull disable
- deformVertexes autoSprite
$spriteorientation VP_PARALLEL
- deformVertexes autoSprite2
$spriteorientation VP_PARALLEL_ORIENTED
- noMipMaps
Set the "no mipmaps" flag in the applicable VTFs
- noPicMip
Set the "No LoD" flag in the applicable VTFs
- noTC (in JK2, JA)
- noCompress (in WolfET)
Don't use DXTn texture compression when creating the applicable VTFs (use BGR565, BGR888, or BGRA8888)
- allowcompress (in WolfET)
Use DXT1 or DXT5 texture compression when creating the applicable VTFs, even if you are making most of the VTFs uncompressed
Per texture stage
- map
This is the texture. It may be any sort of texture, not necessarily just a diffuse texture.
- clampMap
Like `map`, but clamps the UV coordinates to prevent usage as a tiled texture. Set these in the VTF.
- animMap
Like `map`, but animated; up to 8 frames in vanilla Quake III. The number before the texture list indicates the frame rate. Combine these into a single VTF and use a material proxy to set the animation.
- videoMap
Like `animMap`, but uses a ROQ video file instead of defining a set of individual image files. This allows for much longer animations, but lacks an alpha channel. Use ffmpeg -i input.roq out%03d.png to extract all the frames from the ROQ, and ffprobe input.roq to determine the original framerate.
- blendFunc
Can blend textures together (detail textures, glowing textures, etc.), be used for translucency, or even do specular lighting, depending upon parameters and stage position.
- alphaFunc
Alphatesting. Unlike ,
supports alpha-clipping translucent textures. Any textures with translucency will need to not have alpha-testing when ported to
, and may need to be edited (to sharpen the alpha channel). It takes one parameter:
Parameter | Description | VMT equivalent and additional setup |
---|---|---|
GT0 | Greater Than 0.
Usually used in conjunction with a translucent blendFunc, to avoid rendering the surface where completely transparent. |
If not translucent (rare): |
LT128 | Less Than 128.
This designates an inverted alpha channel. |
If not translucent:
First invert the alpha channel in an image editor (linear invert). |
GE128 | Greater than or Equal to 128.
Standard alpha testing; anything less than 127 will be transparent, and anything greater than or equal to 128 will be opaque. |
If not translucent: |
GE192 | Greater than or Equal to 192.
Added in Jedi Academy. Like GE128, but with the clipping threshold set to 192 |
If not translucent: |