Unity Shader StudyUsed Engine: Unity HLSLTeam size: solo projectDuration: three months project

During my military service, I studied this to get used to Unity and shaders written in HLSL language.


First of all, I have four shaders which are applied on plane.

Left two are grass plains. First grass with background is implemented to study of manipulation over UV coordinates and put two sprites together. I learned how to represent transparent and transparent mask sprite through second grass plain. Moreoever, second grass is able to move because I add modifications on vertex shader.

The fire effect was helpful in deepening my understanding of how fire behaves. Lastly, I learned how to efficiently use vertex colors to blend four unique textures together and create a realistic dirt road texture.


Moreover, I have eight different type of Space Robot Kyle.

Fresnel Kyle is located on the most left side. Fresnel lighting highlights the bright areas on the outside. The Kyle next to fresnel Kyle is hologram Kyle. It has bright outline and horizontal lines which moves up continually.

The third variation is Kyle with a cubemap reflection, which reflects the surrounding skybox. You can observe the reflection of the skybox image on different parts of Kyle's body. The last version is toon-rendered Kyle, implemented using a two-pass technique. In the first pass, a black outline is drawn based on the back faces. In the second pass, Kyle is rendered with toon shading effect.

The left Kyle appears as the typical Kyle character but with a semi-transparent effect. Unlike the hologram Kyle mentioned earlier, which reveals every parts inside, this semi-transparent version does not. It is achieved by implementing a first pass that writes only the depth values. Building upon this concept, I created an enhanced version of the hologram Kyle by incorporating a depth pass from the previous iteration.

The third variation is Glittering Kyle, where specific parts of Kyle's body are designed to sparkle and shine brightly. The final Kyle is burning Kyle. Based on its parameter and given noise texture, Kyle burns out.


The last shader I implemented is water shader.

It needs all of my knowledges which I got during this shader study. It contains light calculation, modifications UV values with noise texture, cubemap reflection.