Post tutorial RSS [Gmax/RenX] Basic Understanding Of Vertex Material Editing

This tutorial explains the basics of texture mapping in the Gmax & RenX 3D Modeling and Animation Software. I have provided some of my own personal notes to help Modders for C&C Renegade and C&C Generals. However, some of this information may also be able to assist Modders for C&C3; and RA3.

Posted by on - Advanced Skinning

RenX Splash Screen




Vertex Material Introduction:
This is the Standard material or texture for the geometry in your scene. It's important to realize that many items in here are co-dependent on each other, some things only work when others are enabled and to best get acquainted with it, experiment around to find the most useful combination.

(Arguments) window allows you to enter in specific information that you'd want the mapper to do. When you see the Arguments listed in here for each type, do not include the "( )" parenthesis in your actual argument but you can edit the values and the types are as follows:

(float) - any real number, ex: 1.8
(int) - any integer, e.g:: -.5
(bool) - either TRUE or FALSE

This kinda works in the same manner as the game code as only specific functions will work with certain mapping types, (see the mapping types for a list of the arguments allowed for that type). All arguments are CaSe SeNSiTiVe, they have to be typed in exactly as shown.
New mappers will only work on the DX8 and WW3D2 or later versions up to W3X. Pre-DX8 viewers will not work.

Blend Modes:

The map or color in its normal state with No Alpha opacity, and No blended overlay.

Looks at the color information in each channel and brightens the base color reflecting the colors behind it, creating the effect of an additive overlay. It creates an opacity value based on the grayscale levels of the map.

Looks at the color information in each channel and multiplies the base color by the blend color. The result color is always a darker color. Multiplying any color with black produces black. It creates an opacity value based on the inverted grayscale levels of the map.
(Blacks are opaque, whites are transparent)

Multiply and Add:
Multiplies the base colors by themselves, lights become brighter, darks become darker. It creates an opacity value based on the inverted alpha levels of the map.
(Blacks are opaque, whites are transparent)

Similar to Add but not burning the brightness levels as much. It creates an opacity value based on the grayscale levels of the map.

Alpha Blend:
The map or color in its normal state, If the map contains an alpha channel; it uses the alpha channels grayscale values to establish the opacity of the map.

Alpha Test:
The map or color in its normal state, If the map contains an alpha channel, it uses the alpha channel to establish the opacity of the map however, it adjusts the threshold of the alpha channel to make it higher in contrast, no grays just black and white, resulting in harsher edges in the opacity.

Alpha Test and Blend:
Combines aspects from Alpha Test and Alpha blend.


Ambient Color:
The c
olor of the object's shaded portion.

Diffuse Color:
The color that the object reflects when illuminated by lighting, the base color of the object.
Acts as the base of the alpha levels in a map, however, It wont be effected by light, similar to a self illumination shader in max.

Specular Color:
Similar to Diffuse except it will be rendered as a sharper and more detailed effect over a concentrated area.

Emissive Color:
Is an additional
color source that is added in the final light of an object. This is only
because it is an effect meant for the object to simulate giving off its own light.

For in-game vertice coloring; If emissive is any color other than black, ambient and diffuse have to be black. If emissive is black, ambient and diffuse may be any color, but the colors must be the same color.

Opacity sets the opacity of the mesh, 1 = 100% opaque, and 0 = completely transparent.

Doesn't always work correctly with the shader blending mode "opaque". Also note; when used in conjunction with the "alpha test" shader blending mode, the texture map you choose must have an alpha channel in it, for this to display correctly.:

Stage 0 Mapping:
This area is where you select the way the mesh will display in its environment. Refer to the Shader tab (blend area) to adjust more properties and to load a bitmap. When creating a Texture map for use with any type except "UV", you must flip your map vertically so that it will appear upside down in order for it to work correctly.

Stage 0 Mapping Types:
Also known as "Mappers", Blending modes for the mesh in it's environment.

For use with normal UV Mapping coordinates

Uses the normals to look up the environment map. A hotspot of light always comes from top right no matter which direction the object or camera is facing.

It has a couple downsides. It doesn't show the graduation of light across a flat surface as well as a World Space environmental and when used in conjunction with camera tracking the object, it wont appear to be as real because the light source remains constant.

Classic Environment:
Similar to Environment; uses the reflection to look up the environment map, overall object has more contrast, (better for simulating metallic objects)

Takes the screen coordinate and uses that as the UV coordinate, this makes the map always facing the camera.

UScale=(float)e.g: 3.0
VScale=(float) e.g: 0.5
UPerSec=(float) e.g: -0.1
VPerSec=(float) e.g: 1.0

This can be best used to simulate a sky reflection effect for water surfaces when viewed from a birds eye view.

Linear Offset:
Same mapping type as "UV" except it allows you to make the texture scroll across the map at a speed specified in the arguments box. The Scrolling speed works on 1 unit per second basis. U is for horizontal,
positive values move it left while (-) negative values move it right (based on UV mapping coordinates). V is for vertical, positive values move it down while (-) negative values move it up (based on UV mapping coordinates)
UPerSec=(float) e.g: -0.3
VPerSec=(float) e.g: 5.0

This is good to use for things such as tank treads, water, and light effects.

Scales the UV coordinates, useful for detail mapping.

UScale=(float) e.g: 3.0
VScale=(float) e.g: 0.5

