This is a portal page for articles (both on the Wiki and external) about shaders.

You can find all info on the Wiki pertaining to shaders on the Category:Shaders page.

## Contents

### Beginner

• Shaders for Artists: What are shaders and what do they do?
• Light Tutorial: A non-technical article which has great information and explanation about lighting and why and how things look like 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.

#### Terms and definitions

• Normal, Binormal, and Tangent 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.
• Unit Vector: What is a unit vector (also known as a normalized vector), and why is it important to us?

#### Normal Mapping Introduction

• Normal Map, the Wiki page on normal mapping, provides a comprehensive overview on the subject.
• Ben Cloward's Normal Mapping Tutorial: One of the best sources for people getting into shaders and who want a better understanding of what a normal map is. Covers the basics of lighting, how normal maps work, and the process of creating and applying normal maps.

### Intermediate

• Parallax mapping types: An article briefly covering the different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.
• Beautiful, yet Friendly: Article by Guillaume Provost, which explains the behind-the-scenes technical aspect of shaders. A must-read when one starts to think about efficiency, math, and hardware.
• 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.

## Resources

### Shaders for Learning

• Shaders by Ben Cloward: These shaders are a bit outdated and there are more up-to-date shaders to learn from, but Ben's shaders are what got many artists started on the path and are still a solid learning resource.
• Shaders by Rob Galanakis (right side of page): Some well-commented shaders that cover a variety of intermediate to advanced topics.

### Tools

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 FX is a 3ds Max plugin written by Kees Rijnen and Ben Cloward. Shader FX is very useful for the beginner artist to get his head around the concepts of creating shaders, with its great node-based interface, and it is useful for the more advanced shader writer to understand how certain nodes work. Kees and Ben are leaders in shaders and analyzing their raw and exported HLSL code will help authors understand many cutting edge techniques, such as sub-surface scattering, fur, and glow. Free for individuals and companies smaller then 2 employees.
• mental mill Standard Edition is a standalone tool that "allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code. As well, the user can export shaders for use in DCC and CAD applications through the supported, customizable back-end formats such as CgFX, HLSL, and GLSL." The more limited Artist Edition is free for personal use, and comes bundled with 3ds Max 2010.
• NVIDIA's FX Composer is a shader authoring toolset.
• AMD's RenderMonkey is a shader authoring toolset.