Difference between revisions of "Category:Shaders"

From polycount
Jump to: navigation, search
Line 5: Line 5:
 
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.  
 
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.
+
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).
  
 
<!-- ## * '''[[|]]''' by [[|]].<<BR>>  More info in the Polycount thread ''[[|]]''. -->
 
<!-- ## * '''[[|]]''' by [[|]].<<BR>>  More info in the Polycount thread ''[[|]]''. -->

Revision as of 20:25, 8 August 2013

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

  • WL-Shader by "TA20"<
    > UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.

Creating Shaders

Beginner Tutorials

Intermediate Tutorials

  • TF2 Shading in UT3 by Steffen "Neox" "polyphobia" Unger<
    > Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.
  • 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.

Advanced Tutorials

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.

In alphabetical order:

  • 3Point Shader Pro "is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport."
  • FX Composer is NVIDIA's shader authoring toolset.
  • GLSL Hacker "is a cross-platform (Windows, Linux and OS X) tool for fast realtime 3D prototyping and coding. It's based on widely used standards such as GLSL (OpenGL Shading Language), Lua or Python. GLSL Hacker has been designed for developers (from newbies to confirmed) and technical 3D artists."
  • GLSL Sandbox is a browser-based code editor that shows the output live, right there behind your code. Also has a gallery of neat tricks to steal (ahem, borrow) from.
  • mental mill Standard Edition "allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code." The more limited Artist Edition is free for personal use, and came bundled with 3ds Max 2010.
  • PowerVR SDK lets you live-edit and gives you rough estimates on shader costs. Helps with optimising GL ES2.0 shaders. Works with regular GLSL, too.
  • RenderMonkey is AMD's shader authoring toolset.
  • ShaderFusion is a node-based shader editor for Unity.
  • Shader FX "is a full-featured real-time shader editor for 3ds Max that allows artists with no previous programming experience to build complex HLSL or CG FX shaders, using a graphical schematic interface to wire nodes together."
  • Strumpy Shader Editor another node-based shader editor for Unity.

Tech_Artists.Org Wiki

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

These pages need to be ported, see.

Shaders for Artists
Blending functions
NormalVector, BinormalVector, and TangentVector
Glossary (Shaders)
UnitVector
Shading models
DDS and Normal map compression
Vertex skinning:
[[[MaxScript|DirectX Scripted Material Plugin]]]:

Pages in category "Shaders"

The following 6 pages are in this category, out of 6 total.

Personal tools
Namespaces

Variants
Actions
Navigation
Tools