Shader examples

From Multi Theft Auto: Wiki
Revision as of 01:31, 2 November 2011 by Ccw (talk | contribs)
Jump to navigation Jump to search

This page contains some example shader resources to try in 1.1. If you are looking to make your own, please be sure to read about the shader element as well.

Road shine

Road shine

Download shader_roadshine.zip   Requires Shader Model 2 graphics card

This resource creates a light reflection effect on the ground (looks best when moving). It uses a custom flag in the effect file to generate surface normals for the ground model:

int CUSTOMFLAGS
<
    string createNormals = "yes";
>;

Surface normals are not usually present in the ground and building models, but are useful for creating lighting effects such as these.

Road shine 2

Road shine 2

Download shader_roadshine2.zip   Requires Shader Model 2 graphics card

Bit more complicated than the first Road shine, as it tracks the sun or moon to calculate the position of the highlight. The effect can be hard to see depending on the time of day.

Best used with the play resource as the model it modifies is near the initial spawn point.

UV scroll

UV scroll

Download shader_uv_scroll.zip

This resource scrolls a texture from left to right. It doesn't use vertex or pixels shaders, so it should work on all hardware.

UV scripted

UV scripted

Download shader_uv_scripted.zip

This resource controls a texture's UVs using Lua. It shows that anything is possible if you can imagine it.

Ped morph

Ped morph

Download shader_ped_morph.zip   Requires Shader Model 2 graphics card

This resource uses a vertex shader to modify the geometry of a ped model as it is rendered.

When the resource has started, use the 'k' and 'l' keys to change morph size. If you change your player's skin, restart the resource to modify the new model.

**** UPDATE: Due to performance issues, applying shaders to peds has been disabled for 1.1 ****

Ped shell

Ped shell

Download shader_ped_shell.zip   Requires Shader Model 2 graphics card

This resource draws a translucent effect in a second render pass. The first pass is done by GTA, and the vertex shader is only applied in the second to add the effect 'on top' of the standard output.

When the resource has started, use the 'k' key to see the shell effect. If you change your player's skin, restart the resource to see the effect applied to the new model.

**** UPDATE: Due to performance issues, applying shaders to peds has been disabled for 1.1 ****

Car paint

Car paint

Download shader_car_paint.zip   Requires Shader Model 2 graphics card

This resource shows you how to apply a shader to the vehicle models. The shader itself is not that great, so don't get your hopes up.

Water

Water

Download shader_water.zip   Requires Shader Model 2 graphics card

This resource applies a shader to the GTA world water. The Lua script shows how to use a timer to transfer the conventional water color setting to the shader.

Bloom

Bloom

Download shader_bloom.zip   Requires Shader Model 2 graphics card

This resource shows you how 'bounce' full screen effects using a render target pool. It also uses the new onClientHUDRender event to exclude the HUD from the effect.

Block world

Block world

Download shader_block_world.zip   Requires Shader Model 2 graphics card

This resource makes the textures look all blocky. It also changes colors when the 'k' key is pressed.

Texture names

Texture names

Download shader_tex_names.zip

This resource is only a tool, and doesn't do anything pretty. It shows a list of the current visible texture names, and highlights the selected texture. Ideal for finding a texture name to use with engineApplyShaderToWorldTexture.

num_8 shows/hides the texture list, num_7 and num_9 step through the list, and 'k' copies the current texture name to the clipboard.

Road shine 3 (Deluxe edition)

Road shine 3

Download shader_roadshine3.zip v0.1.3 updated 2011-10-09  Requires Shader Model 2 graphics card

This resource shows how to:

  • Stop a wild card match shader from being applied to certain world textures.
  • Use isLineOfSightClear to stop an effect when something is not visible (The sun in this case).
  • Use a shader maxDrawDistance setting to avoid GPU overload.

The final effect is a faster shader with less rendering issues than the previous two road shine examples.

Skid marks

Skid marks

Download shader_skidmarks.zip   Requires Shader Model 2 graphics card

This resource shows you how to do multiple passes in a shader, and pass different variables to the vertex shader for each pass. Use the command /skidmarks 1-4 to see the different effects. (You have skid a car to see it!)