Category Shaders

What is a Shader?

A shader is a bit of computer code that is commonly used to describe how a surface will be rendered. It takes some inputs (textures, vertices, view angles, etc.), does some changes to them, then tells the game renderer to render them.

Shaders are typically used for interactive rendering, like in a 3d game, where the view is rendered in real-time at 30 fps (or better). This page is all about these "real-time" shaders, which are optimized to render efficiently, trading performance for less accuracy. "Offline" shaders are used with non-real-time renderers, like mental ray, and have more accurate effects like ray-tracing and sub-pixel filtering, but they are non-interactive (they can take several minutes to render each frame).

Example Shaders

3ds Max Shaders

(in alphabetical order)

Maya Shaders

(in alphabetical order)

UDK Shaders

Creating Shaders

Beginner Tutorials

Intermediate Tutorials

Advanced Tutorials


To create and edit shaders, most people use a text editor (like Notepad ++) to write them and a 3d program (a game engine, 3ds Max, Maya, etc.) to view them. For those who are new to shaders the following tools provide a graphical user interface for easier creation.

Shader Tools for 3ds Max

Shader Tools for Maya

Shader Tools for Unity

Shader Tools for Unreal Engine

Tech_Artists.Org Wiki

For more info see Portal:Shaders on the Tech Artists Wiki.

These pages need to be ported, see CategoryTechnicalArt#Tech-Artists.Org_Wiki_Conversion.

Shaders for Artists

What are shaders and what do they do?

Blending functions

Photoshop functions converted into HLSL. Understanding the math behind Photoshop will give greater insight into how pixel shaders work, and the short functions will help teach HLSL syntax.

NormalVector, BinormalVector, and TangentVector

are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.

Glossary (Shaders)

A listing of terms used in shaders, such as half angle, glossiness, etc.


What is a unit vector (also known as a normalized vector), and why is it important to us?

Shading models

describe the different models, such as Blinn, Phong, etc.

DDS and Normal map compression

explain the best ways to save and compress normal maps and other textures.

Vertex skinning:

An article about using the shader to deform skinned meshes. Ubiquitous in games now-a-days, but knowledge of it can help unlock what else is possible in the vertex shader.

MaxScript DirectX Scripted Material Plugin:

A tutorial requiring intermediate to advanced HLSL and MaxScript knowledge. It will allow you to build your own unrestricted interfaces for DirectX 9 Shaders in Max, instead of using the default auto-generated UI.

CategoryTexturing CategoryPortfolio CategoryTechnology CategoryShaders

CategoryShaders (last edited 2014-07-20 10:36:52 by EricChadwick)