<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.polycount.com/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.polycount.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Edek</id>
		<title>polycount - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.polycount.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Edek"/>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Special:Contributions/Edek"/>
		<updated>2026-04-08T11:28:24Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.2</generator>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T22:46:59Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [https://polycount.com/discussion/66952/the-snow-and-ice-of-uncharted2 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[https://web.archive.org/web/20110216152431/http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [https://web.archive.org/web/20110216134007/http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/64453/tf2-and-toon-realtime-viewport-shader-3ds-max TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[https://polycount.com/discussion/69161/koddeshader-a-maya-cgfx-shader &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [https://trinity3d.com/udk-shader-production.html Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [https://web.archive.org/web/20160322035140/http://developer.amd.com/tools-and-sdks/archive/legacy-cpu-gpu-tools/rendermonkey-toolsuite/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [https://web.archive.org/web/20131021112505/http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [https://web.archive.org/web/20161220010245/http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T22:45:07Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [https://polycount.com/discussion/66952/the-snow-and-ice-of-uncharted2 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[https://web.archive.org/web/20110216152431/http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [https://web.archive.org/web/20110216134007/http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/64453/tf2-and-toon-realtime-viewport-shader-3ds-max TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[https://polycount.com/discussion/69161/koddeshader-a-maya-cgfx-shader &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [https://trinity3d.com/udk-shader-production.html Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [https://web.archive.org/web/20160322035140/http://developer.amd.com/tools-and-sdks/archive/legacy-cpu-gpu-tools/rendermonkey-toolsuite/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [https://web.archive.org/web/20131021112505/http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T22:38:55Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [https://polycount.com/discussion/66952/the-snow-and-ice-of-uncharted2 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[https://web.archive.org/web/20110216152431/http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [https://web.archive.org/web/20110216134007/http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/64453/tf2-and-toon-realtime-viewport-shader-3ds-max TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[https://polycount.com/discussion/69161/koddeshader-a-maya-cgfx-shader &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [https://trinity3d.com/udk-shader-production.html Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [https://web.archive.org/web/20160322035140/http://developer.amd.com/tools-and-sdks/archive/legacy-cpu-gpu-tools/rendermonkey-toolsuite/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T22:27:50Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [https://polycount.com/discussion/66952/the-snow-and-ice-of-uncharted2 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[https://web.archive.org/web/20110216152431/http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [https://web.archive.org/web/20110216134007/http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/64453/tf2-and-toon-realtime-viewport-shader-3ds-max TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[https://polycount.com/discussion/69161/koddeshader-a-maya-cgfx-shader &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [https://trinity3d.com/udk-shader-production.html Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [http://developer.amd.com/gpu/rendermonkey/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T22:15:18Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [https://polycount.com/discussion/66952/the-snow-and-ice-of-uncharted2 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[https://web.archive.org/web/20110216152431/http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [https://web.archive.org/web/20110216134007/http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/64453/tf2-and-toon-realtime-viewport-shader-3ds-max TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[https://polycount.com/discussion/69161/koddeshader-a-maya-cgfx-shader &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [http://eat3d.com/blog/eat-3d/new-dvd-release-shader-production-writing-custom-shaders-cgfx Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [http://developer.amd.com/gpu/rendermonkey/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T22:12:24Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [https://polycount.com/discussion/66952/the-snow-and-ice-of-uncharted2 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[https://web.archive.org/web/20110216152431/http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [https://web.archive.org/web/20110216134007/http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/64453/tf2-and-toon-realtime-viewport-shader-3ds-max TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=69161 &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [http://eat3d.com/blog/eat-3d/new-dvd-release-shader-production-writing-custom-shaders-cgfx Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [http://developer.amd.com/gpu/rendermonkey/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T22:02:36Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [https://polycount.com/discussion/66952/the-snow-and-ice-of-uncharted2 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[https://web.archive.org/web/20110216152431/http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [https://web.archive.org/web/20110216134007/http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[https://polycount.com/discussion/64453/tf2-and-toon-realtime-viewport-shader-3ds-max TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=49920 Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=69161 &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [http://eat3d.com/blog/eat-3d/new-dvd-release-shader-production-writing-custom-shaders-cgfx Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [http://developer.amd.com/gpu/rendermonkey/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T22:01:18Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [https://polycount.com/discussion/66952/the-snow-and-ice-of-uncharted2 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[https://web.archive.org/web/20110216152431/http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [https://web.archive.org/web/20110216134007/http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=64453 TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=49920 Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=69161 &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [http://eat3d.com/blog/eat-3d/new-dvd-release-shader-production-writing-custom-shaders-cgfx Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [http://developer.amd.com/gpu/rendermonkey/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T21:55:32Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [https://polycount.com/discussion/66952/the-snow-and-ice-of-uncharted2 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=64453 TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=49920 Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=69161 &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [http://eat3d.com/blog/eat-3d/new-dvd-release-shader-production-writing-custom-shaders-cgfx Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [http://developer.amd.com/gpu/rendermonkey/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T21:45:47Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[https://polycount.com/discussion/49920/free-maya-max-cgfx-fx-shader Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [http://boards.polycount.net/showthread.php?p=1024948#post1024948 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=64453 TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=49920 Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=69161 &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [http://eat3d.com/blog/eat-3d/new-dvd-release-shader-production-writing-custom-shaders-cgfx Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [http://developer.amd.com/gpu/rendermonkey/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T21:36:46Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[https://web.archive.org/web/20150627021943/http://www.3pointstudios.com:80/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=49920 Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [http://boards.polycount.net/showthread.php?p=1024948#post1024948 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=64453 TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=49920 Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=69161 &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [http://eat3d.com/blog/eat-3d/new-dvd-release-shader-production-writing-custom-shaders-cgfx Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [http://developer.amd.com/gpu/rendermonkey/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Shaders</id>
		<title>Shaders</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Shaders"/>
				<updated>2018-11-24T21:32:55Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is a Shader? ==&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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). &lt;br /&gt;
