Monday, October 13, 2014

Video Game Shaders

The topic for today is shaders, what are shaders?


Shaders are layers applied to a 3D object or scene that drastically change the dynamics and look of an object. A model without a shader will simply look bare and bland, a model with only a texture will seem strange to look at. This is where shaders come in.Imagine a flat metal sheet that doesn't reflect, shine or look correct when light is applied to it. This sheet will only be a coloured object, with no real dynamics reflecting the environment it is in. Thanks to pixel shaders, the metal object can reflect, bounce light and have more depth to the texture (bumpy surface) or something more complex like liquid running down it.It was not too long ago (roughly the year 2000) that shaders were very basic cheap to make graphic tricks in games such as vertex lighting and stencil shaders were used (Quake 2 and 3 were a good example of this) and surfaces could only be told apart from blinn and phong shaders, giving surfaces a flat and basic look.


Quake 2 by Id Software : Basic shading in the early years of 3D graphics.

Generally a game engine at the time would look flat and lifeless, so tricks like coloured lighting would often make their way into them, but there was still a lack of depth.



Eventually technology caught up with hollywood and per-pixel shaders were created. Using movie techniques that were often used in films and 3D animation, games could start using higher quality models and shaders that changed the way games looked drastically. Bump mapping, per-pixel lighting, dynamic shadows and more material layers with individual shaders brought a whole new life to the dull look we were so used to



Doom 3 by Id Software : The introduction of normal maps and pixel shaders made games look farther ahead of anything they could have been.


Another major innovation is Ptex. Ptex was created by Walt Disney studios as an alternative to regular texture mapping.

Ptex was designed to make UV mapping much more simple and allows for a large number of textures to be assigned to a single file. It also fixes seam issues with models, where an object appears to have a very small thin cut or space between polygons.



Refs: 

https://developer.nvidia.com/sites/default/files/akamai/gamedev/docs/ShaderIntegration_China.pdf

http://ptex.us/documentation.html










No comments:

Post a Comment

Note: Only a member of this blog may post a comment.