(Using a Grid Map Texture)
For use with a "Grid Bitmap" Similar to how the "Frame / UCoordinate" works in the emitter system;
A grid bitmap
is divided into individual frames that the computer reads as a grid, left to right, top to bottom, one frame at a time and displays each section of the grid as a single frame, then the next frame then so on, until it cycles through back to the beginning. This effect creates an animated map. You can Adjust the speed of your map in frames per second (FPS).

FPS=(float) e.g: 29.5
Log2Width=(int) e.g: 2

Grid Map creation parameters:
(for use with all "grid" type texture maps.)

1 = 2 X 2 (2 frames across 2 frames down)
2 = 4 X 4 (4 frames across 4 frames down)
4 = 8 X 8 (8 frames across 8 frames down)
8 = 16 X 16 (16 frames across 16 frames down)

Rotates a texture map about a specified center. The speed of the rotation is measured in radians per second, (e.g: 2 = 2 full rotations per second). Positive values rotate counter clockwise while negative rotate the map clockwise.
Note: by default the mapping coordinates center starts at the top left corner of the map. To make it start in the center of the map, make the UCenter and VCenter values of "0.5".
Speed=(float) e.g: 2
UCenter=(float) e.g: 0.5
VCenter=(float) e.g: 0.5

Moves the texture map around in the shape of a lissajous figure. (You can create figure 8's and such)
UAmp=(float) e.g. 1
UFreq=(float) e.g: 2
UPhase=(float) e.g: 1
VAmp=(float) e.g. 1
VFreq=(float) e.g: 2
VPhase=(float) e.g: 1

This is another useful feature that can be made to simulate water wave effects.

Similar to Linear Offset but jumps the map from location to location rather than the smooth scrolling motion of linear offset. (Doesn't interpolate between steps) SPS = steps per second.
UStep=(float) e.g: 1.0
VStep=(float) e.g: 1.0
SPS=(float) e.g: 1.0

Similar to linear offset but reverses direction periodically.
UPerSec=(float) e.g: -0.3
VPerSec=(float) e.g: 5.0

WS Classic Environment:
World Space normal environment map. Map coordinates generated procedurally. Similar to World Space Environment mapper.

WS Environment:
World Space reflection environment map.

This is Preferred over the environment mapper as it is good for use in scenes with camera tracking and is much better with applying reflections to flat surfaces.

Grid Classic Environment:
Animated normal environment map. Uses a "Grid Bitmap" for animation. This Combines the "Grid" type mapper, with the "Classic Environment" type mapper. Map coordinates generated procedurally.
FPS=(float) e.g: 29.5
Log2Width=(int) e.g: 2

Grid Environment:
Animated reflection environment map. Works similar to "Grid Classic Environment" but different. Uses a "Grid Bitmap" for animation. This Combines the "Grid" type mapper, with the "Environment" type mapper.
FPS=(float) e.g: 29.5
Log2Width=(int) e.g: 2

Offsets and rotates coordinates at random in a "step" like fashion. Useful for trying to make a map "shake".
UPerSec=(float) e.g: -0.3
VPerSec=(float) e.g: 5.0

Gives off Fuzzy edges, can be used as a glow as well. Uses the "Classic Environment" mapping style but takes the top row of pixels in the bitmap and looks only at that to produce its fuzzy edge effect. You can adjust the VPerSec argument to create an nice "pulsing" effect.
UseReflect=(bool) e.g: true
VPerSec=(float) e.g: 2.0

This is also great for creating glowing objects and strobe light effects.

UV Channel:
Select the UV channel to use

Stage 1 Mapping:
Same properties as Stage 0 Mapping but adds another stage so that you may overlay and combine the two mappers.
Stage 1 is considered to be the "detailer" because it is usually used when extra detail is needed. The advanced controls for Stage 1 Mapping are located in the advanced section of the shader tab. You can only have a maximum of 4 mapping stages for each scene.

Realistic Water and Bump Mapping:


Note that the images are broken as the link is archived and the original site is gone as it was published many years ago.

Additional information sources can be found at the Renegade Wiki & RenHelp websites as well as the Westwood 3D Tutorial found in the Renegade Public Tools package.

Gunship_Mark_II - - 4,864 comments


Especially for Grid Map Texture params :)

Reply Good karma Bad karma+5 votes
hunt1hunt - - 102 comments

the reflective water very beautyfull:发布绝命时刻画面效果倒影、反射水的文件,内有安装说明, 欢迎前来参观。

Reply Good karma Bad karma+2 votes
adamproxdude33 - - 355 comments

will u do me a small plasma nuke fx

Reply Good karma Bad karma+2 votes
apemax - - 54 comments

Thanks for that info. I use Gamx/RenX a lot so this is useful.

Reply Good karma Bad karma+3 votes
Dutchygamer - - 871 comments

Finally some explanation on the different Blend Modes. Cheers for this tutorial ;)

Reply Good karma Bad karma+3 votes
indios85 - - 73 comments

thanks a lot for this man

Reply Good karma Bad karma+3 votes
thejafhar - - 1,521 comments

thank you :)

Reply Good karma Bad karma+2 votes
TheCall - - 260 comments

too hard

Reply Good karma Bad karma+1 vote
sgtmyers88 Author
sgtmyers88 - - 2,829 comments

hopefully moving this here will bring this tutorial out of the archives

Reply Good karma+2 votes
ApornasPlanet - - 4,117 comments

Thank you!

Reply Good karma Bad karma+2 votes
sgtmyers88 Author
sgtmyers88 - - 2,829 comments

Updated as of June 2022 to fix the broken weblinks.

Reply Good karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.