Boson
Link to downloadable: https://drive.google.com/uc?export=download&id=1vmDYJlMnEEAp-rtccAdxiM9cj1-LM0_p
In this assignment, we created human readable effect files to store our effect data and converted it to binary file.
Human Readable Effect file:

Binary Version:

Binary version with color mask:
Red | Vertex shader |
Green | Fragment shader |
Blue | Render state |
White | Null Termination for char* |

I appended a null termination after each path address. Fragment shader path is right after the first null termination.
I store those data relative to $(GameInstallDir), and add /data prefix during build time. If I have the prefix in the data file, when I extract from the binary file, I did not need to insert a “data/” before shader handle load the shader, which will be faster in run time. When I insert the data in builder, I use std::string, which is easier to do compare insert const char* before another const char*.
How I extract data:
