Lesson 5 - experimentation

From Bo3b's School for Shaderhackers
Revision as of 23:09, 11 September 2014 by Bo3b admin (Talk | contribs)

Jump to: navigation, search

Summary

This lesson we will talk about the role of experimentation when trying to fix shaders.


Level of difficulty: Easy
Time required: 30 minutes

Video Walkthrough on YouTube
Video Walkthrough direct download link

Objective

Experiment on a broken shader to see how the pieces work together.
Fix the lava shader so it still works.

Quiz

Fix the entire game, and make a list of all shaders affected.



Taking a look at experimentation.



Let's take a look at the basics of 3D graphics, so you can have a very rough idea of how the pieces fit together. This will give you some understanding of how the shaders work.


  • Play with the Principles of Shading demo.
    1. Get the demo from here
    2. Run the demo and get an understanding of the wireframe vertexes versus the textures.
    3. Look at the Display menu in particular.
    4. Take a first look at the 0.5*D*T formula as a basic building block.
    5. Take a look at the graphics pipeline here
    6. Get a basic idea of the flow of graphics operations, especially noting VertexShaders run before PixelShaders.


After playing with this demo you should have a sense for how 3D graphics are built out of a list of vertices, that make up an array of triangles, that have textures applied to the triangles.



Sometimes we will run into an effect that really cannot be disabled without making the game a lot worse.

In this game, the Lava effect is an example. It's annoyingly broken, and makes those parts of the games unplayble. But, disabling it altogether removes the visual cue of the dangerous areas.

Let's experiment with it, to see if we can make something better.


  • Experiment on lava shaders.
    1. Inspect and experiment on lava in both PS and VS.
    2. In pixel shader
    3. Fix lava by killing one texture instead of the entire shader.



Quiz: Go through the rest of the game, at least 3 full levels, and disable or fix all broken effects.

  • Fix the entire game.
    1. Go through at least 3 levels, and find and mark all broken effects.
    2. Disable all broken effects.
    3. Fix the lava effect by disabling the texture.
    4. Save your list of modified shaders to your personal page.