Assignment Goals

The primary goals of this assignment are:

  1. Modify the core Unreal Engine code.
  2. Make a change with minimal guidance.
  3. Develop your own testing strategy for your change.

Post processing passes run code from a shader on every pixel on the screen. Following the example of the VisualizeHDR, add a new shader debugging visualize pass. You can turn VisualizeHDR on and off from Show > Visualize > HDR (Eye Adaptation). Your new pass should print the red, green, and blue floating point values from the SceneColor (aka Base Color) for one pixel, before any other post processing. Make sure to have a visual indicator of the target pixel. As a shader debugging tool, this new pass would allow plugging various intermediate values into the Base Color material output to support simple printf-style debugging.

Details

  1. Create a a Blank C++ project with no starter content called assn7.
    • Though your implementation code will be in the engine, you will need a game project for testing.
    • As usual, put the project at the top level of your git repository
    • Create a test material (or a few test materials) to use while debugging your pass and to demonstrate it to us.
  2. Find your code
    • Find the VisualizeHDR C++ and shader code, and the code to turn it on and off.
    • Look through this code and the code that calls it to understand about what it is doing
    • Consider putting a breakpoint in the code and stepping through to help your understanding
    • Create a new showflag and new pass
  3. Debug and document your work
    • Test your visualize pass with your test materials
    • Capture some screen shots to show that it works

Grad Students

No special grad student part this time

Extra Credit

For up to 5 points of extra credit each (you can do either or both):

Submission

For full credit, you must commit multiple times during your development.

Include screen shots demonstrating your pass.

Add an assn7.txt. Tell us what works and what doesn't, and anything else you think we should know for grading.

Include an explanation of what you had to change, and what files you used as examples. Explain your screen shots so we know how to interpret them.

Push to your repository, and tag your final commit with an assn7 tag.

Note that late assignments will not be accepted after 2:30 PM on December 9th. Since I will be doing a project walkthrough in class on the 9th, any late submissions will need to be completed before then.