&lt;br /&gt;
This page is all about these &amp;quot;real-time&amp;quot; shaders, which are optimized to render efficiently, trading better performance for less accuracy. &lt;br /&gt;
&lt;br /&gt;
Conversely, &amp;quot;offline&amp;quot; shaders are used with non-real-time renderers, like V-Ray or 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).&lt;br /&gt;
&lt;br /&gt;
== Example Shaders ==&lt;br /&gt;
=== 3ds Max Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
*[https://web.archive.org/web/20121010065742/http://www.laurenscorijn.com/viewportshader 3ds Max viewport shader] by [https://web.archive.org/web/20160329153258/http://www.laurenscorijn.com/ Laurens &amp;quot;Xoliul&amp;quot; Corijn].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=62006 Xoliul's 3DS Max Viewport Shader]''.&lt;br /&gt;
*[http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader] by [http://www.3pointstudios.com 3 Point Studios]&lt;br /&gt;
Shader with many options, including near-perfect results for 3ds Max generated normal maps. See the Polycount thread [http://boards.polycount.net/showthread.php?t=72861 3Point Shader Lite - Shader material editor and Quality Mode normalmaps for 3ds Max].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Agusturinn-Shader-Demo-100883093 Agusturinn Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;One UV texture, Two point lights, Diffuse map(include alpha which control transparency), AO(ambient occlusion) map or Lightmap share the same channel, Normal map,Specular map,Specular level map,Gloss map,Emissive map, Two type of Cubemap---One is diffuse cubemap for generating IBL(image based lighting), the other is enviroment cubemap for reflection.&amp;quot;''&lt;br /&gt;
* '''[http://www.bencloward.com/resources_shaders.shtml Ben Cloward Shaders]''' by [http://www.bencloward.com Ben Cloward].&lt;br /&gt;
He has a bunch of HLSL shaders available for normal mapping, ambient occlusion, car paint, skin, etc.&lt;br /&gt;
*[http://www.luxinia.de/index.php/ArtTools/3dsmaxFX#genbrdf BRDF shader] (3ds Max version) ported by [http://crazybutcher.cottages.polycount.com/ Christoph &amp;quot;CrazyButcher&amp;quot; Kubisch].&lt;br /&gt;
Original [http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya] by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]. More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=49920 Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.aurelm.com/envo/ ENVO realtime environment shader]''' by [http://www.aurelm.com/ Aurel Manea]&lt;br /&gt;
From the Polycount thread [http://www.polycount.com/forum/showthread.php?t=100187 ENVO realtime environment shader for 3d studio max].&lt;br /&gt;
* '''[http://www.polycount.com/forum/showpost.php?p=1610563&amp;amp;postcount=2 MoP Texture Blender]''' by [http://www.greveson.co.uk Paul &amp;quot;MoP&amp;quot; Greveson]&lt;br /&gt;
This shader uses blendmodulate for vertex blending with per-pixel detail. From the Polycount thread [http://boards.polycount.net/showthread.php?p=1024948#post1024948 The Snow and Ice of Uncharted2?].&lt;br /&gt;
* '''[http://rtshaders.deviantart.com/art/Paragalis-Shader-Demo-110994545 Paragalis Shader Demo]''' by [http://rtshaders.deviantart.com Wang &amp;quot;RTshaders&amp;quot; Jing].&lt;br /&gt;
Shader features: ''&amp;quot;Post effect, 3dsmax2008/2009 viewport shadowmap, Subsurface scattering, Cubemap Image based lighting, Diffuse(alpha channel control opacity),Normal map,Ao map/Light map,Specular,Specular lever(mask),Gloss etc., Shadermodel 2.x compatible for AMD ATI card.&amp;quot;''&lt;br /&gt;
* '''[http://www.jistyles.com/main.php?id=doc&amp;amp;page=hlsl SSS Skin Shader]''' by [http://www.jistyles.com/ J.I. Styles].&lt;br /&gt;
''&amp;quot;The aim of this shader is to emulate all the perceptual qualities of realistic skin like translucency (sss), fresnal specular, gloss, oiliness, etc - kludging what I can to produce fast yet realistic looking results.&amp;quot;''&lt;br /&gt;
* '''[http://blog.maginot.eu/index.php?seite=people&amp;amp;people=till&amp;amp;page=mhn2048106717 TF2 Shader for 3ds Max]''' and '''[http://blog.maginot.eu/index.php?p=till.1__scriptnstuff_shader_toon Toon/Comic Shader for 3ds Max]''' by [http://www.till.maginot.eu/ Till &amp;quot;Rollin&amp;quot; Maginot].&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=64453 TF2 and TOON realtime viewport shader (3ds max)]''.&lt;br /&gt;
&lt;br /&gt;
=== Maya Shaders ===&lt;br /&gt;
(in alphabetical order)&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.mentalwarp.com/~brice/brdf.php BRDF shader for Maya]''' by [http://www.mentalwarp.com/~brice Brice Vandemoortele] and [http://www.kjapi.com/ Cedric Caillaud]&lt;br /&gt;
More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=49920 Free Maya/max cgfx/fx Shader]''. '''Update:''' [http://boards.polycount.net/showthread.php?p=821862#post821862 New version here] with many updates, including object-space normal maps, relief mapping, self-shadowing, etc.&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=110022 DOTA2 Hero Shader - 3DS &amp;amp; Maya Shader Material]''' by [http://www.polycount.com/forum/member.php?u=43116 Luigi 'Ace-Angel' Kavijian] and [http://drewwatts.net/ Drew 'Drew++' Watts].&lt;br /&gt;
Half-Lambert diffuse term with controllable falloff, additive rimlighting, Phong specular, mask support (Dota2 style), all them fancy effects Valve uses!&lt;br /&gt;
* '''[http://www.kostas.se/?p=142 KoddeShader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis]&lt;br /&gt;
Has several features such as normal mapping, specular, gloss, reflections, ambient cube, parallax, etc. More info in the Polycount thread ''[http://boards.polycount.net/showthread.php?t=69161 &amp;quot;KoddeShader&amp;quot;, a Maya CGFX shader]''. '''Update:''' [http://www.kostas.se/?p=17 Version 2.0 here] including updates such as blended normals for skin, cube map mip level parameters for blurring reflections and ambient light, 2-pass transparency support, etc.&lt;br /&gt;
* '''[http://www.kostas.se/?p=30 TGA Physically Based Lighting shader]''' by [http://www.kostas.se Kostas &amp;quot;Kodde&amp;quot; Gialitakis] and [http://www.defrostgames.com Niklas Hansson]. Is based around a Physically Based Lighting method of shading where you define materials with albedo, substance and roughness texture rather than diffuse, specular, gloss. Has other features such as cube map based reflections and ambient lighting, normal maps, ambient occlusion, substance based fresnel term which alters reflections and specular, blurred reflections, fully linear shading, energy conserving ambient/reflections, blended normals, etc.&lt;br /&gt;
* '''[http://blog.leocov.com/p/downloads.html lcUberShader, lcSkinShader, lcHairShader, lcLitSphere, lcReproject]''' by [http://www.leocov.com/ Leonardo &amp;quot;chronic&amp;quot; Covarrubias]&lt;br /&gt;
Many techniques and parameters, including normal mapping, specular, ambient env cube, SSS, litspheres, etc.&lt;br /&gt;
* '''[https://dl.dropbox.com/u/53969153/Shaders/Cryengine3_VertexBlend_Maya1Light.zip Vertex Color BlendMasked CgFX Maya Shader]''' by [http://klass87.blogspot.fr/ Amir &amp;quot;choco&amp;quot; Abdaoui] and [http://cruxic.com/ Drew &amp;quot;Drew++&amp;quot; Watts].&lt;br /&gt;
More info in the Polycount thread ''[http://www.polycount.com/forum/showthread.php?t=105291 Vertex color BlendMasked cgfx maya shader]''.&lt;br /&gt;
&lt;br /&gt;
=== UDK Shaders ===&lt;br /&gt;
* '''[http://www.polycount.com/forum/showthread.php?t=103068 WL-Shader]''' by [http://unreal.rgr.jp/ &amp;quot;TA20&amp;quot;]&lt;br /&gt;
UDK shaders for cloth, skin, water, glass, foliage, bricks, etc.&lt;br /&gt;
&lt;br /&gt;
== Creating Shaders ==&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=118365 Advice with Learning Shader Programming] Polycount forum thread&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=104692 Material editors vs. Custom shader code] Polycount forum thread&lt;br /&gt;
&lt;br /&gt;
=== Beginner Tutorials ===&lt;br /&gt;
* [https://www.cg-academy.net/es_catalog/product_info.php?products_id=64&amp;amp;osCsid=5jn41nk4i5uii38d3t0sg4tn53c430a3 CG Academy HLSL Shader Creation series] by [http://www.bencloward.com/ Ben Cloward] ($) is an excellent 3-part series on making HLSL shaders for 3ds Max (can easily be transferred to Maya too).&lt;br /&gt;
* [http://cgcookie.com/unity/series/introduction-to-surface-shader-scripting CGCookie - Introduction to surface shader scripting in Unity by Alex Telford] Step by step tutorial with basics of writing for Unity 3.x.&lt;br /&gt;
* [http://cgcookie.com/unity/cgc-series/noob-to-pro-shader-writing-for-unity-4-beginner/ CGCookie - Noob to pro shader writing for Unity for beginners by Alex Telford] Another tutorial by Alex Telford designed for Unity 4.&lt;br /&gt;
* [http://eat3d.com/blog/eat-3d/new-dvd-release-shader-production-writing-custom-shaders-cgfx Eat3D's &amp;quot;Shader Production - Writing Custom Shaders with CGFX&amp;quot;] by [http://www.linkedin.com/pub/luiz-kruel/3/127/463 Luiz Kruel] ($) is anotehr excellent video tutorial that guides you through writing your own shaders, primarily with the CGFX shader language in Maya. DVD release was September 14, 2011.&lt;br /&gt;
* [http://bencloward.com/resources_shaders.shtml 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.&lt;br /&gt;
* [http://www.robg3d.com/?page_id=13 Shaders by Rob Galanakis (right side of page)] Some well-commented shaders that cover a variety of intermediate to advanced topics.&lt;br /&gt;
* [[NormalMap]], the Wiki page on normal mapping, provides a comprehensive overview on the subject.&lt;br /&gt;
* [http://bencloward.com/resources_tutorials.shtml 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.&lt;br /&gt;
&lt;br /&gt;
=== Intermediate Tutorials ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=144863 The Photoshop color curve in HLSL?]&lt;br /&gt;
* [http://www.moddb.com/games/unreal-tournament-3/tutorials/tf2-shading-in-ut3 TF2 Shading in UT3] by [http://polyphobia.de Steffen &amp;quot;Neox&amp;quot; &amp;quot;polyphobia&amp;quot; Unger]&lt;br /&gt;
Shows how the Team Fortress 2 look can be emulated using a shader network in Unreal Engine 3.&lt;br /&gt;
* [[ParallaxMap]]: different techniques for parallax mapping (offset, parallax occlusion, relief, etc.), with links to the papers detailing them and other related resources.&lt;br /&gt;
* [http://www.ericchadwick.com/examples/provost/byf1.html 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced Tutorials ===&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
To create and edit shaders, most people use a text editor (like [http://notepad-plus.sourceforge.net 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. &lt;br /&gt;
&lt;br /&gt;
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] is NVIDIA's shader authoring toolset.&lt;br /&gt;
* [http://www.geeks3d.com/glslhacker/ GLSL Hacker] ''&amp;quot;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.&amp;quot;''&lt;br /&gt;
* [http://glsl.heroku.com/ 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.&lt;br /&gt;
* [http://www.mentalimages.com/products/mental-mill/standard-edition.html mental mill Standard Edition] ''&amp;quot;allows the user to write and edit shader code, and visually debug the shader by interactively inspecting variables while stepping through the code.&amp;quot;'' The more limited [http://www.mentalimages.com/products/mental-mill/artist-edition.html Artist Edition] is free for personal use, and came bundled with 3ds Max 2010.&lt;br /&gt;
* [http://www.imgtec.com/powervr/insider/sdkdownloads/ 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.&lt;br /&gt;
* [http://developer.amd.com/gpu/rendermonkey/ RenderMonkey] is AMD's shader authoring toolset.&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for 3ds Max ===&lt;br /&gt;
* [http://www.3pointstudios.com/3pointshader_about.shtml 3Point Shader Pro] ''&amp;quot;is a toolset for creation and presentation of high-quality real- time materials in the Autodesk 3ds Max™ viewport.&amp;quot;''&lt;br /&gt;
* [http://www.lumonix.net/shaderfx.html Shader FX] ''&amp;quot;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.&amp;quot;'' '''''No longer being developed'''''&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Maya ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=125197 Maya LT ShaderFX] is a node-based shader editor for [http://www.polycount.com/forum/showthread.php?t=125122 Maya LT].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unity ===&lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=123439 Shader Forge] ''&amp;quot;The goal with Shader Forge is to provide an intuitive and visual way of creating shaders in the Unity engine, just like the Material Editor in UDK.&amp;quot;''&lt;br /&gt;
* [http://www.shaderfusionblog.com/?cat=6 ShaderFusion] is a node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
* [http://forum.unity3d.com/threads/56180-Strumpy-Shader-Editor-Now-Open-Source Strumpy Shader Editor] another node-based shader editor for [http://unity3d.com/ Unity].&lt;br /&gt;
&lt;br /&gt;
=== Shader Tools for Unreal Engine ===&lt;br /&gt;
* [http://udn.epicgames.com/Three/MaterialsAndTexturesHome.html Material Editor in UDK] &lt;br /&gt;
&lt;br /&gt;
== Tech_Artists.Org Wiki ==&lt;br /&gt;
For more info see [http://tech-artists.org/wiki/Portal:Shaders Portal:Shaders] on the Tech Artists Wiki.&lt;br /&gt;
&lt;br /&gt;
These pages need to be ported, see [[Technical_Art#Tech-Artists.Org_Wiki_Conversion|Technical Art:Tech-Artists.Org_Wiki_Conversion]].&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shaders for Artists]]&lt;br /&gt;
| What are shaders and what do they do?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Blending functions]]&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[NormalVector]], [[BinormalVector]], and [[TangentVector]]&lt;br /&gt;
| are the three vectors that make up surface vector information, and a basic understanding is essential to understand lighting.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Glossary (Shaders)]] &lt;br /&gt;
| A listing of terms used in shaders, such as half angle, glossiness, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[UnitVector]]&lt;br /&gt;
| What is a unit vector (also known as a normalized vector), and why is it important to us?&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Shading models]]&lt;br /&gt;
| Describe the different models, such as [[Blinn]], [[Phong]], etc.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[DDS]] and [[Normal map compression]]&lt;br /&gt;
| Explain the best ways to save and compress normal maps and other textures.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[Vertex skinning]]:&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;class=&amp;quot;red&amp;quot;&amp;gt;| [[MaxScript DirectX Scripted Material Plugin]]: &lt;br /&gt;
| 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.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Technical_Art]] [[Category:Texturing]] [[Category:Portfolio]] [[Category:Technology]] [[Category:Shaders]] [[Category:Code]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Texture_atlas</id>
		<title>Texture atlas</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Texture_atlas"/>
				<updated>2018-04-16T19:27:34Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: /* Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Texture Atlas describes the method of packing many separate textures together into a single texture. Other common names for this are &amp;quot;decal sheet&amp;quot;, &amp;quot;packed texture&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Atlases save texture fetches, which can help improve the [[FPS|frame rate]].&lt;br /&gt;
&lt;br /&gt;
Each of the textures can be [[Tiling|tiled]] with themselves, just like a regular tiling texture. &lt;br /&gt;
&lt;br /&gt;
The textures can either be cropped out of the atlas by adding more edges to the model and cutting up the [[Texture Coordinates|texture coordinates]] (at the expense of increasing the [[Polygon_Count#Triangle_Count_vs._Vertex_Count|vertex count]]), or the textures can be arranged as [http://udn.epicgames.com/Three/TerrainAdvancedTextures.html#Texture%20Packing:%20Implementing%20large%20texture%20tile%20sets sub-tiles] and cropped out using a [[Shaders|shader]] (at the expense of increasing the shader instructions).&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Atlas Methods ==&lt;br /&gt;
There are two common atlas methods: one divides a single bitmap into multiple sub-maps (this is usually what artists mean when they say &amp;quot;atlas&amp;quot;), the other method packs different grayscale maps into each color channel (this can be called a multimap or [[ChannelPacking|channel packing]]). The two methods are not exclusive, they can also be used together in the same bitmap.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| [[Image:Stefan-Morrell_modular-texture.jpg|thumb|300px|An atlas of sub-maps.&amp;lt;br/&amp;gt;Image by [http://stefan-morrell.cgsociety.org/gallery/ Stefan Morrell].]]&lt;br /&gt;
| [[Image:SneferTileExplain.jpg|thumb|200px|Channel packing and sub-maps, in the same texture layout.&amp;lt;br/&amp;gt;Image by [http://www.torfrick.com/ Tor &amp;quot;Snefer&amp;quot; Frick].]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
* 2015-06-26 [https://forum.allegorithmic.com/index.php?topic=5840.0 Substance Designer: Creating a texture atlas]- by [https://www.artstation.com/wesmcdermott Wes McDermott]&lt;br /&gt;
* 2013-04-08 [http://oliverm-h.blogspot.com/2013/04/how-to-create-ue3udk-texture-atlases.html How to create UE3/UDK Texture Atlases (tileable)] - by [http://oliverm-h.blogspot.com/ 'mAlkAv!An'], using a custom HLSL node to apply separate UVs for texturing vs. mipmapping.&lt;br /&gt;
* 2013-04-02 [http://udn.epicgames.com/Three/TerrainAdvancedTextures.html#Texture%20Packing:%20Implementing%20large%20texture%20tile%20sets UDN - Three - TerrainAdvancedTextures - Texture Packing: Implementing large texture tile sets]&lt;br /&gt;
* 2013-04-02 [http://forums.epicgames.com/threads/710560-The-WIP-Thread?p=31189949&amp;amp;viewfull=1#post31189949 UDK - how to solve 'frac' artifacts and mipmapping seams] - how to implement sub-tiles in UDK, and solve seams.&lt;br /&gt;
* 2013-03-13 [http://www.georgesokol.blogspot.com/2013/03/pro-tip-easy-way-to-work-with-seperate.html An easy way to work with separate channels in a &amp;quot;combined texture&amp;quot;] - by [http://www.georgesokol.blogspot.com George &amp;quot;gsokol&amp;quot; Sokol], using Photoshop's Layer Style to improve the texture editing process for [[ChannelPacking|channel packing]].&lt;br /&gt;
* 2012-06-07 [http://www.polycount.com/forum/showthread.php?t=100388 The Desert(What can you do with no diffuse maps?)] Polycount forum thread. Vertex blending using multiple [[ChannelPacking|channel packed]] modulation textures, in UDK. See also [http://artisaverb.info/DitchingDiffuse.html Ditching Diffuse Maps: A foray into artistic reasoning and technical details behind &amp;quot;procedural&amp;quot; texturing, with practical examples on today's tech] by [http://artisaverb.info/ Andrew 'd1ver' Maximov].&lt;br /&gt;
* 2012-05-28 [http://www.polycount.com/forum/showthread.php?p=1595258#post1595258 UDK The Dunes] Polycount Forum thread. Using two 256x256 textures to texture an entire scene, one as a normal map and the other [[ChannelPacking|channel packed]] to store four textures.&lt;br /&gt;
* 2012-05-01 [http://www.digitaltutors.com/tutorial/688-Multi-Tile-Texture-Workflows Digital-Tutors: Multi-Tile Texture Workflows Tutorial] ($) - by Justin Marshall / Digital Tutors, using UV organization to assign multiple textures to a single character, and how it works in various 3D apps.&lt;br /&gt;
* 2011-10-19 [http://www.polycount.com/forum/showthread.php?t=90092 UDK - Material - Multi-UV Changes] - more UDK techniques for sub-tiles.&lt;br /&gt;
* 2011-10-09 [http://www.polycount.com/forum/showthread.php?t=89682 An exercise in modular textures - Scifi lab UDK] - by [http://www.torfrick.com/ Tor 'Snefer' Frick], an exercise in extreme texture [[ChannelPacking|channel packing]], packing multiple maps into the four channels of a texture file.&lt;br /&gt;
* 2011-09-26 [http://mtnphil.wordpress.com/2011/09/26/terrain-texture-atlas-construction/ Terrain texture atlas construction] - how to properly compile sub-tiles into a large texture sheet.&lt;br /&gt;
* 2010-12-20 [http://www.polycount.com/forum/showthread.php?t=79374 UV tiling tricks within 0 to 1 space] from the Polycount forum&lt;br /&gt;
* 2010-12-17 [https://www.3dmotive.com/f101001 Modular Building Workflow] - ($) a 3dmotive tutorial by [http://www.tylerwanlass.com/ Tyler Wanlass], covers planning and workflow for modular buildings using Photoshop, 3ds Max, and UDK.&lt;br /&gt;
* 2010-11-08 [http://www.polycount.com/forum/showthread.php?t=78192 Work-flow for large texture atlases] from the Polycount forum&lt;br /&gt;
* 2010-06-27 [http://www.philipk.net/tutorials/modular_sets/modular_sets.html  Working with Modular Sets] - by [http://www.philipk.net Philip 'PhilipK' Klevestav], how to design and texture modular sci-fi wall panels.&lt;br /&gt;
* 2010-03-25 [http://www.chrisalbeluhn.com/Building_Layout_Guideline_Tutorial.html Visually Appealing Building Guide] - by [http://www.chrisalbeluhn.com Christopher Albeluhn], an excellent breakdown of how to create visual interest with game buildings. [http://www.chrisalbeluhn.com/3D_Tutorials.html Additional tutorials here].&lt;br /&gt;
* 2008-06-26 [http://boards.polycount.net/showthread.php?t=54178 Mod Facade Challenge] - by [http://www.linkedin.com/in/earthquake Joe 'EarthQuake' Wilson], breaking up a building into modular pieces and designing the texture sheet.&lt;br /&gt;
* 2006-11-08 [http://www.game-artist.net/forums/tutorials/182-step-step-techniques-tiling-textures-3ds-max.html Creating tiling textures in 3dsmax] - by [http://chrisholden.net/ Chris 'cholden' Holden]&lt;br /&gt;
* 2006-01-26 [http://www.gamasutra.com/view/feature/2530/practical_texture_atlases.php Practical Texture Atlases] on Gamasutra by [http://www.haemimontgames.com/company/keypeople.html Ivan-Assen Ivanov]&lt;br /&gt;
* 2005-12-20 [http://poopinmymouth.com/tutorials/thirding-textures-tip.html Thirding - Utilizing your texture space for environment work] - by [http://poopinmymouth.com/ Ben 'poopinmymouth' Mathis]&lt;br /&gt;
&lt;br /&gt;
== Gutters ==&lt;br /&gt;
When a game model is textured using a single texture sheet, the texture will have typically have UV'd areas ([[Texture Coordinates|UV shells]]) and blank areas between them (gutters). &lt;br /&gt;
&lt;br /&gt;
The width of the gutter needs to be wide enough to accommodate how much [[EdgePadding]] you need. This varies depending on how large the texture is and the [[Texture filtering|texture filtering]] type used by the game renderer.&lt;br /&gt;
&lt;br /&gt;
== Packing Tools ==&lt;br /&gt;
*2015-05-17 [https://vimeo.com/126382588 Easy Atlas] uses Photoshop and Maya.&lt;br /&gt;
*2014-09-25 [http://www.polycount.com/forum/showthread.php?p=2143621#post2143621 MapToAtlas] 3ds Max script by [http://www.juantwo.com/ Juan &amp;quot;monster&amp;quot; Martinez] &lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=80723 Decent UV Packing Script/Tool?] thread on the Polycount forum&lt;br /&gt;
* [http://www.uvlayout.com/index.php?option=com_wrapper&amp;amp;Itemid=98 Headus UVLayout] ($) &lt;br /&gt;
* [http://www.pixologic.com/zbrush/features/UV-Master/ UV Master] script for ZBrush&lt;br /&gt;
* [http://boards.polycount.net/showthread.php?t=69736 TexTools] script for 3ds Max&lt;br /&gt;
* [http://www.raylightgames.com/xrayunwrap/index.html Xrayunwrap] ($) script for 3ds Max&lt;br /&gt;
* [http://www.scriptspot.com/3ds-max/scripts/texture-atlas-generator Texture Atlas Generator] script for 3ds Max (creates an atlas by slicing up the mesh)&lt;br /&gt;
* [http://boards.polycount.net/showthread.php?t=52415 Normalize UVs Maxscript] for 3ds Max&lt;br /&gt;
* [http://developer.nvidia.com/object/texture_atlas_tools.html Texture Atlas Tools] by Nvidia&lt;br /&gt;
&lt;br /&gt;
== More Info ==&lt;br /&gt;
* [[ChannelPacking]]&lt;br /&gt;
* [[Modular_environments]]&lt;br /&gt;
* [[MultiTexture]]&lt;br /&gt;
* [[TextureCoordinates]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Texturing]] [[Category:TextureTechnique]] [[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Texture_atlas</id>
		<title>Texture atlas</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Texture_atlas"/>
				<updated>2018-04-16T19:25:22Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: /* Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Texture Atlas describes the method of packing many separate textures together into a single texture. Other common names for this are &amp;quot;decal sheet&amp;quot;, &amp;quot;packed texture&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Atlases save texture fetches, which can help improve the [[FPS|frame rate]].&lt;br /&gt;
&lt;br /&gt;
Each of the textures can be [[Tiling|tiled]] with themselves, just like a regular tiling texture. &lt;br /&gt;
&lt;br /&gt;
The textures can either be cropped out of the atlas by adding more edges to the model and cutting up the [[Texture Coordinates|texture coordinates]] (at the expense of increasing the [[Polygon_Count#Triangle_Count_vs._Vertex_Count|vertex count]]), or the textures can be arranged as [http://udn.epicgames.com/Three/TerrainAdvancedTextures.html#Texture%20Packing:%20Implementing%20large%20texture%20tile%20sets sub-tiles] and cropped out using a [[Shaders|shader]] (at the expense of increasing the shader instructions).&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Atlas Methods ==&lt;br /&gt;
There are two common atlas methods: one divides a single bitmap into multiple sub-maps (this is usually what artists mean when they say &amp;quot;atlas&amp;quot;), the other method packs different grayscale maps into each color channel (this can be called a multimap or [[ChannelPacking|channel packing]]). The two methods are not exclusive, they can also be used together in the same bitmap.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| [[Image:Stefan-Morrell_modular-texture.jpg|thumb|300px|An atlas of sub-maps.&amp;lt;br/&amp;gt;Image by [http://stefan-morrell.cgsociety.org/gallery/ Stefan Morrell].]]&lt;br /&gt;
| [[Image:SneferTileExplain.jpg|thumb|200px|Channel packing and sub-maps, in the same texture layout.&amp;lt;br/&amp;gt;Image by [http://www.torfrick.com/ Tor &amp;quot;Snefer&amp;quot; Frick].]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
*2015-06-26 [https://forum.allegorithmic.com/index.php?topic=5840.0 Substance Designer: Creating a texture atlas]- by [https://www.artstation.com/wesmcdermott Wes McDermott]&lt;br /&gt;
* 2013-04-08 [http://oliverm-h.blogspot.com/2013/04/how-to-create-ue3udk-texture-atlases.html How to create UE3/UDK Texture Atlases (tileable)] - by [http://oliverm-h.blogspot.com/ 'mAlkAv!An'], using a custom HLSL node to apply separate UVs for texturing vs. mipmapping.&lt;br /&gt;
* 2013-04-02 [http://udn.epicgames.com/Three/TerrainAdvancedTextures.html#Texture%20Packing:%20Implementing%20large%20texture%20tile%20sets UDN - Three - TerrainAdvancedTextures - Texture Packing: Implementing large texture tile sets]&lt;br /&gt;
* 2013-04-02 [http://forums.epicgames.com/threads/710560-The-WIP-Thread?p=31189949&amp;amp;viewfull=1#post31189949 UDK - how to solve 'frac' artifacts and mipmapping seams] - how to implement sub-tiles in UDK, and solve seams.&lt;br /&gt;
* 2013-03-13 [http://www.georgesokol.blogspot.com/2013/03/pro-tip-easy-way-to-work-with-seperate.html An easy way to work with separate channels in a &amp;quot;combined texture&amp;quot;] - by [http://www.georgesokol.blogspot.com George &amp;quot;gsokol&amp;quot; Sokol], using Photoshop's Layer Style to improve the texture editing process for [[ChannelPacking|channel packing]].&lt;br /&gt;
* 2012-06-07 [http://www.polycount.com/forum/showthread.php?t=100388 The Desert(What can you do with no diffuse maps?)] Polycount forum thread. Vertex blending using multiple [[ChannelPacking|channel packed]] modulation textures, in UDK. See also [http://artisaverb.info/DitchingDiffuse.html Ditching Diffuse Maps: A foray into artistic reasoning and technical details behind &amp;quot;procedural&amp;quot; texturing, with practical examples on today's tech] by [http://artisaverb.info/ Andrew 'd1ver' Maximov].&lt;br /&gt;
* 2012-05-28 [http://www.polycount.com/forum/showthread.php?p=1595258#post1595258 UDK The Dunes] Polycount Forum thread. Using two 256x256 textures to texture an entire scene, one as a normal map and the other [[ChannelPacking|channel packed]] to store four textures.&lt;br /&gt;
* 2012-05-01 [http://www.digitaltutors.com/tutorial/688-Multi-Tile-Texture-Workflows Digital-Tutors: Multi-Tile Texture Workflows Tutorial] ($) - by Justin Marshall / Digital Tutors, using UV organization to assign multiple textures to a single character, and how it works in various 3D apps.&lt;br /&gt;
* 2011-10-19 [http://www.polycount.com/forum/showthread.php?t=90092 UDK - Material - Multi-UV Changes] - more UDK techniques for sub-tiles.&lt;br /&gt;
* 2011-10-09 [http://www.polycount.com/forum/showthread.php?t=89682 An exercise in modular textures - Scifi lab UDK] - by [http://www.torfrick.com/ Tor 'Snefer' Frick], an exercise in extreme texture [[ChannelPacking|channel packing]], packing multiple maps into the four channels of a texture file.&lt;br /&gt;
* 2011-09-26 [http://mtnphil.wordpress.com/2011/09/26/terrain-texture-atlas-construction/ Terrain texture atlas construction] - how to properly compile sub-tiles into a large texture sheet.&lt;br /&gt;
* 2010-12-20 [http://www.polycount.com/forum/showthread.php?t=79374 UV tiling tricks within 0 to 1 space] from the Polycount forum&lt;br /&gt;
* 2010-12-17 [https://www.3dmotive.com/f101001 Modular Building Workflow] - ($) a 3dmotive tutorial by [http://www.tylerwanlass.com/ Tyler Wanlass], covers planning and workflow for modular buildings using Photoshop, 3ds Max, and UDK.&lt;br /&gt;
* 2010-11-08 [http://www.polycount.com/forum/showthread.php?t=78192 Work-flow for large texture atlases] from the Polycount forum&lt;br /&gt;
* 2010-06-27 [http://www.philipk.net/tutorials/modular_sets/modular_sets.html  Working with Modular Sets] - by [http://www.philipk.net Philip 'PhilipK' Klevestav], how to design and texture modular sci-fi wall panels.&lt;br /&gt;
* 2010-03-25 [http://www.chrisalbeluhn.com/Building_Layout_Guideline_Tutorial.html Visually Appealing Building Guide] - by [http://www.chrisalbeluhn.com Christopher Albeluhn], an excellent breakdown of how to create visual interest with game buildings. [http://www.chrisalbeluhn.com/3D_Tutorials.html Additional tutorials here].&lt;br /&gt;
* 2008-06-26 [http://boards.polycount.net/showthread.php?t=54178 Mod Facade Challenge] - by [http://www.linkedin.com/in/earthquake Joe 'EarthQuake' Wilson], breaking up a building into modular pieces and designing the texture sheet.&lt;br /&gt;
* 2006-11-08 [http://www.game-artist.net/forums/tutorials/182-step-step-techniques-tiling-textures-3ds-max.html Creating tiling textures in 3dsmax] - by [http://chrisholden.net/ Chris 'cholden' Holden]&lt;br /&gt;
* 2006-01-26 [http://www.gamasutra.com/view/feature/2530/practical_texture_atlases.php Practical Texture Atlases] on Gamasutra by [http://www.haemimontgames.com/company/keypeople.html Ivan-Assen Ivanov]&lt;br /&gt;
* 2005-12-20 [http://poopinmymouth.com/tutorials/thirding-textures-tip.html Thirding - Utilizing your texture space for environment work] - by [http://poopinmymouth.com/ Ben 'poopinmymouth' Mathis]&lt;br /&gt;
&lt;br /&gt;
== Gutters ==&lt;br /&gt;
When a game model is textured using a single texture sheet, the texture will have typically have UV'd areas ([[Texture Coordinates|UV shells]]) and blank areas between them (gutters). &lt;br /&gt;
&lt;br /&gt;
The width of the gutter needs to be wide enough to accommodate how much [[EdgePadding]] you need. This varies depending on how large the texture is and the [[Texture filtering|texture filtering]] type used by the game renderer.&lt;br /&gt;
&lt;br /&gt;
== Packing Tools ==&lt;br /&gt;
*2015-05-17 [https://vimeo.com/126382588 Easy Atlas] uses Photoshop and Maya.&lt;br /&gt;
*2014-09-25 [http://www.polycount.com/forum/showthread.php?p=2143621#post2143621 MapToAtlas] 3ds Max script by [http://www.juantwo.com/ Juan &amp;quot;monster&amp;quot; Martinez] &lt;br /&gt;
* [http://www.polycount.com/forum/showthread.php?t=80723 Decent UV Packing Script/Tool?] thread on the Polycount forum&lt;br /&gt;
* [http://www.uvlayout.com/index.php?option=com_wrapper&amp;amp;Itemid=98 Headus UVLayout] ($) &lt;br /&gt;
* [http://www.pixologic.com/zbrush/features/UV-Master/ UV Master] script for ZBrush&lt;br /&gt;
* [http://boards.polycount.net/showthread.php?t=69736 TexTools] script for 3ds Max&lt;br /&gt;
* [http://www.raylightgames.com/xrayunwrap/index.html Xrayunwrap] ($) script for 3ds Max&lt;br /&gt;
* [http://www.scriptspot.com/3ds-max/scripts/texture-atlas-generator Texture Atlas Generator] script for 3ds Max (creates an atlas by slicing up the mesh)&lt;br /&gt;
* [http://boards.polycount.net/showthread.php?t=52415 Normalize UVs Maxscript] for 3ds Max&lt;br /&gt;
* [http://developer.nvidia.com/object/texture_atlas_tools.html Texture Atlas Tools] by Nvidia&lt;br /&gt;
&lt;br /&gt;
== More Info ==&lt;br /&gt;
* [[ChannelPacking]]&lt;br /&gt;
* [[Modular_environments]]&lt;br /&gt;
* [[MultiTexture]]&lt;br /&gt;
* [[TextureCoordinates]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Texturing]] [[Category:TextureTechnique]] [[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/ChannelPacking</id>
		<title>ChannelPacking</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/ChannelPacking"/>
				<updated>2018-03-08T21:01:24Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Channel packing means using different grayscale images in each of a texture's image channels... Red, Green, Blue, and optionally Alpha. &lt;br /&gt;
&lt;br /&gt;
These channels are usually used to represent traditional RGB color data, plus Alpha transparency. However each channel is really just a grayscale image, so different types of image data can be stored in them.&lt;br /&gt;
&lt;br /&gt;
Individual channels can be extracted by a [[Shaders|shader]] to use them for particular effects, for example the red channel for glow, green channel for specular, blue channel for sound types, alpha channel for physics info, etc. Each channel can have a totally different layout, and thus use different [[TextureCoordinates|UVs]]. &lt;br /&gt;
&lt;br /&gt;
Games use this technique to avoid loading separate grayscale images, which saves [[Memory]]. However this does increase shader complexity, which can increase [[GameRenderingTerminology#Draw Call|draw calls]]. &lt;br /&gt;
&lt;br /&gt;
[[RMA]] is a type of packed map which contains [[Roughness map|Roughness]] + [[Metallic map|Metallic]] + [[Ambient occlusion map|Ambient occlusion]], which are used with [[PBR]] (Physically Based Rendering). &lt;br /&gt;
&lt;br /&gt;
== Swizzle ==&lt;br /&gt;
Swizzling means to change the order of the color channels in a texture. For example, moving the red channel into the alpha channel, to prepare an image for [[Normal_Map_Compression#DXT5nm_Compression|DXT5nm compression]].&lt;br /&gt;
&lt;br /&gt;
Usually swizzling is done to create better results when using image compression, since the green channel sometimes uses more bits. This is because [http://www.physicsclassroom.com/class/light/Lesson-2/Visible-Light-and-the-Eye-s-Response the human visual system is biased] to perceive more values in the green range than in red or blue.&lt;br /&gt;
&lt;br /&gt;
See [[Normal Map Compression]].&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
[[image:TM_Mask_Example.jpg|thumb|600px|left|A channel-packed texture using Red, Green, Blue, and Alpha channels to store four texture masks. See [https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/HowTo/Masking/index.html Using Texture Masks] from the [https://docs.unrealengine.com/latest/INT/ Unreal Engine 4 Documentation].]]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:StandardShaderSpecularMap1000kgWeight.png|thumb|600px|left|Unity's Standard Material has the option to store Glossiness in the alpha of the Specular (or Metallic) texture, see [https://docs.unity3d.com/Manual/StandardShaderMaterialParameterSmoothness.html Unity - Manual: Smoothness] from the [https://docs.unity3d.com/Manual/index.html Unity User Manual].]]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:SneferTileExplain.jpg|thumb|600px|left|Two channel-packed textures, which store a total of six unique textures, see [http://polycount.com/discussion/89682 An exercise in modular textures - Scifi lab UDK] on the Polycount Forum. Image by [http://www.torfrick.com/ Tor 'Snefer' Frick].]]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:DistingTileExplain.jpg|thumb|400px|left|A channel-packed texture used to texture an entire scene, see [http://polycount.com/discussion/comment/1588220/#Comment_1588220 [UDK] Oil Rig Observation Outpost] on the Polycount Forum. Image by [http://artbywiktor.com/ Wiktor 'Disting' Öhman].]]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:Marcan-MassEffect3-swizzle.jpg|thumb|600px|left|A channel-packed texture used in Mass Effect 3, see [http://polycount.com/discussion/comment/1881634/#Comment_1881634 Mass Effect 3 art - Marc-Antoine Hamelin] on the Polycount Forum. Image by [http://www.marc-antoine.ca/ Marc-Antoine 'Marcan' Hamelin].]]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compression Artifacts ==&lt;br /&gt;
If you save a channel-packed texture using [[DXT]] compression, it will probably add blocky artifacts to your maps. To learn how to reduce these errors, see [[Normal Map Compression]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [http://helpx.adobe.com/photoshop/using/channel-basics.html Photoshop alpha channels]&lt;br /&gt;
* [http://docs.gimp.org/en/gimp-channel-dialog.html Gimp alpha channels]&lt;br /&gt;
* [http://polycount.com/discussion/148082 Channel Shuffle]&lt;br /&gt;
* [https://support.allegorithmic.com/documentation/display/SPDOC/Creating+export+presets Substance Painter export presets]&lt;br /&gt;
* [https://support.allegorithmic.com/documentation/display/SDDOC/RGBA+Merge Substance Designer RGBA Merge]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
* [[MultiTexture]]&lt;br /&gt;
* [[Normal Map Compression]]&lt;br /&gt;
* [[Shaders]]&lt;br /&gt;
* [[Texture atlas]]&lt;br /&gt;
* [[TextureCoordinates]]&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
[[Category:Texturing]] [[Category:TextureTechnique]] [[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/ChannelPacking</id>
		<title>ChannelPacking</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/ChannelPacking"/>
				<updated>2017-08-01T21:22:17Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Channel packing means using different grayscale images in each of a texture's image channels... Red, Green, Blue, and optionally Alpha. &lt;br /&gt;
&lt;br /&gt;
These channels are usually used to represent traditional RGB color data, plus Alpha transparency. However each channel is really just a grayscale image, so different types of image data can be stored in them.&lt;br /&gt;
&lt;br /&gt;
Individual channels can be extracted by a [[Shaders|shader]] to use them for particular effects, for example the red channel for glow, green channel for specular, blue channel for sound types, alpha channel for physics info, etc. Each channel can have a totally different layout, and thus use different [[TextureCoordinates|UVs]]. &lt;br /&gt;
&lt;br /&gt;
Games use this technique to avoid loading separate grayscale images, which saves [[Memory]]. However this does increase shader complexity, which can increase [[GameRenderingTerminology#Draw Call|draw calls]]. &lt;br /&gt;
&lt;br /&gt;
[[RMA]] is a type of packed map which contains [[Roughness map|Roughness]] + [[Metallic map|Metallic]] + [[Ambient occlusion map|Ambient occlusion]], which are used with [[PBR]] (Physically Based Rendering). &lt;br /&gt;
&lt;br /&gt;
== Swizzle ==&lt;br /&gt;
Swizzling means to change the order of the color channels in a texture. For example, moving the red channel into the alpha channel, to prepare an image for [[Normal_Map_Compression#DXT5nm_Compression|DXT5nm compression]].&lt;br /&gt;
&lt;br /&gt;
Usually swizzling is done to create better results when using image compression, since the green channel sometimes uses more bits. This is because the human visual system is biased to perceive more values in the green range than in red or blue.&lt;br /&gt;
&lt;br /&gt;
See [[Normal Map Compression]].&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
[[image:SneferTileExplain.jpg|thumb|600px|left|Two channel-packed textures, which store a total of six unique textures, see [http://polycount.com/discussion/89682 An exercise in modular textures - Scifi lab UDK] on the Polycount Forum. Image by [http://www.torfrick.com/ Tor 'Snefer' Frick].]]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:DistingTileExplain.jpg|thumb|400px|left|A channel-packed texture used to texture an entire scene, see [http://polycount.com/discussion/comment/1588220/#Comment_1588220 [UDK] Oil Rig Observation Outpost] on the Polycount Forum. Image by [http://artbywiktor.com/ Wiktor 'Disting' Öhman].]]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:Marcan-MassEffect3-swizzle.jpg|thumb|600px|left|A channel-packed texture used in Mass Effect 3, see [http://polycount.com/discussion/comment/1881634/#Comment_1881634 Mass Effect 3 art - Marc-Antoine Hamelin] on the Polycount Forum. Image by [http://www.marc-antoine.ca/ Marc-Antoine 'Marcan' Hamelin].]]&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Compression Artifacts ==&lt;br /&gt;
If you save a channel-packed texture using [[DXT]] compression, it will probably add blocky artifacts to your maps. To learn how to reduce these errors, see [[Normal Map Compression]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [http://helpx.adobe.com/photoshop/using/channel-basics.html Photoshop alpha channels]&lt;br /&gt;
* [http://docs.gimp.org/en/gimp-channel-dialog.html Gimp alpha channels]&lt;br /&gt;
* [http://polycount.com/discussion/148082 Channel Shuffle]&lt;br /&gt;
* [https://support.allegorithmic.com/documentation/display/SPDOC/Creating+export+presets Substance Painter export presets]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
* [[MultiTexture]]&lt;br /&gt;
* [[Normal Map Compression]]&lt;br /&gt;
* [[Shaders]]&lt;br /&gt;
* [[Texture atlas]]&lt;br /&gt;
* [[TextureCoordinates]]&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
[[Category:Texturing]] [[Category:TextureTechnique]] [[Category:Glossary]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Modular_environments</id>
		<title>Modular environments</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Modular_environments"/>
				<updated>2017-05-04T04:35:12Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modular means pieces are made to fit together according to a common pattern, so just a few pieces can be reused multiple times to create a bunch of variety.&lt;br /&gt;
&lt;br /&gt;
== Modular Design &amp;amp; Workflow ==&lt;br /&gt;
How to plan out the development of modular environment pieces, and the workflow for creating them. The design of modular pieces is closely linked to game design; see [[:Category:GameDesign]] for more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:ThiagoKlafke_boundingboxes1.jpg|150px|link=http://polycount.com/discussion/170819/modelling-buildings-with-interior-question]] [http://polycount.com/discussion/170819/modelling-buildings-with-interior-question Modelling Buildings with Interior (Question)] Polycount Forum thread with advice on creating buildings.&lt;br /&gt;
&lt;br /&gt;
[[Image:JacobNorris_UDKModularBuildingSetBreakdown.jpg|150px|link=http://www.polycount.com/forum/showthread.php?t=144838]] [http://www.polycount.com/forum/showthread.php?t=144838 UE4 Modular Building Set Breakdown] - by [http://www.purepolygons.com/ Jacob &amp;quot;jacob07777&amp;quot; Norris]. Gritty urban city modular system. [[file:JacobNorris_Building_Breakdown.pdf]] (1.5 MB)&lt;br /&gt;
&lt;br /&gt;
[[Image:PaulMandegarian_GearsofWarInspiredEnvironment.jpg|150px|link=http://www.polycount.com/forum/showthread.php?t=130848]] [http://www.polycount.com/forum/showthread.php?t=130848 UDK Gears of War Inspired Environment - Modular] - by [http://www.paulmandegarian.com/ Paul &amp;quot;Ahniketos&amp;quot; Mandegarian]. Gears of War themed modular palace environment. Latest art is [http://www.paulmandegarian.com/projects here on his website].&lt;br /&gt;
&lt;br /&gt;
[[Image:TorFrick_UDKModularMasterclass.jpg|150px|link=http://eat3d.com/udk_modular]] [http://eat3d.com/udk_modular UDK Modular Masterclass - Efficiently Creating and Entire Scene with Tor Frick] - ($) an Eat3D tutorial by [http://www.torfrick.com/ Tor &amp;quot;snefer&amp;quot; Frick]. Abandoned warehouse modular workflow in UDK, using Modo and Photoshop.&lt;br /&gt;
&lt;br /&gt;
[[Image:HelderPinto_PostApocSceneBreakdown.jpg|150px|link=http://www.helderpinto.com/post-apoc-scene-breakdown/]] [http://www.helderpinto.com/post-apoc-scene-breakdown/ Post apoc scene Breakdown] - by [http://www.helderpinto.com/|Helder &amp;quot;HP&amp;quot; Pinto]. Details about the creation of a modular abandoned warehouse.&lt;br /&gt;
&lt;br /&gt;
[[Image:Halo4_Article.jpg|150px|link=http://polycount.com/discussion/159954/the-environment-art-of-halo-4/p1]] [http://polycount.com/discussion/159954/the-environment-art-of-halo-4/p1 Polycount Article: The Environment Art of Halo 4]. Modular workflow for Halo 4.&lt;br /&gt;
&lt;br /&gt;
[[Image:PatrickSutton_TheEnsignTavern.jpg|150px|link=http://www.polycount.com/forum/showthread.php?t=79177]] [http://www.polycount.com/forum/showthread.php?t=79177 the Ensign Tavern] - by [http://www.patricksutton3d.com/ Patrick &amp;quot;PatJS&amp;quot; Sutton]. Breakdowns for a modular multi-floor 19th century building.&lt;br /&gt;
&lt;br /&gt;
[[Image:TylerWinlass_ModularBuildingWorkflow.jpg|150px|link=http://3dmotive.com/series/modular-building-with-udk.html]] [http://3dmotive.com/series/modular-building-with-udk.html Modular Building with UDK] - ($) a 3dmotive tutorial by [https://web.archive.org/web/20130707193229/http://tdub.co/ Tyler Wanlass]. Covers planning and workflow for modular buildings using Photoshop, 3ds Max, and UDK.&lt;br /&gt;
&lt;br /&gt;
[[Image:JoelBurgess_SkyrimsModularApproachtoLevelDesign.jpg|150px|link=http://blog.joelburgess.com/2013/04/skyrims-modular-level-design-gdc-2013.html]] [http://blog.joelburgess.com/2013/04/skyrims-modular-level-design-gdc-2013.html Skyrim’s Modular Approach to Level Design] - Transcript from GDC 2013 talk on Skyrim&amp;quot;s Modular Level Design. An excellent in-depth article on Bethesda&amp;quot;s environment art system.&lt;br /&gt;
&lt;br /&gt;
[[Image:KevinJohnstone_ModularEnvironmentDesign.jpg|150px|link=http://www.kevinjohnstone.com/Help/Modular%20Environment%20Design.rar]] [http://www.kevinjohnstone.com/Help/Modular%20Environment%20Design.rar Modular Environment Design.rar] (12 MB) - by [http://www.kevinjohnstone.com/ Kevin Johnstone]. East Coast Game Conference 2011 slides of the talk &amp;quot;Modular Environment Design, Or how I learned to stop worrying and love the grid&amp;quot;. More workflow explained in the threads [http://boards.polycount.net/showthread.php?p=678052#post678052 Lack of Environment Artists], [http://boards.polycount.net/showthread.php?p=924231#post924231 Gears2 Environment Art] and [http://www.zbrushcentral.com/showthread.php?69232-Gears2-Environment-Art-%28step-by-step-page-5%29&amp;amp;p=552991&amp;amp;viewfull=1#post552991 Gears2 Environment Art Step by Step (ZBrush Central)].&lt;br /&gt;
&lt;br /&gt;
[[image:TorFrick_SciFiLab.jpg|150px|link=http://www.polycount.com/forum/showthread.php?t=89682]] [http://www.polycount.com/forum/showthread.php?t=89682 An exercise in modular textures - Scifi lab UDK] - by [http://www.torfrick.com/ Tor 'Snefer' Frick]. Extreme [[Texture atlas]]ing and [[ChannelPacking]].&lt;br /&gt;
&lt;br /&gt;
[[Image:ScottJones_InvestigationIntoModularDesignWithinComputerGames.jpg|150px|link=file:Investigation_into_modular_design_within_computer_games_v1.0.pdf]] [[file:Investigation_into_modular_design_within_computer_games_v1.0.pdf|Investigation into Modular Design within Computer Games]] (8.6MB PDF) - by [http://www.polycount.com/forum/member.php?u=37149 Scott Jones]. Research paper on modular workflow. Definition, benefits, history of modularity, usage, methods, case studies, UDK and 3ds Max. See the Polycount forum thread [http://www.polycount.com/forum/showthread.php?t=78444 Modular design within games].&lt;br /&gt;
&lt;br /&gt;
[[Image:EpicGames_UsingWorkflowTechniquesAndModularity.jpg|150px|link=http://udn.epicgames.com/Two/WorkflowAndModularity.html]] [http://udn.epicgames.com/Two/WorkflowAndModularity.html Workflow techniques and modularity with Unreal game technology] - by [http://www.epicgames.com Epic Games]. A guide to setting up your art-to-level-design pipeline and designing modularly.&lt;br /&gt;
&lt;br /&gt;
[[Image:BenHale_ModularEnvironmentArtAppliedFromPlasterTabletopSets.jpg|150px|link=http://www.polycount.com/forum/showthread.php?t=116526]] [http://www.polycount.com/forum/showthread.php?t=116526 Modular Environment Art applied from plaster tabletop sets] - by [http://www.polycount.com/forum/member.php?u=14498 Ben &amp;quot;Makkon&amp;quot; Hale]. Polycount forum thread with great visual breakdowns of modular tabeltop models.&lt;br /&gt;
&lt;br /&gt;
[[Image:ChristopherAlbeluhn_VisuallyAppealingBuildingGuide.jpg|150px|link=http://www.chrisalbeluhn.com/Building_Layout_Guideline_Tutorial.html]] [http://www.chrisalbeluhn.com/Building_Layout_Guideline_Tutorial.html Visually Appealing Building Guide] - by [http://www.chrisalbeluhn.com Christopher Albeluhn]. An excellent breakdown of how to create visual interest with game buildings. [http://www.chrisalbeluhn.com/3D_Tutorials.html Additional tutorials here].&lt;br /&gt;
&lt;br /&gt;
[[Image:ThiagoKlafke_CreatingModularEnvironmentsInUDK.jpg|150px|link=http://www.thiagoklafke.com/modularenvironments.html]] [http://www.thiagoklafke.com/modularenvironments.html Creating Modular Environments in UDK] - a tutorial by [http://www.thiagoklafke.com/index.html/ Thiago &amp;quot;Minotaur0&amp;quot; Klafke]. Covers the techniques used to make [http://www.thiagoklafke.com/zestfoundation.html Zest Foundation.]&lt;br /&gt;
&lt;br /&gt;
[[Image:ModularMountAndBlade.jpg|150px|link=ModularMountAndBlade]] [[ModularMountAndBlade|Modular Mount &amp;amp; Blade]] - by [http://wypierpapier.blogspot.com/ &amp;quot;gutekfiutek&amp;quot;]. Modular workflow for the mod &amp;quot;Polished Buildings&amp;quot; for the game Mount &amp;amp; Blade.&lt;br /&gt;
&lt;br /&gt;
[[Image:GlynnSmith_ModularBrickWallTiling.jpg|150px|link=http://boards.polycount.net/showthread.php?p=1101338#post1101338]] [http://boards.polycount.net/showthread.php?p=1101338#post1101338 Modular brick wall tiling] - by [http://iamglynnsmith.com/ Glynn Smith]. Tips and screenshots for sculpting modular brick walls.&lt;br /&gt;
&lt;br /&gt;
[[Image:BramEulaers_GenericWallTutorial.jpg|150px|link=http://www.brameulaers.net/tutorials/generic_wall_tutorial/generic_wall_tutorial.html]] [http://www.brameulaers.net/tutorials/generic_wall_tutorial/generic_wall_tutorial.html Generic wall tutorial] - by [http://www.brameulaers.net Bram &amp;quot;Peris&amp;quot; Eulaers]. Using 3ds Max and Mudbox to sculpt tilable modular sections for a stone wall.&lt;br /&gt;
&lt;br /&gt;
[[Image:RyanGreene_SegaRallyRevo.gif|150px|link=http://boards.polycount.net/showthread.php?t=50160]] [http://boards.polycount.net/showthread.php?t=50160 Rock modeling approaches] - a [http://boards.polycount.net/ Polycount] thread. A variety of approaches for sculpting individual rocks and tilable cliffs.&lt;br /&gt;
&lt;br /&gt;
[[Image:OwenShepherd_CreatingPerfectlyTilingMeshes.jpg|150px|link=http://osart3d.wordpress.com/home-page/tutorial-creating-perfectly-tiling-meshes-in-zbrush-for-use-in-videogame-environments]] [http://osart3d.wordpress.com/home-page/tutorial-creating-perfectly-tiling-meshes-in-zbrush-for-use-in-videogame-environments/ Creating Perfectly Tiling Meshes in Zbrush for use in Videogame Environments] - by [http://osart3d.wordpress.com/ Owen &amp;quot;SHEPEIRO&amp;quot; Shepherd]. Using ZBrush&amp;quot;s 2.5D canvas to tile stamped meshes, then using Maya to model tilable geometry.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhilipKlevestav_WorkingWithModularSets.jpg|150px|link=http://www.philipk.net/tutorials/modular_sets/modular_sets.html]] [http://www.philipk.net/tutorials/modular_sets/modular_sets.html  Working with Modular Sets] - by [http://www.philipk.net Philip &amp;quot;PhilipK&amp;quot; Klevestav]. How to design and texture modular sci-fi wall panels.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhilipKlevestav_ModularRocksTutorial.jpg|150px|link=http://www.philipk.net/tutorials/modular_rocks/modular_rocks.html]] [http://www.philipk.net/tutorials/modular_rocks/modular_rocks.html  Working with Modular Rocks] - by [http://www.philipk.net Philip &amp;quot;PhilipK&amp;quot; Klevestav]. How to design, model, and texture modular rock assets, using Crazy Bump, Photoshop, and 3ds Max.&lt;br /&gt;
&lt;br /&gt;
[[Image:AidyBurrows_ModularityAndOddAnglesOnBlendersGrid.jpg|150px|link=http://www.cgmasters.net/free-tutorials/gamedev-4-modularity-odd-angles-on-blenders-grid/]] [http://www.cgmasters.net/free-tutorials/gamedev-4-modularity-odd-angles-on-blenders-grid/ Modularity &amp;amp; Odd Angles on Blender’s Grid] - by [http://www.cgmasters.net/cg-masters-artist-galleries/aidy-burrows/ Aidy Burrows @ CG Masters]. Getting more natural-looking angles in your modular kit.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* [[ChannelPacking]]&lt;br /&gt;
* [[:Category:EnvironmentModeling]]&lt;br /&gt;
* [[:Category:EnvironmentModularity]]&lt;br /&gt;
* [[:Category:EnvironmentTexturing]] &lt;br /&gt;
* [[:Category:GameDesign]]&lt;br /&gt;
* [[Level Design]]&lt;br /&gt;
* [[MultiTexture]]&lt;br /&gt;
* [[Texture atlas]]&lt;br /&gt;
* [[Units]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Environment]] [[Category:EnvironmentModeling]] [[Category:EnvironmentModularity]] [[Category:EnvironmentTexturing]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Modular_environments</id>
		<title>Modular environments</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Modular_environments"/>
				<updated>2017-05-04T04:25:28Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modular means pieces are made to fit together according to a common pattern, so just a few pieces can be reused multiple times to create a bunch of variety.&lt;br /&gt;
&lt;br /&gt;
== Modular Design &amp;amp; Workflow ==&lt;br /&gt;
How to plan out the development of modular environment pieces, and the workflow for creating them. The design of modular pieces is closely linked to game design; see [[:Category:GameDesign]] for more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:ThiagoKlafke_boundingboxes1.jpg|150px|link=http://polycount.com/discussion/170819/modelling-buildings-with-interior-question]] [http://polycount.com/discussion/170819/modelling-buildings-with-interior-question Modelling Buildings with Interior (Question)] Polycount Forum thread with advice on creating buildings.&lt;br /&gt;
&lt;br /&gt;
[[Image:JacobNorris_UDKModularBuildingSetBreakdown.jpg|150px|link=http://www.polycount.com/forum/showthread.php?t=144838]] [http://www.polycount.com/forum/showthread.php?t=144838 UE4 Modular Building Set Breakdown] - by [http://www.purepolygons.com/ Jacob &amp;quot;jacob07777&amp;quot; Norris]. Gritty urban city modular system. [[file:JacobNorris_Building_Breakdown.pdf]] (1.5 MB)&lt;br /&gt;
&lt;br /&gt;
[[Image:PaulMandegarian_GearsofWarInspiredEnvironment.jpg|150px|link=http://www.polycount.com/forum/showthread.php?t=130848]] [http://www.polycount.com/forum/showthread.php?t=130848 UDK Gears of War Inspired Environment - Modular] - by [http://www.paulmandegarian.com/ Paul &amp;quot;Ahniketos&amp;quot; Mandegarian]. Gears of War themed modular palace environment. Latest art is [http://www.paulmandegarian.com/projects here on his website].&lt;br /&gt;
&lt;br /&gt;
[[Image:TorFrick_UDKModularMasterclass.jpg|150px|link=http://eat3d.com/udk_modular]] [http://eat3d.com/udk_modular UDK Modular Masterclass - Efficiently Creating and Entire Scene with Tor Frick] - ($) an Eat3D tutorial by [http://www.torfrick.com/ Tor &amp;quot;snefer&amp;quot; Frick]. Abandoned warehouse modular workflow in UDK, using Modo and Photoshop.&lt;br /&gt;
&lt;br /&gt;
[[Image:HelderPinto_PostApocSceneBreakdown.jpg|150px|link=http://www.helderpinto.com/post-apoc-scene-breakdown/]] [http://www.helderpinto.com/post-apoc-scene-breakdown/ Post apoc scene Breakdown] - by [http://www.helderpinto.com/|Helder &amp;quot;HP&amp;quot; Pinto]. Details about the creation of a modular abandoned warehouse.&lt;br /&gt;
&lt;br /&gt;
[[Image:Halo4_Article.jpg|150px|link=http://polycount.com/discussion/159954/the-environment-art-of-halo-4/p1]] [http://polycount.com/discussion/159954/the-environment-art-of-halo-4/p1 Polycount Article: The Environment Art of Halo 4]. Modular workflow for Halo 4.&lt;br /&gt;
&lt;br /&gt;
[[Image:PatrickSutton_TheEnsignTavern.jpg|150px|link=http://www.polycount.com/forum/showthread.php?t=79177]] [http://www.polycount.com/forum/showthread.php?t=79177 the Ensign Tavern] - by [http://www.patricksutton3d.com/ Patrick &amp;quot;PatJS&amp;quot; Sutton]. Breakdowns for a modular multi-floor 19th century building.&lt;br /&gt;
&lt;br /&gt;
[[Image:TylerWinlass_ModularBuildingWorkflow.jpg|150px|link=http://3dmotive.com/series/modular-building-with-udk.html]] [http://3dmotive.com/series/modular-building-with-udk.html Modular Building with UDK] - ($) a 3dmotive tutorial by [http://www.tylerwanlass.com/ Tyler Wanlass]. Covers planning and workflow for modular buildings using Photoshop, 3ds Max, and UDK.&lt;br /&gt;
&lt;br /&gt;
[[Image:JoelBurgess_SkyrimsModularApproachtoLevelDesign.jpg|150px|link=http://blog.joelburgess.com/2013/04/skyrims-modular-level-design-gdc-2013.html]] [http://blog.joelburgess.com/2013/04/skyrims-modular-level-design-gdc-2013.html Skyrim’s Modular Approach to Level Design] - Transcript from GDC 2013 talk on Skyrim&amp;quot;s Modular Level Design. An excellent in-depth article on Bethesda&amp;quot;s environment art system.&lt;br /&gt;
&lt;br /&gt;
[[Image:KevinJohnstone_ModularEnvironmentDesign.jpg|150px|link=http://www.kevinjohnstone.com/Help/Modular%20Environment%20Design.rar]] [http://www.kevinjohnstone.com/Help/Modular%20Environment%20Design.rar Modular Environment Design.rar] (12 MB) - by [http://www.kevinjohnstone.com/ Kevin Johnstone]. East Coast Game Conference 2011 slides of the talk &amp;quot;Modular Environment Design, Or how I learned to stop worrying and love the grid&amp;quot;. More workflow explained in the threads [http://boards.polycount.net/showthread.php?p=678052#post678052 Lack of Environment Artists], [http://boards.polycount.net/showthread.php?p=924231#post924231 Gears2 Environment Art] and [http://www.zbrushcentral.com/showthread.php?69232-Gears2-Environment-Art-%28step-by-step-page-5%29&amp;amp;p=552991&amp;amp;viewfull=1#post552991 Gears2 Environment Art Step by Step (ZBrush Central)].&lt;br /&gt;
&lt;br /&gt;
[[image:TorFrick_SciFiLab.jpg|150px|link=http://www.polycount.com/forum/showthread.php?t=89682]] [http://www.polycount.com/forum/showthread.php?t=89682 An exercise in modular textures - Scifi lab UDK] - by [http://www.torfrick.com/ Tor 'Snefer' Frick]. Extreme [[Texture atlas]]ing and [[ChannelPacking]].&lt;br /&gt;
&lt;br /&gt;
[[Image:ScottJones_InvestigationIntoModularDesignWithinComputerGames.jpg|150px|link=file:Investigation_into_modular_design_within_computer_games_v1.0.pdf]] [[file:Investigation_into_modular_design_within_computer_games_v1.0.pdf|Investigation into Modular Design within Computer Games]] (8.6MB PDF) - by [http://www.polycount.com/forum/member.php?u=37149 Scott Jones]. Research paper on modular workflow. Definition, benefits, history of modularity, usage, methods, case studies, UDK and 3ds Max. See the Polycount forum thread [http://www.polycount.com/forum/showthread.php?t=78444 Modular design within games].&lt;br /&gt;
&lt;br /&gt;
[[Image:EpicGames_UsingWorkflowTechniquesAndModularity.jpg|150px|link=http://udn.epicgames.com/Two/WorkflowAndModularity.html]] [http://udn.epicgames.com/Two/WorkflowAndModularity.html Workflow techniques and modularity with Unreal game technology] - by [http://www.epicgames.com Epic Games]. A guide to setting up your art-to-level-design pipeline and designing modularly.&lt;br /&gt;
&lt;br /&gt;
[[Image:BenHale_ModularEnvironmentArtAppliedFromPlasterTabletopSets.jpg|150px|link=http://www.polycount.com/forum/showthread.php?t=116526]] [http://www.polycount.com/forum/showthread.php?t=116526 Modular Environment Art applied from plaster tabletop sets] - by [http://www.polycount.com/forum/member.php?u=14498 Ben &amp;quot;Makkon&amp;quot; Hale]. Polycount forum thread with great visual breakdowns of modular tabeltop models.&lt;br /&gt;
&lt;br /&gt;
[[Image:ChristopherAlbeluhn_VisuallyAppealingBuildingGuide.jpg|150px|link=http://www.chrisalbeluhn.com/Building_Layout_Guideline_Tutorial.html]] [http://www.chrisalbeluhn.com/Building_Layout_Guideline_Tutorial.html Visually Appealing Building Guide] - by [http://www.chrisalbeluhn.com Christopher Albeluhn]. An excellent breakdown of how to create visual interest with game buildings. [http://www.chrisalbeluhn.com/3D_Tutorials.html Additional tutorials here].&lt;br /&gt;
&lt;br /&gt;
[[Image:ThiagoKlafke_CreatingModularEnvironmentsInUDK.jpg|150px|link=http://www.thiagoklafke.com/modularenvironments.html]] [http://www.thiagoklafke.com/modularenvironments.html Creating Modular Environments in UDK] - a tutorial by [http://www.thiagoklafke.com/index.html/ Thiago &amp;quot;Minotaur0&amp;quot; Klafke]. Covers the techniques used to make [http://www.thiagoklafke.com/zestfoundation.html Zest Foundation.]&lt;br /&gt;
&lt;br /&gt;
[[Image:ModularMountAndBlade.jpg|150px|link=ModularMountAndBlade]] [[ModularMountAndBlade|Modular Mount &amp;amp; Blade]] - by [http://wypierpapier.blogspot.com/ &amp;quot;gutekfiutek&amp;quot;]. Modular workflow for the mod &amp;quot;Polished Buildings&amp;quot; for the game Mount &amp;amp; Blade.&lt;br /&gt;
&lt;br /&gt;
[[Image:GlynnSmith_ModularBrickWallTiling.jpg|150px|link=http://boards.polycount.net/showthread.php?p=1101338#post1101338]] [http://boards.polycount.net/showthread.php?p=1101338#post1101338 Modular brick wall tiling] - by [http://iamglynnsmith.com/ Glynn Smith]. Tips and screenshots for sculpting modular brick walls.&lt;br /&gt;
&lt;br /&gt;
[[Image:BramEulaers_GenericWallTutorial.jpg|150px|link=http://www.brameulaers.net/tutorials/generic_wall_tutorial/generic_wall_tutorial.html]] [http://www.brameulaers.net/tutorials/generic_wall_tutorial/generic_wall_tutorial.html Generic wall tutorial] - by [http://www.brameulaers.net Bram &amp;quot;Peris&amp;quot; Eulaers]. Using 3ds Max and Mudbox to sculpt tilable modular sections for a stone wall.&lt;br /&gt;
&lt;br /&gt;
[[Image:RyanGreene_SegaRallyRevo.gif|150px|link=http://boards.polycount.net/showthread.php?t=50160]] [http://boards.polycount.net/showthread.php?t=50160 Rock modeling approaches] - a [http://boards.polycount.net/ Polycount] thread. A variety of approaches for sculpting individual rocks and tilable cliffs.&lt;br /&gt;
&lt;br /&gt;
[[Image:OwenShepherd_CreatingPerfectlyTilingMeshes.jpg|150px|link=http://osart3d.wordpress.com/home-page/tutorial-creating-perfectly-tiling-meshes-in-zbrush-for-use-in-videogame-environments]] [http://osart3d.wordpress.com/home-page/tutorial-creating-perfectly-tiling-meshes-in-zbrush-for-use-in-videogame-environments/ Creating Perfectly Tiling Meshes in Zbrush for use in Videogame Environments] - by [http://osart3d.wordpress.com/ Owen &amp;quot;SHEPEIRO&amp;quot; Shepherd]. Using ZBrush&amp;quot;s 2.5D canvas to tile stamped meshes, then using Maya to model tilable geometry.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhilipKlevestav_WorkingWithModularSets.jpg|150px|link=http://www.philipk.net/tutorials/modular_sets/modular_sets.html]] [http://www.philipk.net/tutorials/modular_sets/modular_sets.html  Working with Modular Sets] - by [http://www.philipk.net Philip &amp;quot;PhilipK&amp;quot; Klevestav]. How to design and texture modular sci-fi wall panels.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhilipKlevestav_ModularRocksTutorial.jpg|150px|link=http://www.philipk.net/tutorials/modular_rocks/modular_rocks.html]] [http://www.philipk.net/tutorials/modular_rocks/modular_rocks.html  Working with Modular Rocks] - by [http://www.philipk.net Philip &amp;quot;PhilipK&amp;quot; Klevestav]. How to design, model, and texture modular rock assets, using Crazy Bump, Photoshop, and 3ds Max.&lt;br /&gt;
&lt;br /&gt;
[[Image:AidyBurrows_ModularityAndOddAnglesOnBlendersGrid.jpg|150px|link=http://www.cgmasters.net/free-tutorials/gamedev-4-modularity-odd-angles-on-blenders-grid/]] [http://www.cgmasters.net/free-tutorials/gamedev-4-modularity-odd-angles-on-blenders-grid/ Modularity &amp;amp; Odd Angles on Blender’s Grid] - by [http://www.cgmasters.net/cg-masters-artist-galleries/aidy-burrows/ Aidy Burrows @ CG Masters]. Getting more natural-looking angles in your modular kit.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* [[ChannelPacking]]&lt;br /&gt;
* [[:Category:EnvironmentModeling]]&lt;br /&gt;
* [[:Category:EnvironmentModularity]]&lt;br /&gt;
* [[:Category:EnvironmentTexturing]] &lt;br /&gt;
* [[:Category:GameDesign]]&lt;br /&gt;
* [[Level Design]]&lt;br /&gt;
* [[MultiTexture]]&lt;br /&gt;
* [[Texture atlas]]&lt;br /&gt;
* [[Units]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Environment]] [[Category:EnvironmentModeling]] [[Category:EnvironmentModularity]] [[Category:EnvironmentTexturing]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/FaceTopology</id>
		<title>FaceTopology</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/FaceTopology"/>
				<updated>2017-05-02T21:53:56Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Examples of good face [[Topology]].&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[BodyTopology]]&lt;br /&gt;
* [[FaceTopology]]&lt;br /&gt;
* [[Limb Topology]]&lt;br /&gt;
* [[ShoulderTopology]]&lt;br /&gt;
* [[SphereTopology]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Anatomy Reference]]&lt;br /&gt;
* [[BaseMesh]]&lt;br /&gt;
* [[ReTopologyModeling]]&lt;br /&gt;
* [[Subdivision Surface Modeling]]&lt;br /&gt;
&lt;br /&gt;
== Topology Examples ==&lt;br /&gt;
&lt;br /&gt;
[[image:TomCrazyfoolParker_topology_breakdown.jpg|frame|left| Image by [https://tomparkersartdump.wordpress.com/ Tom &amp;quot;crazyfool&amp;quot; Parker]. See the Polycount thread [http://polycount.com/discussion/80005 Face Topology Breakdown Guide]. ]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:Luis_Antonio_Facetopo.jpg|frame|left| Image by [http://artofluis.com/ Luis Antonio]. See the Polycount thread [http://polycount.com/discussion/80005 Face Topology Breakdown Guide]. ]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:LeeAlmighty_girDevonald_conquest_heads_sneak_peak.png|frame|left| Image by [http://crazyferretstudios.com/ Lee &amp;quot;Almighty_gir&amp;quot; Devonald]. See the Polycount thread [http://polycount.com/discussion/80005 Face Topology Breakdown Guide]. ]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:TamasVargatomVarga_blackbeard_wireframe.jpg|frame|left|Topology from the announcement trailer for Assassin's Creed IV: Black Flag. Image by [http://www.digicpictures.com/ Digic Pictures]. See the Polycount thread [http://polycount.com/discussion/80005 Face Topology Breakdown Guide]. ]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:MalcolmAndrieshyn_gears3_topology.jpg|frame|left| Gears of War 3 topology. Image by [http://malcom341.com/ MalcolmAndrieshyn]. See the Polycount thread [http://polycount.com/discussion/80005 Face Topology Breakdown Guide]. ]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:MassEffect3_SniperMesh.jpg|frame|left|The sniper from Mass Effect 3. See the Polycount thread [http://polycount.com/discussion/80005 Face Topology Breakdown Guide ]. Image by [http://masseffect.bioware.com/ BioWare].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:ex_head_wireframe.gif|frame|left|Head wireframe examples. Image by [http://www.poopinmymouth.com Ben 'poopinmymouth' Mathis].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:uncharted2_face.jpg|frame|left|Face model from [http://www.unchartedthegame.com/U2AT/ ''Uncharted 2'']. Image by [http://www.naughtydog.com/ Naughty Dog].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:bunk_poly_regions.jpg|frame|left|[http://forums.cgsociety.org/showpost.php?p=399351&amp;amp;postcount=82 More info in this CGTalk post]. Image by [http://forums.cgsociety.org/member.php?userid=7077 'bunk'].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:bunk_minimum_1.jpg|frame|left| Image by [http://forums.cgsociety.org/member.php?userid=7077 'bunk'].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:bunk_genericmesh.jpg|frame|left| Image by [http://forums.cgsociety.org/member.php?userid=7077 'bunk'].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:AndrewCamenisch_polywireBig.jpg|frame|left| Image by [http://www.imdb.com/name/nm1531253/ Andrew Camenisch].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:xsi_female_head.jpg|frame|left| Image by (artist unknown).]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:phreaknasty_cmw_fat.jpg|frame|left| Images by [http://forums.cgsociety.org/member.php?userid=1427 Care 'phreaknasty' Michaud].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:topo_samurai-spina.jpg|frame|left| Image by [http://sheaspina.com/ Shea 'spindraft' Spina].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Facial Features ==&lt;br /&gt;
&lt;br /&gt;
[[image:030_eyeBreakDown.jpg|frame|left|[https://80.lv/articles/secrets-of-human-shaders-in-ue4/ Secrets of Human Shaders in UE4] stylized character workflow process by [https://www.artstation.com/artist/phungdinhdung Dzung Phung Dinh], interview for 80.lv.]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:mathis_eye_construction.jpg|frame|left|[https://web-beta.archive.org/web/20150717014913/http://www.poopinmymouth.com/process/eyes/ng_eyes.htm Next-gen eye tutorial], also see the [http://polycount.com/discussion/97962 Polycount forum thread]. Image by [http://www.poopinmymouth.com Ben 'poopinmymouth' Mathis].]] [[image:mathis_eye_beauty.jpg|frame|left|[https://web-beta.archive.org/web/20150717014913/http://www.poopinmymouth.com/process/eyes/ng_eyes.htm Next-gen eye tutorial], also see the [http://polycount.com/discussion/97962 Polycount forum thread]. Image by [http://www.poopinmymouth.com Ben 'poopinmymouth' Mathis].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:arshlevon_eye_construction.jpg|frame|left| Eye modeling method for Resistance 3, info in this [http://polycount.com/discussion/comment/1568678/#Comment_1568678 Polycount forum thread]. Image by [http://arshlevon.cgsociety.org Samuel &amp;quot;arshlevon&amp;quot; Sharit].]] [[image:arshlevon_eye_beauty.jpg|frame|left| Eye modeling method for Resistance 3, info in this [http://polycount.com/discussion/comment/1568678/#Comment_1568678 Polycount forum thread]. Image by [http://arshlevon.cgsociety.org Samuel &amp;quot;arshlevon&amp;quot; Sharit].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:topo_larking-eye.jpg|frame|left| Image by [http://www.subdivisionmodeling.com/forums/member.php?u=173 A. 'Larky' Larking].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt; &lt;br /&gt;
[[image:topo_larking-mouth.jpg|frame|left| Image by [http://www.subdivisionmodeling.com/forums/member.php?u=173 A. 'Larky' Larking].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt; &lt;br /&gt;
[[image:topo_larking-nose.jpg|frame|left| Image by [http://www.subdivisionmodeling.com/forums/member.php?u=173 A. 'Larky' Larking].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:AndrewCamenisch_nose_wire.jpg|frame|left| Image by [http://www.imdb.com/name/nm1531253/ Andrew Camenisch].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:JuliusHettig_game-teeth.jpg|frame|left|Low-poly teeth.Image by [http://www.juliushettig.com/ Julius 'Quasar' Hettig].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[image:ama_teeth.jpg|frame|left|Teeth anatomy.  Image by [http://www.medem.com/medlb/article_detaillb.cfm?article_ID=ZZZTD0TCGJC&amp;amp;sub_cat=525 The American Medical Association].]] &amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:Topology]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	<entry>
		<id>http://wiki.polycount.com/wiki/Face_weighted_normals</id>
		<title>Face weighted normals</title>
		<link rel="alternate" type="text/html" href="http://wiki.polycount.com/wiki/Face_weighted_normals"/>
				<updated>2017-05-02T19:11:46Z</updated>
		
		<summary type="html">&lt;p&gt;Edek: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Face weighted normals (FWN) is a technique to improve shading for 3d models. Shading can be improved by adding bevels and altering the [[VertexNormal|vertex normals]] to be perpendicular on the larger flat polygons. This forces the shading to be blended across the smaller bevel faces, rather than across the entire model. &lt;br /&gt;
&lt;br /&gt;
However, the added bevels will often create long thin triangles, which can significantly reduce rendering performance. See [http://blog.selfshadow.com/2012/11/12/counting-quads/ Counting Quads].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://www.reddit.com/r/starcitizen/comments/3ogi3o/im_an_tech_artist_in_the_industry_and_id_love_to/ I'm an tech artist in the industry and I'd love to clear up some misconceptions about rendering and game art workflows that I frequently see in comments from SC fans]&lt;br /&gt;
* [http://polycount.com/discussion/155894/decal-technique-from-star-citizen/p1 Decal technique from Star Citizen] Polycount Forum thread&lt;br /&gt;
* [http://polycount.com/discussion/154664/a-short-explanation-about-custom-vertex-normals-tutorial/p1 A short explanation about custom vertex normals (tutorial)] Polycount Forum thread&lt;br /&gt;
* [http://polycount.com/discussion/85809/face-weighted-normals/p1 Face weighted normals] Polycount Forum thread&lt;br /&gt;
* [http://www.bytehazard.com/articles/vertnorm.html Weighted Vertex Normals]&lt;br /&gt;
* [https://web.archive.org/web/20160128060607/http://frostsoft.blogspot.com/2012/01/shading-interpolation-vertex-normals.html FrostSoft: SHADING INTERPOLATION (VNT documentation/ Superspecular soft edges)]&lt;br /&gt;
* [http://polycount.com/discussion/66139/superspecular-soft-edges-tutorial-chapter-1/p1 Superspecular soft edges tutorial chapter 1] Polycount Forum thread&lt;br /&gt;
&lt;br /&gt;
[[image:oliverio_bevel_normals.gif|frame|none|Bending normals on bevelled models. &amp;lt;br&amp;gt;From the tutorial [https://web.archive.org/web/20091118172412/http://deadlineproof.com:80/model-shading-techniques-soft-edge-superspecular/ Shading techniques Superspecular soft edges]&amp;lt;br&amp;gt;Image by [http://deadlineproof.com/ Paolo Oliverio]]]&lt;br /&gt;
&lt;br /&gt;
== FWN Tools ==&lt;br /&gt;
* 3ds Max: [https://github.com/ByteHazard/wnormals wnormals] by Martijn Buijs&lt;br /&gt;
* Blender: [https://www.blend4web.com/en/article/131/ Normal Editor] by Blend4Web&lt;br /&gt;
* Maya: [http://wiki.polycount.com/wiki/VertexNormal#mig_Normal_Tools mig Normal Tools] by Mika Göös&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
* [[Normal map]]&lt;br /&gt;
* [[Smoothing Groups]]&lt;br /&gt;
* [[Vertex color]]&lt;br /&gt;
* [[VertexNormal]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:CharacterModeling]] [[Category:EnvironmentModeling]] [[Category:TextureTechnique]]&lt;/div&gt;</summary>
		<author><name>Edek</name></author>	</entry>

	</feed>