├── .gitattributes ├── 978-1-4842-8651-7.jpg ├── Book Figures ├── Chapter 1 │ ├── Figure 1.1.png │ └── desktop.ini ├── Chapter 10 │ ├── Figure 10.1.png │ ├── Figure 10.10.png │ ├── Figure 10.11.png │ ├── Figure 10.12.png │ ├── Figure 10.13.png │ ├── Figure 10.14.png │ ├── Figure 10.15.png │ ├── Figure 10.16.png │ ├── Figure 10.17.png │ ├── Figure 10.18.png │ ├── Figure 10.19.png │ ├── Figure 10.2.png │ ├── Figure 10.20.png │ ├── Figure 10.21.png │ ├── Figure 10.22.png │ ├── Figure 10.23.png │ ├── Figure 10.24.png │ ├── Figure 10.25.png │ ├── Figure 10.26.png │ ├── Figure 10.27.png │ ├── Figure 10.28.png │ ├── Figure 10.29.png │ ├── Figure 10.3.png │ ├── Figure 10.30.png │ ├── Figure 10.31.png │ ├── Figure 10.32.png │ ├── Figure 10.33.png │ ├── Figure 10.34.png │ ├── Figure 10.35.png │ ├── Figure 10.36.png │ ├── Figure 10.37.png │ ├── Figure 10.38.png │ ├── Figure 10.39.png │ ├── Figure 10.4.png │ ├── Figure 10.40.png │ ├── Figure 10.41.png │ ├── Figure 10.42.png │ ├── Figure 10.43.png │ ├── Figure 10.44.png │ ├── Figure 10.5.png │ ├── Figure 10.6.png │ ├── Figure 10.7.png │ ├── Figure 10.8.png │ ├── Figure 10.9.png │ └── desktop.ini ├── Chapter 11 │ ├── Figure 11.1.png │ ├── Figure 11.2.png │ ├── Figure 11.3.png │ ├── Figure 11.4.png │ ├── Figure 11.5.png │ ├── Figure 11.6.png │ ├── Figure 11.7.png │ ├── Figure 11.8.png │ ├── Figure 11.9.png │ └── desktop.ini ├── Chapter 12 │ ├── Figure 12.1.png │ ├── Figure 12.10.png │ ├── Figure 12.11.png │ ├── Figure 12.12.png │ ├── Figure 12.13.png │ ├── Figure 12.2.png │ ├── Figure 12.3.png │ ├── Figure 12.4.png │ ├── Figure 12.5.png │ ├── Figure 12.6.png │ ├── Figure 12.7.png │ ├── Figure 12.8.png │ ├── Figure 12.9.png │ └── desktop.ini ├── Chapter 13 │ ├── Figure 13.1.png │ ├── Figure 13.10.png │ ├── Figure 13.11.png │ ├── Figure 13.12.png │ ├── Figure 13.13.png │ ├── Figure 13.14.png │ ├── Figure 13.2.png │ ├── Figure 13.3.png │ ├── Figure 13.4.png │ ├── Figure 13.5.png │ ├── Figure 13.6.png │ ├── Figure 13.7.png │ ├── Figure 13.8.png │ ├── Figure 13.9.png │ └── desktop.ini ├── Chapter 14 │ ├── Figure 14.1.png │ ├── Figure 14.10.png │ ├── Figure 14.11.png │ ├── Figure 14.12.png │ ├── Figure 14.13.png │ ├── Figure 14.14.png │ ├── Figure 14.15.png │ ├── Figure 14.16.png │ ├── Figure 14.17.png │ ├── Figure 14.18.png │ ├── Figure 14.19.png │ ├── Figure 14.2.png │ ├── Figure 14.20.png │ ├── Figure 14.21.png │ ├── Figure 14.22.png │ ├── Figure 14.23.png │ ├── Figure 14.24.png │ ├── Figure 14.25.png │ ├── Figure 14.26.png │ ├── Figure 14.27.png │ ├── Figure 14.28.png │ ├── Figure 14.29.png │ ├── Figure 14.3.png │ ├── Figure 14.30.png │ ├── Figure 14.31.png │ ├── Figure 14.32.png │ ├── Figure 14.33.png │ ├── Figure 14.34.png │ ├── Figure 14.4.png │ ├── Figure 14.5.png │ ├── Figure 14.6.png │ ├── Figure 14.7.png │ ├── Figure 14.8.png │ ├── Figure 14.9.png │ └── desktop.ini ├── Chapter 2 │ ├── Figure 2.1.png │ ├── Figure 2.10.png │ ├── Figure 2.11.png │ ├── Figure 2.12.png │ ├── Figure 2.13.png │ ├── Figure 2.14.png │ ├── Figure 2.15.png │ ├── Figure 2.16.png │ ├── Figure 2.17.png │ ├── Figure 2.18.png │ ├── Figure 2.2.png │ ├── Figure 2.3.png │ ├── Figure 2.4.png │ ├── Figure 2.5.png │ ├── Figure 2.6.png │ ├── Figure 2.7.png │ ├── Figure 2.8.png │ ├── Figure 2.9.png │ └── desktop.ini ├── Chapter 3 │ ├── Figure 3.1.png │ ├── Figure 3.2.png │ ├── Figure 3.3.png │ ├── Figure 3.4.png │ └── desktop.ini ├── Chapter 4 │ ├── Figure 4.1.png │ ├── Figure 4.10.png │ ├── Figure 4.11.png │ ├── Figure 4.12.png │ ├── Figure 4.13.png │ ├── Figure 4.14.png │ ├── Figure 4.15.png │ ├── Figure 4.16.png │ ├── Figure 4.17.png │ ├── Figure 4.18.png │ ├── Figure 4.2.png │ ├── Figure 4.3.PNG │ ├── Figure 4.4.png │ ├── Figure 4.5.png │ ├── Figure 4.6.png │ ├── Figure 4.7.png │ ├── Figure 4.8.png │ ├── Figure 4.9.png │ └── desktop.ini ├── Chapter 5 │ ├── Figure 5.1.png │ ├── Figure 5.11.png │ ├── Figure 5.12.png │ ├── Figure 5.13.png │ ├── Figure 5.14.png │ ├── Figure 5.15.png │ ├── Figure 5.2.PNG │ ├── Figure 5.3.png │ ├── Figure 5.4.png │ ├── Figure 5.5.png │ ├── Figure 5.6.png │ ├── Figure 5.7.png │ ├── Figure 5.8.png │ ├── Figure 5.9.png │ └── desktop.ini ├── Chapter 6 │ ├── Figure 6.1.png │ ├── Figure 6.10.png │ ├── Figure 6.11.png │ ├── Figure 6.12.png │ ├── Figure 6.13.png │ ├── Figure 6.14.png │ ├── Figure 6.15.png │ ├── Figure 6.16.png │ ├── Figure 6.17.png │ ├── Figure 6.18.png │ ├── Figure 6.19.png │ ├── Figure 6.2.png │ ├── Figure 6.20.png │ ├── Figure 6.21.png │ ├── Figure 6.22.png │ ├── Figure 6.23.png │ ├── Figure 6.24.png │ ├── Figure 6.25.png │ ├── Figure 6.26.png │ ├── Figure 6.27.png │ ├── Figure 6.3.png │ ├── Figure 6.4.png │ ├── Figure 6.5.png │ ├── Figure 6.6.png │ ├── Figure 6.7.png │ ├── Figure 6.8.png │ ├── Figure 6.9.png │ └── desktop.ini ├── Chapter 7 │ ├── Figure 7.1.png │ ├── Figure 7.10.png │ ├── Figure 7.11.png │ ├── Figure 7.12.png │ ├── Figure 7.13.png │ ├── Figure 7.14.png │ ├── Figure 7.15.png │ ├── Figure 7.16.png │ ├── Figure 7.17.png │ ├── Figure 7.18.png │ ├── Figure 7.19.png │ ├── Figure 7.2.png │ ├── Figure 7.20.png │ ├── Figure 7.21.png │ ├── Figure 7.22.png │ ├── Figure 7.23.png │ ├── Figure 7.24.png │ ├── Figure 7.25.png │ ├── Figure 7.26.png │ ├── Figure 7.27.png │ ├── Figure 7.28.png │ ├── Figure 7.29.png │ ├── Figure 7.3.png │ ├── Figure 7.30.png │ ├── Figure 7.31.png │ ├── Figure 7.32.png │ ├── Figure 7.33.png │ ├── Figure 7.34.png │ ├── Figure 7.4.png │ ├── Figure 7.5.png │ ├── Figure 7.6.png │ ├── Figure 7.7.png │ ├── Figure 7.8.png │ ├── Figure 7.9.png │ └── desktop.ini ├── Chapter 8 │ ├── Figure 8.1.png │ ├── Figure 8.10.png │ ├── Figure 8.11.png │ ├── Figure 8.12.png │ ├── Figure 8.13.png │ ├── Figure 8.14.png │ ├── Figure 8.15.png │ ├── Figure 8.16.png │ ├── Figure 8.17.png │ ├── Figure 8.18.png │ ├── Figure 8.19.png │ ├── Figure 8.2.png │ ├── Figure 8.20.png │ ├── Figure 8.21.png │ ├── Figure 8.3.png │ ├── Figure 8.4.png │ ├── Figure 8.5.png │ ├── Figure 8.6.png │ ├── Figure 8.7.png │ ├── Figure 8.8.png │ ├── Figure 8.9.png │ └── desktop.ini ├── Chapter 9 │ ├── Figure 9.1.png │ ├── Figure 9.10.png │ ├── Figure 9.11.png │ ├── Figure 9.12.png │ ├── Figure 9.13.png │ ├── Figure 9.14.png │ ├── Figure 9.15.png │ ├── Figure 9.16.png │ ├── Figure 9.17.png │ ├── Figure 9.2.png │ ├── Figure 9.3.png │ ├── Figure 9.4.png │ ├── Figure 9.5.png │ ├── Figure 9.6.png │ ├── Figure 9.7.png │ ├── Figure 9.8.png │ ├── Figure 9.9.png │ └── desktop.ini └── desktop.ini ├── Contributing.md ├── LICENSE.txt ├── Models ├── GrassBlade.blend ├── GrassBlade.blend1 ├── Icosphere.blend ├── Icosphere.blend1 ├── ObjectCage.blend ├── ObjectCage2.blend ├── Suzanne.blend ├── SuzanneSmooth.blend ├── Terrain.blend ├── Terrain.blend1 ├── circle.blend ├── circle.blend1 └── desktop.ini ├── README.md ├── Shaders ├── Built-in Pipeline │ ├── Code │ │ ├── Chapter 10 │ │ │ ├── FlatShading.shader │ │ │ ├── GouraudShading.shader │ │ │ ├── PBR.shader │ │ │ ├── PhongShading.shader │ │ │ └── desktop.ini │ │ ├── Chapter 11 │ │ │ ├── GaussianBlur.shader │ │ │ ├── GaussianBlurEffect.cs │ │ │ ├── Greyscale.shader │ │ │ ├── GreyscaleEffect.cs │ │ │ ├── RTExample.cs │ │ │ └── desktop.ini │ │ ├── Chapter 12 │ │ │ ├── Grass.shader │ │ │ ├── NormalDebug.shader │ │ │ ├── ProceduralGrass.compute │ │ │ ├── ProceduralGrass.cs │ │ │ ├── TessLOD.shader │ │ │ ├── Waves.shader │ │ │ └── desktop.ini │ │ ├── Chapter 13 │ │ │ ├── ConditionalExample.shader │ │ │ ├── HueShift.shader │ │ │ ├── PackingExample.shader │ │ │ └── desktop.ini │ │ ├── Chapter 14 │ │ │ ├── CelShading.shader │ │ │ ├── DissolveWorld.cs │ │ │ ├── DissolveWorld.shader │ │ │ ├── Hologram.shader │ │ │ ├── InteractiveSnow.compute │ │ │ ├── InteractiveSnow.cs │ │ │ ├── InteractiveSnow.shader │ │ │ ├── SnowActor.cs │ │ │ ├── SpritePixelate.shader │ │ │ ├── SpriteRipples.shader │ │ │ ├── WorldScanner.shader │ │ │ ├── WorldScannerEffect.cs │ │ │ └── desktop.ini │ │ ├── Chapter 3 │ │ │ ├── HelloWorld.shader │ │ │ └── desktop.ini │ │ ├── Chapter 4 │ │ │ └── desktop.ini │ │ ├── Chapter 5 │ │ │ ├── TextureExample.shader │ │ │ └── desktop.ini │ │ ├── Chapter 6 │ │ │ ├── CubemapExample.shader │ │ │ ├── CubemapReflections.shader │ │ │ ├── Flipbook.shader │ │ │ ├── ParticleFlipbook.shader │ │ │ ├── PolarCoordinates.shader │ │ │ ├── Shear.shader │ │ │ ├── Triplanar.shader │ │ │ ├── UVRotation.shader │ │ │ └── desktop.ini │ │ ├── Chapter 7 │ │ │ ├── SceneIntersection.shader │ │ │ ├── Silhouette.shader │ │ │ ├── StencilMask.shader │ │ │ ├── StencilTexture.shader │ │ │ ├── TextureExample.shader │ │ │ ├── Xray.shader │ │ │ ├── ZTestAlways.shader │ │ │ └── desktop.ini │ │ ├── Chapter 8 │ │ │ ├── AlphaCutout.shader │ │ │ ├── Dissolve.shader │ │ │ ├── DitheredTransparency.shader │ │ │ ├── TransparentShader.shader │ │ │ └── desktop.ini │ │ ├── Chapter 9 │ │ │ ├── ControlColor.cs │ │ │ ├── DissolveWorld.cs │ │ │ ├── HelloWorld.shader │ │ │ ├── KeywordControl.cs │ │ │ ├── KeywordExample.shader │ │ │ ├── SepiaTone.shader │ │ │ └── desktop.ini │ │ └── desktop.ini │ ├── Shader Graph │ │ ├── Chapter 10 │ │ │ ├── FlatShading.shadergraph │ │ │ ├── GetAmbientLight.hlsl │ │ │ ├── GetAmbientLight.shadersubgraph │ │ │ ├── GetMainLight.hlsl │ │ │ ├── GetMainLight.shadersubgraph │ │ │ ├── GouraudShading.shadergraph │ │ │ ├── PBR.shadergraph │ │ │ ├── PhongShading.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 13 │ │ │ ├── HueShift.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 14 │ │ │ ├── CelShading.shadergraph │ │ │ ├── DissolveWorld.shadergraph │ │ │ ├── Hologram.shadergraph │ │ │ ├── SpritePixelate.shadergraph │ │ │ ├── SpriteRipple.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 4 │ │ │ ├── HelloShaderGraph.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 5 │ │ │ ├── TextureGraph.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 6 │ │ │ ├── CubemapExample.shadergraph │ │ │ ├── CubemapReflections.shadergraph │ │ │ ├── Flipbook.shadergraph │ │ │ ├── ParticleFlipbook.shadergraph │ │ │ ├── PolarCoordinates.shadergraph │ │ │ ├── Shear.shadergraph │ │ │ ├── Triplanar.shadergraph │ │ │ ├── UVRotate.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 7 │ │ │ ├── SceneIntersections.shadergraph │ │ │ ├── Silhouette.shadergraph │ │ │ ├── ZTestAlways.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 8 │ │ │ ├── AlphaCutout.shadergraph │ │ │ ├── Dissolve.shadergraph │ │ │ ├── DitheredTransparency.shadergraph │ │ │ ├── TransparentTexture.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 9 │ │ │ ├── DissolveWorld.cs │ │ │ ├── DissolveWorld.shadergraph │ │ │ ├── KeywordExample.shadergraph │ │ │ ├── SepiaTone.shadergraph │ │ │ └── desktop.ini │ │ └── desktop.ini │ └── desktop.ini ├── High Definition Render Pipeline │ ├── Code │ │ ├── Chapter 11 │ │ │ ├── GaussianBlur.shader │ │ │ ├── GaussianBlurVolume.cs │ │ │ ├── Greyscale.shader │ │ │ ├── GreyscaleVolume.cs │ │ │ ├── RTExample.cs │ │ │ └── desktop.ini │ │ ├── Chapter 14 │ │ │ ├── Scanner.cs │ │ │ ├── WorldScannerVolume.cs │ │ │ └── desktop.ini │ │ └── desktop.ini │ ├── Shader Graph │ │ ├── Chapter 10 │ │ │ ├── PBR.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 12 │ │ │ ├── Waves.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 13 │ │ │ ├── HueShift.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 14 │ │ │ ├── DissolveWorld.cs │ │ │ ├── DissolveWorld.shadergraph │ │ │ ├── Hologram.shadergraph │ │ │ ├── InteractiveSnow.compute │ │ │ ├── InteractiveSnow.cs │ │ │ ├── InteractiveSnow.shadergraph │ │ │ ├── SnowActor.cs │ │ │ ├── SpritePixelate.shadergraph │ │ │ ├── SpriteRipple.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 4 │ │ │ ├── HelloShaderGraph.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 5 │ │ │ ├── TextureGraph.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 6 │ │ │ ├── CubemapExample.shadergraph │ │ │ ├── CubemapReflections.shadergraph │ │ │ ├── Flipbook.shadergraph │ │ │ ├── ParticleFlipbook.shadergraph │ │ │ ├── PolarCoordinates.shadergraph │ │ │ ├── Shear.shadergraph │ │ │ ├── Triplanar.shadergraph │ │ │ ├── UVRotate.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 7 │ │ │ ├── SceneIntersections.shadergraph │ │ │ ├── Silhouette.shadergraph │ │ │ ├── TextureGraph.shadergraph │ │ │ ├── ZTestAlways.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 8 │ │ │ ├── AlphaCutout.shadergraph │ │ │ ├── Dissolve.shadergraph │ │ │ ├── DitheredTransparency.shadergraph │ │ │ ├── TransparentTexture.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 9 │ │ │ ├── ControlColor.cs │ │ │ ├── DissolveWorld.cs │ │ │ ├── DissolveWorld.shadergraph │ │ │ ├── KeywordControl.cs │ │ │ ├── KeywordExample.shadergraph │ │ │ ├── SepiaTone.shadergraph │ │ │ └── desktop.ini │ │ └── desktop.ini │ └── desktop.ini ├── Universal Render Pipeline │ ├── Code │ │ ├── Chapter 10 │ │ │ ├── FlatShading.shader │ │ │ ├── GouraudShading.shader │ │ │ ├── PBR.shader │ │ │ ├── PhongShading.shader │ │ │ └── desktop.ini │ │ ├── Chapter 11 │ │ │ ├── GaussianBlur.shader │ │ │ ├── GaussianBlurFeature.cs │ │ │ ├── GaussianBlurRenderPass.cs │ │ │ ├── GaussianBlurSettings.cs │ │ │ ├── Greyscale.shader │ │ │ ├── GreyscaleFeature.cs │ │ │ ├── GreyscaleRenderPass.cs │ │ │ ├── GreyscaleSettings.cs │ │ │ ├── RTExample.cs │ │ │ └── desktop.ini │ │ ├── Chapter 12 │ │ │ ├── Grass.shader │ │ │ ├── NormalDebug.shader │ │ │ ├── ProceduralGrass.compute │ │ │ ├── ProceduralGrass.cs │ │ │ ├── TessLOD.shader │ │ │ ├── Waves.shader │ │ │ └── desktop.ini │ │ ├── Chapter 13 │ │ │ ├── ConditionalExample.shader │ │ │ ├── HueShift.shader │ │ │ ├── PackingExample.shader │ │ │ └── desktop.ini │ │ ├── Chapter 14 │ │ │ ├── CelShading.shader │ │ │ ├── DissolveWorld.cs │ │ │ ├── DissolveWorld.shader │ │ │ ├── Hologram.shader │ │ │ ├── InteractiveSnow.compute │ │ │ ├── InteractiveSnow.cs │ │ │ ├── InteractiveSnow.shader │ │ │ ├── Scanner.cs │ │ │ ├── SnowActor.cs │ │ │ ├── SpritePixelate.shader │ │ │ ├── SpriteRipples.shader │ │ │ ├── WorldScanFeature.cs │ │ │ ├── WorldScanRenderPass.cs │ │ │ ├── WorldScanSettings.cs │ │ │ ├── WorldScanner.shader │ │ │ └── desktop.ini │ │ ├── Chapter 3 │ │ │ ├── HelloWorld.shader │ │ │ └── desktop.ini │ │ ├── Chapter 5 │ │ │ ├── TextureExample.shader │ │ │ └── desktop.ini │ │ ├── Chapter 6 │ │ │ ├── CubemapExample.shader │ │ │ ├── CubemapReflections.shader │ │ │ ├── Flipbook.shader │ │ │ ├── ParticleFlipbook.shader │ │ │ ├── PolarCoordinates.shader │ │ │ ├── Shear.shader │ │ │ ├── Triplanar.shader │ │ │ ├── UVRotation.shader │ │ │ └── desktop.ini │ │ ├── Chapter 7 │ │ │ ├── SceneIntersection.shader │ │ │ ├── Silhouette.shader │ │ │ ├── StencilMask.shader │ │ │ ├── StencilTexture.shader │ │ │ ├── TextureExample.shader │ │ │ ├── Xray.shader │ │ │ ├── ZTestAlways.shader │ │ │ └── desktop.ini │ │ ├── Chapter 8 │ │ │ ├── AlphaCutout.shader │ │ │ ├── Dissolve.shader │ │ │ ├── DitheredTransparency.shader │ │ │ ├── TransparentTexture.shader │ │ │ └── desktop.ini │ │ ├── Chapter 9 │ │ │ ├── ControlColor.cs │ │ │ ├── DissolveWorld.cs │ │ │ ├── DissolveWorld.shader │ │ │ ├── HelloWorld.shader │ │ │ ├── KeywordControl.cs │ │ │ ├── KeywordExample.shader │ │ │ ├── SepiaTone.shader │ │ │ └── desktop.ini │ │ └── desktop.ini │ ├── Shader Graph │ │ ├── Chapter 10 │ │ │ ├── FlatShading.shadergraph │ │ │ ├── GetAmbientLight.hlsl │ │ │ ├── GetAmbientLight.shadersubgraph │ │ │ ├── GetMainLight.hlsl │ │ │ ├── GetMainLight.shadersubgraph │ │ │ ├── GouraudShading.shadergraph │ │ │ ├── PBR.shadergraph │ │ │ ├── PhongShading.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 13 │ │ │ ├── HueShift.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 14 │ │ │ ├── CelShading.shadergraph │ │ │ ├── DissolveWorld.shadergraph │ │ │ ├── Hologram.shadergraph │ │ │ ├── SpritePixelate.shadergraph │ │ │ ├── SpriteRipple.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 4 │ │ │ ├── HelloShaderGraph.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 5 │ │ │ ├── TextureGraph.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 6 │ │ │ ├── CubemapExample.shadergraph │ │ │ ├── CubemapReflections.shadergraph │ │ │ ├── Flipbook.shadergraph │ │ │ ├── ParticleFlipbook.shadergraph │ │ │ ├── PolarCoordinates.shadergraph │ │ │ ├── Shear.shadergraph │ │ │ ├── Triplanar.shadergraph │ │ │ ├── UVRotate.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 7 │ │ │ ├── SceneIntersections.shadergraph │ │ │ ├── Silhouette.shadergraph │ │ │ ├── ZTestAlways.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 8 │ │ │ ├── AlphaCutout.shadergraph │ │ │ ├── Dissolve.shadergraph │ │ │ ├── DitheredTransparency.shadergraph │ │ │ ├── TransparentTexture.shadergraph │ │ │ └── desktop.ini │ │ ├── Chapter 9 │ │ │ ├── DissolveWorld.cs │ │ │ ├── DissolveWorld.shadergraph │ │ │ ├── KeywordExample.shadergraph │ │ │ ├── SepiaTone.shadergraph │ │ │ └── desktop.ini │ │ └── desktop.ini │ └── desktop.ini └── desktop.ini ├── Textures ├── Checkerboard.png ├── CheckerboardNumbered.png ├── EmissiveExample.png ├── EmissiveExamplePacked.png ├── HologramCheckerboard.png ├── HologramCheckerboard2.png ├── HologramDots.png ├── HologramStripes.png ├── HologramStripes2.png ├── HologramStripes3.png ├── HologramStripes4.png ├── Ice004_2K_Color.png ├── Line.png ├── ParticleFlipbook.png ├── ParticleFlipbook2.png ├── PremultipliedCircle.png ├── ScanOverlay.png ├── SceneCubemap.png ├── SnowAlt.png ├── Sprites │ ├── Character │ │ ├── character_femaleAdventurer_attack0.png │ │ ├── character_femaleAdventurer_attack1.png │ │ ├── character_femaleAdventurer_attack2.png │ │ ├── character_femaleAdventurer_attackKick.png │ │ ├── character_femaleAdventurer_back.png │ │ ├── character_femaleAdventurer_behindBack.png │ │ ├── character_femaleAdventurer_cheer0.png │ │ ├── character_femaleAdventurer_cheer1.png │ │ ├── character_femaleAdventurer_climb0.png │ │ ├── character_femaleAdventurer_climb1.png │ │ ├── character_femaleAdventurer_down.png │ │ ├── character_femaleAdventurer_drag.png │ │ ├── character_femaleAdventurer_duck.png │ │ ├── character_femaleAdventurer_fall.png │ │ ├── character_femaleAdventurer_fallDown.png │ │ ├── character_femaleAdventurer_hang.png │ │ ├── character_femaleAdventurer_hit.png │ │ ├── character_femaleAdventurer_hold.png │ │ ├── character_femaleAdventurer_hurt.png │ │ ├── character_femaleAdventurer_idle.png │ │ ├── character_femaleAdventurer_interact.png │ │ ├── character_femaleAdventurer_jump.png │ │ ├── character_femaleAdventurer_kick.png │ │ ├── character_femaleAdventurer_rope.png │ │ ├── character_femaleAdventurer_run0.png │ │ ├── character_femaleAdventurer_run1.png │ │ ├── character_femaleAdventurer_run2.png │ │ ├── character_femaleAdventurer_shove.png │ │ ├── character_femaleAdventurer_shoveBack.png │ │ ├── character_femaleAdventurer_show.png │ │ ├── character_femaleAdventurer_side.png │ │ ├── character_femaleAdventurer_slide.png │ │ ├── character_femaleAdventurer_switch0.png │ │ ├── character_femaleAdventurer_switch1.png │ │ ├── character_femaleAdventurer_talk.png │ │ ├── character_femaleAdventurer_think.png │ │ ├── character_femaleAdventurer_walk0.png │ │ ├── character_femaleAdventurer_walk1.png │ │ ├── character_femaleAdventurer_walk2.png │ │ ├── character_femaleAdventurer_walk3.png │ │ ├── character_femaleAdventurer_walk4.png │ │ ├── character_femaleAdventurer_walk5.png │ │ ├── character_femaleAdventurer_walk6.png │ │ ├── character_femaleAdventurer_walk7.png │ │ ├── character_femaleAdventurer_wide.png │ │ └── desktop.ini │ └── desktop.ini ├── TransparentCircle.png └── desktop.ini └── errata.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /978-1-4842-8651-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/978-1-4842-8651-7.jpg -------------------------------------------------------------------------------- /Book Figures/Chapter 1/Figure 1.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 1/Figure 1.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 1/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.10.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.14.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.15.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.16.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.17.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.18.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.19.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.20.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.21.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.22.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.23.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.24.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.25.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.26.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.27.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.28.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.29.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.30.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.31.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.32.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.33.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.34.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.35.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.36.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.37.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.38.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.39.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.40.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.41.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.42.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.43.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.44.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/Figure 10.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 10/Figure 10.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 10/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 11/Figure 11.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 11/Figure 11.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 11/Figure 11.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 11/Figure 11.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 11/Figure 11.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 11/Figure 11.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 11/Figure 11.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 11/Figure 11.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 11/Figure 11.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 11/Figure 11.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 11/Figure 11.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 11/Figure 11.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 11/Figure 11.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 11/Figure 11.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 11/Figure 11.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 11/Figure 11.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 11/Figure 11.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 11/Figure 11.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 11/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.10.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/Figure 12.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 12/Figure 12.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 12/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.10.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.14.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/Figure 13.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 13/Figure 13.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 13/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.10.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.14.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.15.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.16.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.17.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.18.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.19.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.20.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.21.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.22.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.23.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.24.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.25.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.26.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.27.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.28.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.29.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.30.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.31.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.32.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.33.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.34.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/Figure 14.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 14/Figure 14.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 14/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.10.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.14.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.15.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.16.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.17.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.18.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/Figure 2.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 2/Figure 2.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 2/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 3/Figure 3.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 3/Figure 3.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 3/Figure 3.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 3/Figure 3.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 3/Figure 3.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 3/Figure 3.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 3/Figure 3.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 3/Figure 3.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 3/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.10.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.14.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.15.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.16.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.17.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.18.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.3.PNG -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/Figure 4.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 4/Figure 4.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 4/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.14.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.15.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.2.PNG -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/Figure 5.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 5/Figure 5.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 5/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.10.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.14.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.15.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.16.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.17.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.18.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.19.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.20.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.21.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.22.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.23.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.24.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.25.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.26.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.27.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/Figure 6.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 6/Figure 6.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 6/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.10.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.14.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.15.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.16.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.17.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.18.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.19.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.20.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.21.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.22.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.23.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.24.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.25.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.26.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.27.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.28.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.29.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.30.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.31.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.32.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.33.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.34.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/Figure 7.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 7/Figure 7.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 7/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.10.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.14.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.15.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.16.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.17.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.18.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.19.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.20.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.21.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/Figure 8.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 8/Figure 8.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 8/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.1.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.10.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.11.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.12.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.13.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.14.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.15.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.16.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.17.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.2.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.3.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.4.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.5.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.6.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.7.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.8.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/Figure 9.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Book Figures/Chapter 9/Figure 9.9.png -------------------------------------------------------------------------------- /Book Figures/Chapter 9/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Book Figures/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing to Apress Source Code 2 | 3 | Copyright for Apress source code belongs to the author(s). However, under fair use you are encouraged to fork and contribute minor corrections and updates for the benefit of the author(s) and other readers. 4 | 5 | ## How to Contribute 6 | 7 | 1. Make sure you have a GitHub account. 8 | 2. Fork the repository for the relevant book. 9 | 3. Create a new branch on which to make your change, e.g. 10 | `git checkout -b my_code_contribution` 11 | 4. Commit your change. Include a commit message describing the correction. Please note that if your commit message is not clear, the correction will not be accepted. 12 | 5. Submit a pull request. 13 | 14 | Thank you for your contribution! -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Freeware License, some rights reserved 2 | 3 | Copyright (c) 2022 Daniel Ilett 4 | 5 | Permission is hereby granted, free of charge, to anyone obtaining a copy 6 | of this software and associated documentation files (the "Software"), 7 | to work with the Software within the limits of freeware distribution and fair use. 8 | This includes the rights to use, copy, and modify the Software for personal use. 9 | Users are also allowed and encouraged to submit corrections and modifications 10 | to the Software for the benefit of other users. 11 | 12 | It is not allowed to reuse, modify, or redistribute the Software for 13 | commercial use in any way, or for a user’s educational materials such as books 14 | or blog articles without prior permission from the copyright holder. 15 | 16 | The above copyright notice and this permission notice need to be included 17 | in all copies or substantial portions of the software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS OR APRESS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. 26 | 27 | 28 | -------------------------------------------------------------------------------- /Models/GrassBlade.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/GrassBlade.blend -------------------------------------------------------------------------------- /Models/GrassBlade.blend1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/GrassBlade.blend1 -------------------------------------------------------------------------------- /Models/Icosphere.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/Icosphere.blend -------------------------------------------------------------------------------- /Models/Icosphere.blend1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/Icosphere.blend1 -------------------------------------------------------------------------------- /Models/ObjectCage.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/ObjectCage.blend -------------------------------------------------------------------------------- /Models/ObjectCage2.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/ObjectCage2.blend -------------------------------------------------------------------------------- /Models/Suzanne.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/Suzanne.blend -------------------------------------------------------------------------------- /Models/SuzanneSmooth.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/SuzanneSmooth.blend -------------------------------------------------------------------------------- /Models/Terrain.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/Terrain.blend -------------------------------------------------------------------------------- /Models/Terrain.blend1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/Terrain.blend1 -------------------------------------------------------------------------------- /Models/circle.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/circle.blend -------------------------------------------------------------------------------- /Models/circle.blend1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Models/circle.blend1 -------------------------------------------------------------------------------- /Models/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Apress Source Code 2 | 3 | This repository accompanies [*Building Quality Shaders for Unity*](https://link.springer.com/book/10.1007/978-1-4842-8652-4) by Daniel Ilett (Apress, 2022). 4 | 5 | [comment]: #cover 6 | ![Cover image](978-1-4842-8651-7.jpg) 7 | 8 | Download the files as a zip using the green button, or clone the repository to your machine using Git. 9 | 10 | ## Releases 11 | 12 | Release v1.0 corresponds to the code in the published book, without corrections or updates. 13 | 14 | ## Contributions 15 | 16 | See the file Contributing.md for more information on how you can contribute to this repository. -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 10/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 11/GaussianBlurEffect.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class GaussianBlurEffect : MonoBehaviour 4 | { 5 | [Range(1, 101)] 6 | public int kernelSize = 1; 7 | private Material mat; 8 | 9 | void Start() 10 | { 11 | mat = new Material(Shader.Find("Examples/ImageEffect/GaussianBlur")); 12 | } 13 | 14 | void OnRenderImage(RenderTexture src, RenderTexture dst) 15 | { 16 | RenderTexture tmp = RenderTexture.GetTemporary(src.descriptor); 17 | 18 | mat.SetInt("_KernelSize", kernelSize); 19 | 20 | Graphics.Blit(src, tmp, mat, 0); 21 | Graphics.Blit(tmp, dst, mat, 1); 22 | 23 | RenderTexture.ReleaseTemporary(tmp); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 11/Greyscale.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/ImageEffect/Greyscale" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Texture", 2D) = "white" {} 6 | } 7 | SubShader 8 | { 9 | Pass 10 | { 11 | HLSLPROGRAM 12 | #pragma vertex vert 13 | #pragma fragment frag 14 | 15 | #include "UnityCG.cginc" 16 | 17 | struct appdata 18 | { 19 | float4 positionOS : POSITION; 20 | float2 uv : TEXCOORD0; 21 | }; 22 | 23 | struct v2f 24 | { 25 | float2 uv : TEXCOORD0; 26 | float4 positionCS : SV_POSITION; 27 | }; 28 | 29 | v2f vert (appdata v) 30 | { 31 | v2f o; 32 | o.positionCS = UnityObjectToClipPos(v.positionOS); 33 | o.uv = v.uv; 34 | return o; 35 | } 36 | 37 | sampler2D _MainTex; 38 | 39 | float4 frag (v2f i) : SV_Target 40 | { 41 | float4 textureSample = tex2D(_MainTex, i.uv); 42 | 43 | float3 outputColor = Luminance(textureSample); 44 | 45 | return float4(outputColor, 1.0f); 46 | } 47 | ENDHLSL 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 11/GreyscaleEffect.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class GreyscaleEffect : MonoBehaviour 4 | { 5 | private Material mat; 6 | 7 | void Start() 8 | { 9 | mat = new Material(Shader.Find("Examples/ImageEffect/Greyscale")); 10 | } 11 | 12 | void OnRenderImage(RenderTexture src, RenderTexture dst) 13 | { 14 | Graphics.Blit(src, dst, mat); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 11/RTExample.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class RTExample : MonoBehaviour 6 | { 7 | public Camera exampleCamera; 8 | public Material exampleMaterial; 9 | 10 | private RenderTexture rt; 11 | 12 | private void Start() 13 | { 14 | rt = new RenderTexture(1920, 1080, 32, RenderTextureFormat.ARGB32); 15 | rt.Create(); 16 | 17 | exampleCamera.targetTexture = rt; 18 | exampleMaterial.SetTexture("_MainTex", rt); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 11/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 12/Grass.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/Grass" 2 | { 3 | Properties 4 | { 5 | _BaseColor("Base Color", Color) = (0, 0, 0, 1) 6 | _TipColor("Tip Color", Color) = (1, 1, 1, 1) 7 | } 8 | 9 | SubShader 10 | { 11 | Tags 12 | { 13 | "RenderType" = "Opaque" 14 | "Queue" = "Geometry" 15 | } 16 | 17 | Pass 18 | { 19 | HLSLPROGRAM 20 | #pragma vertex vert 21 | #pragma fragment frag 22 | 23 | #include "UnityCG.cginc" 24 | 25 | struct v2f 26 | { 27 | float4 positionCS : SV_Position; 28 | float2 uv : TEXCOORD0; 29 | }; 30 | 31 | StructuredBuffer _Positions; 32 | StructuredBuffer _UVs; 33 | StructuredBuffer _TransformMatrices; 34 | 35 | float4 _BaseColor; 36 | float4 _TipColor; 37 | 38 | v2f vert (uint vertexID : SV_VertexID, uint instanceID : SV_InstanceID) 39 | { 40 | float4x4 mat = _TransformMatrices[instanceID]; 41 | 42 | v2f o; 43 | 44 | float4 pos = float4(_Positions[vertexID], 1.0f); 45 | pos = mul(mat, pos); 46 | o.positionCS = mul(UNITY_MATRIX_VP, pos); 47 | 48 | o.uv = _UVs[vertexID]; 49 | 50 | return o; 51 | } 52 | 53 | float4 frag (v2f i) : SV_Target 54 | { 55 | return lerp(_BaseColor, _TipColor, i.uv.y); 56 | } 57 | ENDHLSL 58 | } 59 | } 60 | Fallback Off 61 | } 62 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 12/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 13/ConditionalExample.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/ConditionalExample" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | _ShouldInvertColor ("Should invert?", Float) = 0 7 | } 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "RenderType" = "Opaque" 13 | "Queue" = "Geometry" 14 | } 15 | 16 | Pass 17 | { 18 | HLSLPROGRAM 19 | #pragma vertex vert 20 | #pragma fragment frag 21 | 22 | #include "UnityCG.cginc" 23 | 24 | struct appdata 25 | { 26 | float4 positionOS : Position; 27 | }; 28 | 29 | struct v2f 30 | { 31 | float4 positionCS : SV_Position; 32 | }; 33 | 34 | float4 _BaseColor; 35 | float _ShouldInvertColor; 36 | 37 | v2f vert (appdata v) 38 | { 39 | v2f o; 40 | o.positionCS = UnityObjectToClipPos(v.positionOS.xyz); 41 | return o; 42 | } 43 | 44 | float rand(float2 seed) 45 | { 46 | return frac(sin(dot(seed, float2(12.9898, 78.233)))*43758.5453); 47 | } 48 | 49 | float4 frag (v2f i) : SV_Target 50 | { 51 | float4 outputColor = _BaseColor; 52 | 53 | float randomValue = rand(i.positionCS.xy + _Time.y); 54 | 55 | if (randomValue > 0.5f) 56 | { 57 | outputColor = 1.0f - outputColor; 58 | } 59 | 60 | return outputColor; 61 | } 62 | ENDHLSL 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 13/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 14/DissolveWorld.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class DissolveWorld : MonoBehaviour 6 | { 7 | [SerializeField] private Renderer dissolveRenderer; 8 | private Material material; 9 | 10 | void Start() 11 | { 12 | material = dissolveRenderer.material; 13 | } 14 | 15 | void Update() 16 | { 17 | material.SetVector("_PlaneOrigin", transform.position); 18 | material.SetVector("_PlaneNormal", transform.up); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 14/InteractiveSnow.compute: -------------------------------------------------------------------------------- 1 | #pragma kernel InitializeOffsets; 2 | #pragma kernel ApplyOffsets 3 | 4 | struct SnowActorInfo 5 | { 6 | float3 position; 7 | float radius; 8 | }; 9 | 10 | RWTexture2D _SnowOffset; 11 | uniform float2 _SnowResolution; 12 | uniform float _SnowFalloff; 13 | 14 | StructuredBuffer _SnowActors; 15 | uniform int _SnowActorCount; 16 | 17 | [numthreads(8, 8, 1)] 18 | void InitializeOffsets(uint3 id : SV_DispatchThreadID) 19 | { 20 | _SnowOffset[id.xy] = 1.0f; 21 | } 22 | 23 | float inverseLerp(float a, float b, float t) 24 | { 25 | return (t - a) / (b - a); 26 | } 27 | 28 | [numthreads(8, 8, 1)] 29 | void ApplyOffsets(uint3 id : SV_DispatchThreadID) 30 | { 31 | for (int i = 0; i < _SnowActorCount; i++) 32 | { 33 | float2 threadPos = float2(id.x, id.y) / _SnowResolution; 34 | 35 | float dist = distance(threadPos, 1.0f - _SnowActors[i].position.xz); 36 | 37 | float heightMod = inverseLerp(_SnowActors[i].radius, _SnowActors[i].radius + _SnowFalloff, dist); 38 | heightMod = saturate(heightMod); 39 | 40 | float newHeight = lerp(_SnowActors[i].position.y, _SnowOffset[id.xy], heightMod); 41 | _SnowOffset[id.xy] = min(newHeight, _SnowOffset[id.xy]); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 14/SnowActor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class SnowActor : MonoBehaviour 4 | { 5 | public Transform groundAnchor; 6 | private CapsuleCollider capsuleCollider; 7 | 8 | private Vector3 lastFramePos = Vector3.zero; 9 | private bool isMoving; 10 | 11 | private void Start() 12 | { 13 | capsuleCollider = GetComponent(); 14 | } 15 | 16 | public Vector3 GetGroundPos() 17 | { 18 | return groundAnchor.position; 19 | } 20 | 21 | public float GetRadius() 22 | { 23 | Vector3 localScale = transform.localScale; 24 | float scaleRadius = Mathf.Max(localScale.x, localScale.z); 25 | return capsuleCollider.radius * scaleRadius; 26 | } 27 | 28 | private void Update() 29 | { 30 | isMoving = (transform.position != lastFramePos); 31 | lastFramePos = transform.position; 32 | } 33 | 34 | public bool IsMoving() 35 | { 36 | return isMoving; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 14/SpritePixelate.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/SpritePixelate" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | _MainTex("Main Texture", 2D) = "white" {} 7 | _LOD("LOD", Int) = 0 8 | } 9 | SubShader 10 | { 11 | Tags 12 | { 13 | "RenderType" = "Transparent" 14 | "Queue" = "Transparent" 15 | } 16 | 17 | Pass 18 | { 19 | Cull Off 20 | Blend SrcAlpha OneMinusSrcAlpha 21 | ZTest LEqual 22 | ZWrite Off 23 | 24 | HLSLPROGRAM 25 | #pragma vertex vert 26 | #pragma fragment frag 27 | 28 | #include "UnityCG.cginc" 29 | 30 | struct appdata 31 | { 32 | float4 positionOS : Position; 33 | float2 uv : TEXCOORD0; 34 | }; 35 | 36 | struct v2f 37 | { 38 | float4 positionCS : SV_Position; 39 | float2 uv : TEXCOORD0; 40 | }; 41 | 42 | Texture2D _MainTex; 43 | SamplerState sampler_point_repeat; 44 | 45 | float4 _BaseColor; 46 | float4 _MainTex_ST; 47 | int _LOD; 48 | 49 | v2f vert (appdata v) 50 | { 51 | v2f o; 52 | o.positionCS = UnityObjectToClipPos(v.positionOS.xyz); 53 | o.uv = TRANSFORM_TEX(v.uv, _MainTex); 54 | return o; 55 | } 56 | 57 | float4 frag (v2f i) : SV_Target 58 | { 59 | float4 textureSample = _MainTex.SampleLevel(sampler_point_repeat, i.uv, _LOD); 60 | return textureSample * _BaseColor; 61 | } 62 | ENDHLSL 63 | } 64 | } 65 | Fallback Off 66 | } 67 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 14/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 3/HelloWorld.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/HelloWorld" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Opaque" 12 | "Queue" = "Geometry" 13 | } 14 | 15 | Pass 16 | { 17 | HLSLPROGRAM 18 | #pragma vertex vert 19 | #pragma fragment frag 20 | 21 | #include "UnityCG.cginc" 22 | 23 | struct appdata 24 | { 25 | float4 positionOS : Position; 26 | }; 27 | 28 | struct v2f 29 | { 30 | float4 positionCS : SV_Position; 31 | }; 32 | 33 | float4 _BaseColor; 34 | 35 | v2f vert (appdata v) 36 | { 37 | v2f o; 38 | o.positionCS = UnityObjectToClipPos(v.positionOS); 39 | return o; 40 | } 41 | 42 | float4 frag (v2f i) : SV_Target 43 | { 44 | return _BaseColor; 45 | } 46 | ENDHLSL 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 3/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 4/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 5/TextureExample.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/TextureExample" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | _BaseTex ("Base Texture", 2D) = "white" {} 7 | } 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "RenderType" = "Opaque" 13 | "Queue" = "Geometry" 14 | } 15 | 16 | Pass 17 | { 18 | HLSLPROGRAM 19 | #pragma vertex vert 20 | #pragma fragment frag 21 | 22 | #include "UnityCG.cginc" 23 | 24 | struct appdata 25 | { 26 | float4 positionOS : POSITION; 27 | float2 uv : TEXCOORD0; 28 | }; 29 | 30 | struct v2f 31 | { 32 | float4 positionCS : SV_POSITION; 33 | float2 uv : TEXCOORD0; 34 | }; 35 | 36 | float4 _BaseColor; 37 | sampler2D _BaseTex; 38 | float4 _BaseTex_ST; 39 | 40 | v2f vert (appdata v) 41 | { 42 | v2f o; 43 | o.positionCS = UnityObjectToClipPos(v.positionOS); 44 | o.uv = TRANSFORM_TEX(v.uv, _BaseTex); 45 | return o; 46 | } 47 | 48 | float4 frag (v2f i) : SV_TARGET 49 | { 50 | float4 textureSample = tex2D(_BaseTex, i.uv); 51 | return textureSample * _BaseColor; 52 | } 53 | ENDHLSL 54 | } 55 | } 56 | Fallback Off 57 | } -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 5/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 6/CubemapExample.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/CubemapExample" 2 | { 3 | Properties 4 | { 5 | _Cubemap("Cubemap", CUBE) = "white" {} 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Opaque" 12 | "Queue" = "Geometry" 13 | } 14 | 15 | Pass 16 | { 17 | HLSLPROGRAM 18 | #pragma vertex vert 19 | #pragma fragment frag 20 | 21 | #include "UnityCG.cginc" 22 | 23 | struct appdata 24 | { 25 | float4 positionOS : POSITION; 26 | float3 normalOS : NORMAL; 27 | }; 28 | 29 | struct v2f 30 | { 31 | float4 positionCS : SV_POSITION; 32 | float3 normalWS : TEXCOORD0; 33 | }; 34 | 35 | samplerCUBE _Cubemap; 36 | 37 | v2f vert (appdata v) 38 | { 39 | v2f o; 40 | o.positionCS = UnityObjectToClipPos(v.positionOS); 41 | o.normalWS = UnityObjectToWorldNormal(v.normalOS); 42 | return o; 43 | } 44 | 45 | float4 frag (v2f i) : SV_TARGET 46 | { 47 | float4 cubemapSample = texCUBE(_Cubemap, i.normalWS); 48 | return cubemapSample; 49 | } 50 | ENDHLSL 51 | } 52 | } 53 | Fallback Off 54 | } -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 6/CubemapReflections.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/CubemapReflections" 2 | { 3 | Properties 4 | { 5 | _Cubemap("Cubemap", CUBE) = "white" {} 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Opaque" 12 | "Queue" = "Geometry" 13 | } 14 | 15 | Pass 16 | { 17 | HLSLPROGRAM 18 | #pragma vertex vert 19 | #pragma fragment frag 20 | 21 | #include "UnityCG.cginc" 22 | 23 | struct appdata 24 | { 25 | float4 positionOS : POSITION; 26 | float3 normalOS : NORMAL; 27 | }; 28 | 29 | struct v2f 30 | { 31 | float4 positionCS : SV_POSITION; 32 | float3 reflectWS : TEXCOORD0; 33 | }; 34 | 35 | samplerCUBE _Cubemap; 36 | 37 | v2f vert (appdata v) 38 | { 39 | v2f o; 40 | o.positionCS = UnityObjectToClipPos(v.positionOS); 41 | float3 normalWS = UnityObjectToWorldNormal(v.normalOS); 42 | 43 | float3 positionWS = mul(unity_ObjectToWorld, v.positionOS).xyz; 44 | float3 viewDirWS = normalize(UnityWorldSpaceViewDir(positionWS)); 45 | 46 | o.reflectWS = reflect(-viewDirWS, normalWS); 47 | return o; 48 | } 49 | 50 | float4 frag (v2f i) : SV_TARGET 51 | { 52 | float4 cubemapSample = texCUBE(_Cubemap, i.reflectWS); 53 | return cubemapSample; 54 | } 55 | ENDHLSL 56 | } 57 | } 58 | Fallback Off 59 | } -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 6/ParticleFlipbook.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/ParticleFlipbook" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | _BaseTex ("Base Texture", 3D) = "white" {} 7 | } 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "RenderType" = "Opaque" 13 | "Queue" = "Geometry" 14 | } 15 | 16 | Pass 17 | { 18 | HLSLPROGRAM 19 | #pragma vertex vert 20 | #pragma fragment frag 21 | 22 | #include "UnityCG.cginc" 23 | 24 | struct appdata 25 | { 26 | float4 positionOS : POSITION; 27 | float2 uv : TEXCOORD0; 28 | }; 29 | 30 | struct v2f 31 | { 32 | float4 positionCS : SV_POSITION; 33 | float2 uv : TEXCOORD0; 34 | }; 35 | 36 | float4 _BaseColor; 37 | sampler3D _BaseTex; 38 | float4 _BaseTex_ST; 39 | 40 | v2f vert (appdata v) 41 | { 42 | v2f o; 43 | o.positionCS = UnityObjectToClipPos(v.positionOS); 44 | o.uv = TRANSFORM_TEX(v.uv, _BaseTex); 45 | return o; 46 | } 47 | 48 | float4 frag (v2f i) : SV_TARGET 49 | { 50 | float3 animUV = float3(i.uv, _Time.y); 51 | float4 textureSample = tex3D(_BaseTex, animUV); 52 | return textureSample * _BaseColor; 53 | } 54 | ENDHLSL 55 | } 56 | } 57 | Fallback Off 58 | } -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 6/Shear.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/Shear" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | _BaseTex ("Base Texture", 2D) = "white" {} 7 | _Shear("Shear Amount", Vector) = (0, 0, 0, 0) 8 | } 9 | SubShader 10 | { 11 | Tags 12 | { 13 | "RenderType" = "Opaque" 14 | "Queue" = "Geometry" 15 | } 16 | 17 | Pass 18 | { 19 | HLSLPROGRAM 20 | #pragma vertex vert 21 | #pragma fragment frag 22 | 23 | #include "UnityCG.cginc" 24 | 25 | struct appdata 26 | { 27 | float4 positionOS : POSITION; 28 | float2 uv : TEXCOORD0; 29 | }; 30 | 31 | struct v2f 32 | { 33 | float4 positionCS : SV_POSITION; 34 | float2 uv : TEXCOORD0; 35 | }; 36 | 37 | float4 _BaseColor; 38 | sampler2D _BaseTex; 39 | float4 _BaseTex_ST; 40 | float2 _Shear; 41 | 42 | v2f vert (appdata v) 43 | { 44 | float2x2 shearMatrix = float2x2 45 | ( 46 | 1, -_Shear.x, 47 | -_Shear.y, 1 48 | ); 49 | 50 | v2f o; 51 | o.positionCS = UnityObjectToClipPos(v.positionOS); 52 | o.uv = TRANSFORM_TEX(v.uv, _BaseTex); 53 | o.uv = mul(shearMatrix, o.uv); 54 | 55 | return o; 56 | } 57 | 58 | float4 frag (v2f i) : SV_TARGET 59 | { 60 | float4 textureSample = tex2D(_BaseTex, i.uv); 61 | return textureSample * _BaseColor; 62 | } 63 | ENDHLSL 64 | } 65 | } 66 | Fallback Off 67 | } -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 6/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 7/Silhouette.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/Silhouette" 2 | { 3 | Properties 4 | { 5 | _ForegroundColor ("Foreground Color", Color) = (1, 1, 1, 1) 6 | _BackgroundColor ("Background Color", Color) = (1, 1, 1, 1) 7 | } 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "RenderType" = "Transparent" 13 | "Queue" = "Transparent" 14 | } 15 | 16 | Pass 17 | { 18 | ZWrite Off 19 | 20 | HLSLPROGRAM 21 | #pragma vertex vert 22 | #pragma fragment frag 23 | 24 | #include "UnityCG.cginc" 25 | 26 | struct appdata 27 | { 28 | float4 positionOS : Position; 29 | }; 30 | 31 | struct v2f 32 | { 33 | float4 positionCS : SV_Position; 34 | float4 positionSS : TEXCOORD0; 35 | }; 36 | 37 | float4 _ForegroundColor; 38 | float4 _BackgroundColor; 39 | 40 | sampler2D _CameraDepthTexture; 41 | 42 | v2f vert (appdata v) 43 | { 44 | v2f o; 45 | o.positionCS = UnityObjectToClipPos(v.positionOS); 46 | o.positionSS = ComputeScreenPos(o.positionCS); 47 | return o; 48 | } 49 | 50 | float4 frag (v2f i) : SV_Target 51 | { 52 | float2 screenUVs = i.positionSS.xy / i.positionSS.w; 53 | float rawDepth = tex2D(_CameraDepthTexture, screenUVs).r; 54 | float scene01Depth = Linear01Depth(rawDepth); 55 | 56 | float4 outputColor = lerp(_ForegroundColor, _BackgroundColor, scene01Depth); 57 | 58 | return outputColor; 59 | } 60 | ENDHLSL 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 7/StencilMask.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/StencilMask" 2 | { 3 | Properties 4 | { 5 | [IntRange] _StencilRef("Stencil Ref", Range(0, 255)) = 1 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Opaque" 12 | "Queue" = "Geometry-1" 13 | } 14 | 15 | Pass 16 | { 17 | Stencil 18 | { 19 | Ref[_StencilRef] 20 | Comp Always 21 | Pass Replace 22 | } 23 | 24 | ZWrite Off 25 | } 26 | } 27 | Fallback Off 28 | } 29 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 7/StencilTexture.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/StencilTexture" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | _BaseTex("Base Texture", 2D) = "white" {} 7 | [IntRange] _StencilRef("Stencil Ref", Range(0, 255)) = 1 8 | } 9 | SubShader 10 | { 11 | Tags 12 | { 13 | "RenderType" = "Opaque" 14 | "Queue" = "Geometry" 15 | } 16 | 17 | Pass 18 | { 19 | Stencil 20 | { 21 | Ref[_StencilRef] 22 | Comp Equal 23 | Pass Keep 24 | Fail Keep 25 | } 26 | 27 | HLSLPROGRAM 28 | #pragma vertex vert 29 | #pragma fragment frag 30 | 31 | #include "UnityCG.cginc" 32 | 33 | struct appdata 34 | { 35 | float4 positionOS : Position; 36 | float2 uv : TEXCOORD0; 37 | }; 38 | 39 | struct v2f 40 | { 41 | float4 positionCS : SV_Position; 42 | float2 uv : TEXCOORD0; 43 | }; 44 | 45 | float4 _BaseColor; 46 | sampler2D _BaseTex; 47 | float4 _BaseTex_ST; 48 | 49 | v2f vert (appdata v) 50 | { 51 | v2f o; 52 | o.positionCS = UnityObjectToClipPos(v.positionOS); 53 | o.uv = TRANSFORM_TEX(v.uv, _BaseTex); 54 | return o; 55 | } 56 | 57 | float4 frag (v2f i) : SV_Target 58 | { 59 | float4 textureSample = tex2D(_BaseTex, i.uv); 60 | return textureSample * _BaseColor; 61 | } 62 | ENDHLSL 63 | } 64 | } 65 | Fallback Off 66 | } 67 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 7/ZTestAlways.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/TextureExample" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | _BaseTex ("Base Texture", 2D) = "white" {} 7 | } 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "RenderType" = "Opaque" 13 | "Queue" = "Geometry" 14 | } 15 | 16 | Pass 17 | { 18 | ZTest Always 19 | ZWrite On 20 | 21 | HLSLPROGRAM 22 | #pragma vertex vert 23 | #pragma fragment frag 24 | 25 | #include "UnityCG.cginc" 26 | 27 | struct appdata 28 | { 29 | float4 positionOS : POSITION; 30 | float2 uv : TEXCOORD0; 31 | }; 32 | 33 | struct v2f 34 | { 35 | float4 positionCS : SV_POSITION; 36 | float2 uv : TEXCOORD0; 37 | }; 38 | 39 | float4 _BaseColor; 40 | sampler2D _BaseTex; 41 | float4 _BaseTex_ST; 42 | 43 | v2f vert (appdata v) 44 | { 45 | v2f o; 46 | o.positionCS = UnityObjectToClipPos(v.positionOS); 47 | o.uv = TRANSFORM_TEX(v.uv, _BaseTex); 48 | return o; 49 | } 50 | 51 | float4 frag (v2f i) : SV_TARGET 52 | { 53 | float4 textureSample = tex2D(_BaseTex, i.uv); 54 | return textureSample * _BaseColor; 55 | } 56 | ENDHLSL 57 | } 58 | } 59 | Fallback Off 60 | } -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 7/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 8/AlphaCutout.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/AlphaCutout" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | _BaseTex("Base Texture", 2D) = "white" {} 7 | _ClipThreshold("Alpha Clip Threshold", Range(0, 1)) = 0.5 8 | } 9 | SubShader 10 | { 11 | Tags 12 | { 13 | "RenderType" = "Opaque" 14 | "Queue" = "AlphaTest" 15 | } 16 | 17 | Pass 18 | { 19 | HLSLPROGRAM 20 | #pragma vertex vert 21 | #pragma fragment frag 22 | 23 | #include "UnityCG.cginc" 24 | 25 | struct appdata 26 | { 27 | float4 positionOS : Position; 28 | float2 uv : TEXCOORD0; 29 | }; 30 | 31 | struct v2f 32 | { 33 | float4 positionCS : SV_Position; 34 | float2 uv : TEXCOORD0; 35 | }; 36 | 37 | sampler2D _BaseTex; 38 | 39 | float4 _BaseColor; 40 | float4 _BaseTex_ST; 41 | float _ClipThreshold; 42 | 43 | v2f vert (appdata v) 44 | { 45 | v2f o; 46 | o.positionCS = UnityObjectToClipPos(v.positionOS.xyz); 47 | o.uv = TRANSFORM_TEX(v.uv, _BaseTex); 48 | return o; 49 | } 50 | 51 | float4 frag (v2f i) : SV_Target 52 | { 53 | float4 textureSample = tex2D(_BaseTex, i.uv); 54 | float4 outputColor = textureSample * _BaseColor; 55 | 56 | //if (outputColor.a < _ClipThreshold) discard; 57 | clip(outputColor.a - _ClipThreshold); 58 | return outputColor; 59 | } 60 | ENDHLSL 61 | } 62 | } 63 | Fallback Off 64 | } 65 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 8/TransparentShader.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/TransparentShader" 2 | { 3 | Properties 4 | { 5 | _BaseColor("Base Color", Color) = (1, 1, 1, 1) 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Transparent" 12 | "Queue" = "Transparent" 13 | } 14 | 15 | ZWrite Off 16 | Blend SrcAlpha OneMinusSrcAlpha 17 | Cull back 18 | 19 | Pass 20 | { 21 | HLSLPROGRAM 22 | #pragma vertex vert 23 | #pragma fragment frag 24 | 25 | #include "UnityCG.cginc" 26 | 27 | struct appdata 28 | { 29 | float4 positionOS : Position; 30 | }; 31 | 32 | struct v2f 33 | { 34 | float4 positionCS : SV_Position; 35 | }; 36 | 37 | float4 _BaseColor; 38 | 39 | v2f vert (appdata v) 40 | { 41 | v2f o; 42 | o.positionCS = UnityObjectToClipPos(v.positionOS); 43 | return o; 44 | } 45 | 46 | float4 frag (v2f i) : SV_Target 47 | { 48 | return _BaseColor; 49 | } 50 | ENDHLSL 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 8/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 9/ControlColor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class ControlColor : MonoBehaviour 6 | { 7 | private Material material; 8 | 9 | void Start() 10 | { 11 | material = GetComponent().material; 12 | } 13 | 14 | void Update() 15 | { 16 | var color = material.GetColor("_BaseColor"); 17 | float hue, sat, val; 18 | Color.RGBToHSV(color, out hue, out sat, out val); 19 | 20 | hue = (Time.time * 0.25f) % 1.0f; 21 | 22 | color = Color.HSVToRGB(hue, sat, val); 23 | material.SetColor("_BaseColor", color); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 9/DissolveWorld.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class DissolveWorld : MonoBehaviour 6 | { 7 | [SerializeField] private Renderer dissolveRenderer; 8 | private Material material; 9 | 10 | void Start() 11 | { 12 | material = dissolveRenderer.material; 13 | } 14 | 15 | void Update() 16 | { 17 | material.SetVector("_PlaneOrigin", transform.position); 18 | material.SetVector("_PlaneNormal", transform.up); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 9/HelloWorld.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/HelloWorld" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Opaque" 12 | "Queue" = "Geometry" 13 | } 14 | 15 | Pass 16 | { 17 | HLSLPROGRAM 18 | #pragma vertex vert 19 | #pragma fragment frag 20 | 21 | #include "UnityCG.cginc" 22 | 23 | struct appdata 24 | { 25 | float4 positionOS : Position; 26 | }; 27 | 28 | struct v2f 29 | { 30 | float4 positionCS : SV_Position; 31 | }; 32 | 33 | float4 _BaseColor; 34 | 35 | v2f vert (appdata v) 36 | { 37 | v2f o; 38 | o.positionCS = UnityObjectToClipPos(v.positionOS); 39 | return o; 40 | } 41 | 42 | float4 frag (v2f i) : SV_Target 43 | { 44 | return _BaseColor; 45 | } 46 | ENDHLSL 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 9/KeywordControl.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class KeywordControl : MonoBehaviour 6 | { 7 | private Material material; 8 | 9 | private void Start() 10 | { 11 | material = GetComponent().material; 12 | } 13 | 14 | private void Update() 15 | { 16 | bool toggle = Time.time % 2.0f > 1.0f; 17 | 18 | if(toggle) 19 | { 20 | material.EnableKeyword("OVERRIDE_RED_ON"); 21 | } 22 | else 23 | { 24 | material.DisableKeyword("OVERRIDE_RED_ON"); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 9/KeywordExample.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/KeywordExample" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | [Toggle(OVERRIDE_RED_ON)] _OverrideRed("Force Red", Float) = 0 7 | } 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "RenderType" = "Opaque" 13 | "Queue" = "Geometry" 14 | } 15 | 16 | Pass 17 | { 18 | HLSLPROGRAM 19 | #pragma vertex vert 20 | #pragma fragment frag 21 | 22 | #pragma multi_compile_local OVERRIDE_RED_ON __ 23 | 24 | #include "UnityCG.cginc" 25 | 26 | struct appdata 27 | { 28 | float4 positionOS : Position; 29 | }; 30 | 31 | struct v2f 32 | { 33 | float4 positionCS : SV_Position; 34 | }; 35 | 36 | float4 _BaseColor; 37 | 38 | v2f vert (appdata v) 39 | { 40 | v2f o; 41 | o.positionCS = UnityObjectToClipPos(v.positionOS.xyz); 42 | return o; 43 | } 44 | 45 | float4 frag (v2f i) : SV_Target 46 | { 47 | #if OVERRIDE_RED_ON 48 | return float4(1.0f, 0.0f, 0.0f, 1.0f); 49 | #else 50 | return _BaseColor; 51 | #endif 52 | } 53 | ENDHLSL 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 9/SepiaTone.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/SepiaTone" 2 | { 3 | Properties 4 | { 5 | 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Transparent" 12 | "Queue" = "Transparent" 13 | } 14 | 15 | GrabPass {} 16 | 17 | Pass 18 | { 19 | ZWrite Off 20 | 21 | HLSLPROGRAM 22 | #pragma vertex vert 23 | #pragma fragment frag 24 | 25 | #include "UnityCG.cginc" 26 | 27 | struct appdata 28 | { 29 | float4 positionOS : Position; 30 | }; 31 | 32 | struct v2f 33 | { 34 | float4 positionCS : SV_Position; 35 | float4 positionSS : TEXCOORD0; 36 | }; 37 | 38 | sampler2D _SceneColorTexture; 39 | 40 | v2f vert (appdata v) 41 | { 42 | v2f o; 43 | o.positionCS = UnityObjectToClipPos(v.positionOS); 44 | o.positionSS = ComputeScreenPos(o.positionCS); 45 | return o; 46 | } 47 | 48 | float4 frag (v2f i) : SV_Target 49 | { 50 | const float3x3 sepia = float3x3 51 | ( 52 | 0.393f, 0.349f, 0.272f, // Red. 53 | 0.769f, 0.686f, 0.534f, // Green. 54 | 0.189f, 0.168f, 0.131f // Blue. 55 | ); 56 | 57 | float2 screenUVs = i.positionSS.xy / i.positionSS.w; 58 | float3 sceneColor = tex2D(_SceneColorTexture, screenUVs); 59 | 60 | float3 outputColor = mul(sceneColor, sepia); 61 | 62 | return float4(outputColor, 1.0f); 63 | } 64 | ENDHLSL 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/Chapter 9/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Code/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 10/GetAmbientLight.hlsl: -------------------------------------------------------------------------------- 1 | void AmbientLight_float(float3 WorldNormal, bool IsVertex, out float3 Ambient) 2 | { 3 | #ifdef SHADERGRAPH_PREVIEW 4 | Ambient = 0.2f; 5 | #else 6 | if(IsVertex) 7 | { 8 | Ambient = SampleSHVertex(WorldNormal); 9 | } 10 | else 11 | { 12 | Ambient = SampleSH(WorldNormal); 13 | } 14 | #endif 15 | } 16 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 10/GetMainLight.hlsl: -------------------------------------------------------------------------------- 1 | void MainLight_float(float3 WorldPos, out float3 Direction, out float3 Color, 2 | out float DistanceAtten, out float ShadowAtten) 3 | { 4 | #ifdef SHADERGRAPH_PREVIEW 5 | Direction = normalize(float3(0.5f, 0.5f, 0.25f)); 6 | Color = float3(1.0f, 1.0f, 1.0f); 7 | DistanceAtten = 1.0f; 8 | ShadowAtten = 1.0f; 9 | #else 10 | Direction = _WorldSpaceLightPos0.xyz; 11 | Color = _LightColor0; 12 | DistanceAtten = 1.0f; 13 | ShadowAtten = 1.0f; 14 | #endif 15 | } 16 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 10/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 13/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 14/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 4/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 5/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 6/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 7/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 8/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 9/DissolveWorld.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class DissolveWorld : MonoBehaviour 6 | { 7 | [SerializeField] private Renderer dissolveRenderer; 8 | private Material material; 9 | 10 | void Start() 11 | { 12 | material = dissolveRenderer.material; 13 | } 14 | 15 | void Update() 16 | { 17 | material.SetVector("_PlaneOrigin", transform.position); 18 | material.SetVector("_PlaneNormal", transform.up); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/Chapter 9/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/Shader Graph/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Built-in Pipeline/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Code/Chapter 11/RTExample.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class RTExample : MonoBehaviour 6 | { 7 | public Camera exampleCamera; 8 | public Material exampleMaterial; 9 | 10 | private RenderTexture rt; 11 | 12 | private void Start() 13 | { 14 | rt = new RenderTexture(1920, 1080, 32, RenderTextureFormat.ARGB32); 15 | rt.Create(); 16 | 17 | exampleCamera.targetTexture = rt; 18 | exampleMaterial.SetTexture("_MainTex", rt); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Code/Chapter 11/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Code/Chapter 14/Scanner.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | 4 | public class Scanner : MonoBehaviour 5 | { 6 | public Volume volume; 7 | private WorldScannerVolume worldScanner; 8 | 9 | private bool isScanning = false; 10 | 11 | private void Start() 12 | { 13 | worldScanner = null; 14 | volume.profile.TryGet(out worldScanner); 15 | 16 | worldScanner?.StopScan(); 17 | } 18 | 19 | private void Update() 20 | { 21 | if (Input.GetButtonDown("Fire1")) 22 | { 23 | isScanning = true; 24 | worldScanner?.StartScan(transform.position); 25 | } 26 | else if (Input.GetButtonDown("Fire2")) 27 | { 28 | isScanning = false; 29 | worldScanner?.StopScan(); 30 | } 31 | 32 | if (isScanning) 33 | { 34 | worldScanner?.UpdateScan(); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Code/Chapter 14/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Code/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 10/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 12/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 13/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 14/DissolveWorld.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class DissolveWorld : MonoBehaviour 6 | { 7 | [SerializeField] private Renderer dissolveRenderer; 8 | private Material material; 9 | 10 | void Start() 11 | { 12 | material = dissolveRenderer.material; 13 | } 14 | 15 | void Update() 16 | { 17 | material.SetVector("_PlaneOrigin", transform.position); 18 | material.SetVector("_PlaneNormal", transform.up); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 14/InteractiveSnow.compute: -------------------------------------------------------------------------------- 1 | #pragma kernel InitializeOffsets; 2 | #pragma kernel ApplyOffsets 3 | 4 | struct SnowActorInfo 5 | { 6 | float3 position; 7 | float radius; 8 | }; 9 | 10 | RWTexture2D _SnowOffset; 11 | uniform float2 _SnowResolution; 12 | uniform float _SnowFalloff; 13 | 14 | StructuredBuffer _SnowActors; 15 | uniform int _SnowActorCount; 16 | 17 | [numthreads(8,8,1)] 18 | void InitializeOffsets(uint3 id : SV_DispatchThreadID) 19 | { 20 | _SnowOffset[id.xy] = 1.0f; 21 | } 22 | 23 | float inverseLerp(float a, float b, float t) 24 | { 25 | return (t - a) / (b - a); 26 | } 27 | 28 | [numthreads(8,8,1)] 29 | void ApplyOffsets (uint3 id : SV_DispatchThreadID) 30 | { 31 | for (int i = 0; i < _SnowActorCount; i++) 32 | { 33 | float2 currentUV = float2(id.x, id.y) / _SnowResolution; 34 | 35 | float dist = distance(currentUV, 1.0f - _SnowActors[i].position.xz); 36 | 37 | if (dist < _SnowActors[i].radius + _SnowFalloff) 38 | { 39 | float heightMod = inverseLerp(0, _SnowFalloff, dist - _SnowActors[i].radius); 40 | heightMod = saturate(heightMod); 41 | 42 | float newHeight = lerp(_SnowActors[i].position.y, _SnowOffset[id.xy], heightMod); 43 | _SnowOffset[id.xy] = min(newHeight, _SnowOffset[id.xy]); 44 | } 45 | } 46 | 47 | //_SnowOffset[id.xy] = lerp(_SnowOffset[id.xy], 1.0f, 0.0001f); 48 | } 49 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 14/SnowActor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class SnowActor : MonoBehaviour 6 | { 7 | public Vector3 groundOffset; 8 | private CapsuleCollider capsuleCollider; 9 | 10 | private Vector3 lastFramePos = Vector3.zero; 11 | private bool isMoving; 12 | 13 | private void Start() 14 | { 15 | capsuleCollider = GetComponent(); 16 | } 17 | 18 | public Vector3 GetGroundPos() 19 | { 20 | return transform.position + groundOffset; 21 | } 22 | 23 | public float GetRadius() 24 | { 25 | Vector3 localScale = transform.localScale; 26 | float scaleRadius = Mathf.Max(localScale.x, localScale.z); 27 | return capsuleCollider.radius * scaleRadius; 28 | } 29 | 30 | private void Update() 31 | { 32 | isMoving = (transform.position != lastFramePos); 33 | lastFramePos = transform.position; 34 | } 35 | 36 | public bool IsMoving() 37 | { 38 | return isMoving; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 14/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 4/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 5/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 6/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 7/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 8/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 9/ControlColor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class ControlColor : MonoBehaviour 6 | { 7 | private Material material; 8 | 9 | void Start() 10 | { 11 | material = GetComponent().material; 12 | } 13 | 14 | void Update() 15 | { 16 | var color = material.GetColor("_BaseColor"); 17 | float hue, sat, val; 18 | Color.RGBToHSV(color, out hue, out sat, out val); 19 | 20 | hue = (Time.time * 0.25f) % 1.0f; 21 | 22 | color = Color.HSVToRGB(hue, sat, val); 23 | material.SetColor("_BaseColor", color); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 9/DissolveWorld.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class DissolveWorld : MonoBehaviour 6 | { 7 | [SerializeField] private Renderer dissolveRenderer; 8 | private Material material; 9 | 10 | void Start() 11 | { 12 | material = dissolveRenderer.material; 13 | } 14 | 15 | void Update() 16 | { 17 | material.SetVector("_PlaneOrigin", transform.position); 18 | material.SetVector("_PlaneNormal", transform.up); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 9/KeywordControl.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class KeywordControl : MonoBehaviour 6 | { 7 | private Material material; 8 | 9 | private void Start() 10 | { 11 | material = GetComponent().material; 12 | } 13 | 14 | private void Update() 15 | { 16 | bool toggle = Time.time % 2.0f > 1.0f; 17 | 18 | if(toggle) 19 | { 20 | material.EnableKeyword("OVERRIDE_RED_ON"); 21 | } 22 | else 23 | { 24 | material.DisableKeyword("OVERRIDE_RED_ON"); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/Chapter 9/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/Shader Graph/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/High Definition Render Pipeline/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 10/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 11/GaussianBlurFeature.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.Rendering.Universal; 2 | 3 | public class GaussianBlurFeature : ScriptableRendererFeature 4 | { 5 | GaussianBlurRenderPass pass; 6 | 7 | public override void Create() 8 | { 9 | name = "Gaussian Blur"; 10 | pass = new GaussianBlurRenderPass(); 11 | } 12 | 13 | public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) 14 | { 15 | pass.Setup(renderer, "Gaussian Blur Post Process"); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 11/GaussianBlurSettings.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | using UnityEngine.Rendering.Universal; 4 | 5 | [System.Serializable, VolumeComponentMenu("Examples/Gaussian Blur")] 6 | public class GaussianBlurSettings : VolumeComponent, IPostProcessComponent 7 | { 8 | [Tooltip("How large the convolution kernel is. " + 9 | "A larger kernel means stronger blurring.")] 10 | public ClampedIntParameter kernelSize = new ClampedIntParameter(1, 1, 1001); 11 | 12 | public bool IsActive() => kernelSize.value > 1 && active; 13 | 14 | public bool IsTileCompatible() => false; 15 | } 16 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 11/Greyscale.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/ImageEffects/Greyscale" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Texture", 2D) = "white" {} 6 | _Strength("Strength", Float) = 0 7 | } 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "RenderType"="Opaque" 13 | "RenderPipeline"="UniversalPipeline" 14 | } 15 | 16 | Pass 17 | { 18 | HLSLPROGRAM 19 | #pragma vertex vert 20 | #pragma fragment frag 21 | 22 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" 23 | #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" 24 | 25 | struct appdata 26 | { 27 | float4 positionOS : Position; 28 | float2 uv : TEXCOORD0; 29 | }; 30 | 31 | struct v2f 32 | { 33 | float4 positionCS : SV_Position; 34 | float2 uv : TEXCOORD0; 35 | }; 36 | 37 | sampler2D _MainTex; 38 | 39 | CBUFFER_START(UnityPerMaterial) 40 | float _Strength; 41 | CBUFFER_END 42 | 43 | v2f vert (appdata v) 44 | { 45 | v2f o; 46 | o.positionCS = TransformObjectToHClip(v.positionOS.xyz); 47 | o.uv = v.uv; 48 | return o; 49 | } 50 | 51 | float4 frag (v2f i) : SV_Target 52 | { 53 | float4 textureSample = tex2D(_MainTex, i.uv); 54 | 55 | float3 outputColor = Luminance(textureSample); 56 | 57 | return lerp(textureSample, float4(outputColor, 1.0f), _Strength); 58 | } 59 | ENDHLSL 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 11/GreyscaleFeature.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.Rendering.Universal; 2 | 3 | public class GreyscaleFeature : ScriptableRendererFeature 4 | { 5 | GreyscaleRenderPass pass; 6 | 7 | public override void Create() 8 | { 9 | name = "Greyscale"; 10 | pass = new GreyscaleRenderPass(); 11 | } 12 | 13 | public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) 14 | { 15 | pass.Setup(renderer, "Greyscale Post Process"); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 11/GreyscaleSettings.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | using UnityEngine.Rendering.Universal; 4 | 5 | [System.Serializable, VolumeComponentMenu("Examples/Greyscale")] 6 | public sealed class GreyscaleSettings : VolumeComponent, IPostProcessComponent 7 | { 8 | [Tooltip("How strongly the effect is applied. " + 9 | "0 = original image, 1 = fully greyscale.")] 10 | public ClampedFloatParameter strength = new ClampedFloatParameter(0.0f, 0.0f, 1.0f); 11 | 12 | public bool IsActive() => strength.value > 0.0f && active; 13 | 14 | public bool IsTileCompatible() => false; 15 | } 16 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 11/RTExample.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class RTExample : MonoBehaviour 6 | { 7 | public Camera exampleCamera; 8 | public Material exampleMaterial; 9 | 10 | private RenderTexture rt; 11 | 12 | private void Start() 13 | { 14 | rt = new RenderTexture(1920, 1080, 32, RenderTextureFormat.ARGB32); 15 | rt.Create(); 16 | 17 | exampleCamera.targetTexture = rt; 18 | exampleMaterial.SetTexture("_MainTex", rt); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 11/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 12/Grass.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/Grass" 2 | { 3 | Properties 4 | { 5 | _BaseColor("Base Color", Color) = (0, 0, 0, 1) 6 | _TipColor("Tip Color", Color) = (1, 1, 1, 1) 7 | } 8 | 9 | SubShader 10 | { 11 | Tags 12 | { 13 | "RenderType" = "Opaque" 14 | "Queue" = "Geometry" 15 | "RenderPipeline" = "UniversalPipeline" 16 | } 17 | 18 | Pass 19 | { 20 | Tags 21 | { 22 | "LightMode" = "UniversalForward" 23 | } 24 | 25 | HLSLPROGRAM 26 | #pragma vertex vert 27 | #pragma fragment frag 28 | 29 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" 30 | 31 | struct v2f 32 | { 33 | float4 positionCS : SV_Position; 34 | float2 uv : TEXCOORD0; 35 | }; 36 | 37 | StructuredBuffer _Positions; 38 | StructuredBuffer _UVs; 39 | StructuredBuffer _TransformMatrices; 40 | 41 | CBUFFER_START(UnityPerMaterial) 42 | float4 _BaseColor; 43 | float4 _TipColor; 44 | CBUFFER_END 45 | 46 | v2f vert (uint vertexID : SV_VertexID, uint instanceID : SV_InstanceID) 47 | { 48 | float4x4 mat = _TransformMatrices[instanceID]; 49 | 50 | v2f o; 51 | 52 | float4 pos = float4(_Positions[vertexID], 1.0f); 53 | pos = mul(mat, pos); 54 | o.positionCS = mul(UNITY_MATRIX_VP, pos); 55 | 56 | o.uv = _UVs[vertexID]; 57 | 58 | return o; 59 | } 60 | 61 | float4 frag (v2f i) : SV_Target 62 | { 63 | return lerp(_BaseColor, _TipColor, i.uv.y); 64 | } 65 | ENDHLSL 66 | } 67 | } 68 | Fallback Off 69 | } 70 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 12/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 13/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 14/DissolveWorld.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class DissolveWorld : MonoBehaviour 6 | { 7 | [SerializeField] private Renderer dissolveRenderer; 8 | private Material material; 9 | 10 | void Start() 11 | { 12 | material = dissolveRenderer.material; 13 | } 14 | 15 | void Update() 16 | { 17 | material.SetVector("_PlaneOrigin", transform.position); 18 | material.SetVector("_PlaneNormal", transform.up); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 14/InteractiveSnow.compute: -------------------------------------------------------------------------------- 1 | #pragma kernel InitializeOffsets; 2 | #pragma kernel ApplyOffsets 3 | 4 | struct SnowActorInfo 5 | { 6 | float3 position; 7 | float radius; 8 | }; 9 | 10 | RWTexture2D _SnowOffset; 11 | uniform float2 _SnowResolution; 12 | uniform float _SnowFalloff; 13 | 14 | StructuredBuffer _SnowActors; 15 | uniform int _SnowActorCount; 16 | 17 | [numthreads(8,8,1)] 18 | void InitializeOffsets(uint3 id : SV_DispatchThreadID) 19 | { 20 | _SnowOffset[id.xy] = 1.0f; 21 | } 22 | 23 | float inverseLerp(float a, float b, float t) 24 | { 25 | return (t - a) / (b - a); 26 | } 27 | 28 | [numthreads(8,8,1)] 29 | void ApplyOffsets (uint3 id : SV_DispatchThreadID) 30 | { 31 | for (int i = 0; i < _SnowActorCount; i++) 32 | { 33 | float2 currentUV = float2(id.x, id.y) / _SnowResolution; 34 | 35 | float dist = distance(currentUV, 1.0f - _SnowActors[i].position.xz); 36 | 37 | if (dist < _SnowActors[i].radius + _SnowFalloff) 38 | { 39 | float heightMod = inverseLerp(0, _SnowFalloff, dist - _SnowActors[i].radius); 40 | heightMod = saturate(heightMod); 41 | 42 | float newHeight = lerp(_SnowActors[i].position.y, _SnowOffset[id.xy], heightMod); 43 | _SnowOffset[id.xy] = min(newHeight, _SnowOffset[id.xy]); 44 | } 45 | } 46 | 47 | //_SnowOffset[id.xy] = lerp(_SnowOffset[id.xy], 1.0f, 0.0001f); 48 | } 49 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 14/Scanner.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | 4 | public class Scanner : MonoBehaviour 5 | { 6 | public Volume volume; 7 | private WorldScanSettings scanSettings = null; 8 | 9 | private bool isScanning = false; 10 | 11 | private void Start() 12 | { 13 | if(volume == null || volume.profile == null) 14 | { 15 | return; 16 | } 17 | 18 | if(volume.profile.TryGet(out scanSettings)) 19 | { 20 | scanSettings.StopScan(); 21 | } 22 | } 23 | 24 | private void Update() 25 | { 26 | if(Input.GetButtonDown("Fire1")) 27 | { 28 | isScanning = true; 29 | scanSettings?.StartScan(transform.position); 30 | } 31 | else if(Input.GetButtonDown("Fire2")) 32 | { 33 | isScanning = false; 34 | scanSettings?.StopScan(); 35 | } 36 | 37 | if(isScanning) 38 | { 39 | scanSettings?.UpdateScan(); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 14/SnowActor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class SnowActor : MonoBehaviour 6 | { 7 | public Vector3 groundOffset; 8 | private CapsuleCollider capsuleCollider; 9 | 10 | private Vector3 lastFramePos = Vector3.zero; 11 | private bool isMoving; 12 | 13 | private void Start() 14 | { 15 | capsuleCollider = GetComponent(); 16 | } 17 | 18 | public Vector3 GetGroundPos() 19 | { 20 | return transform.position + groundOffset; 21 | } 22 | 23 | public float GetRadius() 24 | { 25 | Vector3 localScale = transform.localScale; 26 | float scaleRadius = Mathf.Max(localScale.x, localScale.z); 27 | return capsuleCollider.radius * scaleRadius; 28 | } 29 | 30 | private void Update() 31 | { 32 | isMoving = (transform.position != lastFramePos); 33 | lastFramePos = transform.position; 34 | } 35 | 36 | public bool IsMoving() 37 | { 38 | return isMoving; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 14/WorldScanFeature.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine.Rendering.Universal; 2 | 3 | public class WorldScanFeature : ScriptableRendererFeature 4 | { 5 | WorldScanRenderPass pass; 6 | 7 | public override void Create() 8 | { 9 | name = "World Scanner"; 10 | pass = new WorldScanRenderPass(); 11 | } 12 | 13 | public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) 14 | { 15 | pass.Setup(renderer, "World Scan Post Process"); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 14/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 3/HelloWorld.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/HelloWorld" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Opaque" 12 | "Queue" = "Geometry" 13 | "RenderPipeline" = "UniversalPipeline" 14 | } 15 | 16 | Pass 17 | { 18 | Tags 19 | { 20 | "LightMode" = "UniversalForward" 21 | } 22 | 23 | HLSLPROGRAM 24 | #pragma vertex vert 25 | #pragma fragment frag 26 | 27 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" 28 | 29 | struct appdata 30 | { 31 | float4 positionOS : Position; 32 | }; 33 | 34 | struct v2f 35 | { 36 | float4 positionCS : SV_Position; 37 | }; 38 | 39 | CBUFFER_START(UnityPerMaterial) 40 | float4 _BaseColor; 41 | CBUFFER_END 42 | 43 | v2f vert (appdata v) 44 | { 45 | v2f o; 46 | o.positionCS = TransformObjectToHClip(v.positionOS.xyz); 47 | return o; 48 | } 49 | 50 | float4 frag (v2f i) : SV_Target 51 | { 52 | return _BaseColor; 53 | } 54 | ENDHLSL 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 3/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 5/TextureExample.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/TextureExample" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | _BaseTex("Base Texture", 2D) = "white" {} 7 | } 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "RenderType" = "Opaque" 13 | "Queue" = "Geometry" 14 | "RenderPipeline" = "UniversalPipeline" 15 | } 16 | 17 | Pass 18 | { 19 | Tags 20 | { 21 | "LightMode" = "UniversalForward" 22 | } 23 | 24 | HLSLPROGRAM 25 | #pragma vertex vert 26 | #pragma fragment frag 27 | 28 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" 29 | 30 | struct appdata 31 | { 32 | float4 positionOS : Position; 33 | float2 uv : TEXCOORD0; 34 | }; 35 | 36 | struct v2f 37 | { 38 | float4 positionCS : SV_Position; 39 | float2 uv : TEXCOORD0; 40 | }; 41 | 42 | sampler2D _BaseTex; 43 | 44 | CBUFFER_START(UnityPerMaterial) 45 | float4 _BaseColor; 46 | float4 _BaseTex_ST; 47 | CBUFFER_END 48 | 49 | v2f vert (appdata v) 50 | { 51 | v2f o; 52 | o.positionCS = TransformObjectToHClip(v.positionOS.xyz); 53 | o.uv = TRANSFORM_TEX(v.uv, _BaseTex); 54 | return o; 55 | } 56 | 57 | float4 frag (v2f i) : SV_Target 58 | { 59 | float4 textureSample = tex2D(_BaseTex, i.uv); 60 | return textureSample * _BaseColor; 61 | } 62 | ENDHLSL 63 | } 64 | } 65 | Fallback Off 66 | } 67 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 5/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 6/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 7/StencilMask.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/StencilMask" 2 | { 3 | Properties 4 | { 5 | [IntRange] _StencilRef("Stencil Ref", Range(0, 255)) = 1 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Opaque" 12 | "Queue" = "Geometry-1" 13 | "RenderPipeline" = "UniversalPipeline" 14 | } 15 | 16 | Pass 17 | { 18 | Stencil 19 | { 20 | Ref[_StencilRef] 21 | Comp Always 22 | Pass Replace 23 | } 24 | 25 | ZWrite Off 26 | 27 | Tags 28 | { 29 | "LightMode" = "UniversalForward" 30 | } 31 | } 32 | } 33 | Fallback Off 34 | } 35 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 7/Xray.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/Xray" 2 | { 3 | Properties 4 | { 5 | _XrayColor("X-ray Color", Color) = (1, 0, 0, 1) 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Opaque" 12 | "Queue" = "Geometry" 13 | "RenderPipeline" = "UniversalPipeline" 14 | } 15 | 16 | Pass 17 | { 18 | ZTest Greater 19 | ZWrite Off 20 | 21 | Tags 22 | { 23 | "LightMode" = "UniversalForward" 24 | } 25 | 26 | HLSLPROGRAM 27 | #pragma vertex vert 28 | #pragma fragment frag 29 | 30 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" 31 | 32 | struct appdata 33 | { 34 | float4 positionOS : POSITION; 35 | }; 36 | 37 | struct v2f 38 | { 39 | float4 positionCS : SV_POSITION; 40 | }; 41 | 42 | CBUFFER_START(UnityPerMaterial) 43 | float4 _XrayColor; 44 | CBUFFER_END 45 | 46 | v2f vert(appdata v) 47 | { 48 | v2f o; 49 | o.positionCS = TransformObjectToHClip(v.positionOS); 50 | return o; 51 | } 52 | 53 | float4 frag(v2f i) : SV_TARGET 54 | { 55 | return _XrayColor; 56 | } 57 | ENDHLSL 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 7/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 8/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 9/ControlColor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class ControlColor : MonoBehaviour 6 | { 7 | private Material material; 8 | 9 | void Start() 10 | { 11 | material = GetComponent().material; 12 | } 13 | 14 | void Update() 15 | { 16 | var color = material.GetColor("_BaseColor"); 17 | float hue, sat, val; 18 | Color.RGBToHSV(color, out hue, out sat, out val); 19 | 20 | hue = (Time.time * 0.25f) % 1.0f; 21 | 22 | color = Color.HSVToRGB(hue, sat, val); 23 | material.SetColor("_BaseColor", color); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 9/DissolveWorld.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class DissolveWorld : MonoBehaviour 6 | { 7 | [SerializeField] private Renderer dissolveRenderer; 8 | private Material material; 9 | 10 | void Start() 11 | { 12 | material = dissolveRenderer.material; 13 | } 14 | 15 | void Update() 16 | { 17 | material.SetVector("_PlaneOrigin", transform.position); 18 | material.SetVector("_PlaneNormal", transform.up); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 9/HelloWorld.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/HelloWorld" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | } 7 | SubShader 8 | { 9 | Tags 10 | { 11 | "RenderType" = "Opaque" 12 | "Queue" = "Geometry" 13 | "RenderPipeline" = "UniversalPipeline" 14 | } 15 | 16 | Pass 17 | { 18 | Tags 19 | { 20 | "LightMode" = "UniversalForward" 21 | } 22 | 23 | HLSLPROGRAM 24 | #pragma vertex vert 25 | #pragma fragment frag 26 | 27 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" 28 | 29 | struct appdata 30 | { 31 | float4 positionOS : Position; 32 | }; 33 | 34 | struct v2f 35 | { 36 | float4 positionCS : SV_Position; 37 | }; 38 | 39 | CBUFFER_START(UnityPerMaterial) 40 | float4 _BaseColor; 41 | CBUFFER_END 42 | 43 | v2f vert (appdata v) 44 | { 45 | v2f o; 46 | o.positionCS = TransformObjectToHClip(v.positionOS.xyz); 47 | return o; 48 | } 49 | 50 | float4 frag (v2f i) : SV_Target 51 | { 52 | return _BaseColor; 53 | } 54 | ENDHLSL 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 9/KeywordControl.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class KeywordControl : MonoBehaviour 6 | { 7 | private Material material; 8 | 9 | private void Start() 10 | { 11 | material = GetComponent().material; 12 | } 13 | 14 | private void Update() 15 | { 16 | bool toggle = Time.time % 2.0f > 1.0f; 17 | 18 | if(toggle) 19 | { 20 | material.EnableKeyword("OVERRIDE_RED_ON"); 21 | } 22 | else 23 | { 24 | material.DisableKeyword("OVERRIDE_RED_ON"); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 9/KeywordExample.shader: -------------------------------------------------------------------------------- 1 | Shader "Examples/KeywordExample" 2 | { 3 | Properties 4 | { 5 | _BaseColor ("Base Color", Color) = (1, 1, 1, 1) 6 | [Toggle(OVERRIDE_RED_ON)] _OverrideRed("Force Red", Float) = 0 7 | } 8 | SubShader 9 | { 10 | Tags 11 | { 12 | "RenderType" = "Opaque" 13 | "Queue" = "Geometry" 14 | "RenderPipeline" = "UniversalPipeline" 15 | } 16 | 17 | Pass 18 | { 19 | Tags 20 | { 21 | "LightMode" = "UniversalForward" 22 | } 23 | 24 | HLSLPROGRAM 25 | #pragma vertex vert 26 | #pragma fragment frag 27 | 28 | #pragma multi_compile_local OVERRIDE_RED_ON __ 29 | 30 | #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" 31 | 32 | struct appdata 33 | { 34 | float4 positionOS : Position; 35 | }; 36 | 37 | struct v2f 38 | { 39 | float4 positionCS : SV_Position; 40 | }; 41 | 42 | CBUFFER_START(UnityPerMaterial) 43 | float4 _BaseColor; 44 | CBUFFER_END 45 | 46 | v2f vert (appdata v) 47 | { 48 | v2f o; 49 | o.positionCS = TransformObjectToHClip(v.positionOS.xyz); 50 | return o; 51 | } 52 | 53 | float4 frag (v2f i) : SV_Target 54 | { 55 | #if OVERRIDE_RED_ON 56 | return float4(1.0f, 0.0f, 0.0f, 1.0f); 57 | #else 58 | return _BaseColor; 59 | #endif 60 | } 61 | ENDHLSL 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/Chapter 9/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Code/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 10/GetAmbientLight.hlsl: -------------------------------------------------------------------------------- 1 | void AmbientLight_float(float3 WorldNormal, bool IsVertex, out float3 Ambient) 2 | { 3 | #ifdef SHADERGRAPH_PREVIEW 4 | Ambient = 0.2f; 5 | #else 6 | if(IsVertex) 7 | { 8 | Ambient = SampleSHVertex(WorldNormal); 9 | } 10 | else 11 | { 12 | Ambient = SampleSH(WorldNormal); 13 | } 14 | #endif 15 | } 16 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 10/GetMainLight.hlsl: -------------------------------------------------------------------------------- 1 | void MainLight_float(float3 WorldPos, out float3 Direction, out float3 Color, 2 | out float DistanceAtten, out float ShadowAtten) 3 | { 4 | #ifdef SHADERGRAPH_PREVIEW 5 | Direction = normalize(float3(0.5f, 0.5f, 0.25f)); 6 | Color = float3(1.0f, 1.0f, 1.0f); 7 | DistanceAtten = 1.0f; 8 | ShadowAtten = 1.0f; 9 | #else 10 | float4 shadowCoord = TransformWorldToShadowCoord(WorldPos); 11 | Light mainLight = GetMainLight(shadowCoord); 12 | 13 | Direction = mainLight.direction; 14 | Color = mainLight.color; 15 | DistanceAtten = mainLight.distanceAttenuation; 16 | ShadowAtten = mainLight.shadowAttenuation; 17 | #endif 18 | } 19 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 10/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 13/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 14/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 4/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 5/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 6/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 7/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 8/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 9/DissolveWorld.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class DissolveWorld : MonoBehaviour 6 | { 7 | [SerializeField] private Renderer dissolveRenderer; 8 | private Material material; 9 | 10 | void Start() 11 | { 12 | material = dissolveRenderer.material; 13 | } 14 | 15 | void Update() 16 | { 17 | material.SetVector("_PlaneOrigin", transform.position); 18 | material.SetVector("_PlaneNormal", transform.up); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/Chapter 9/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/Shader Graph/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/Universal Render Pipeline/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Shaders/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Textures/Checkerboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Checkerboard.png -------------------------------------------------------------------------------- /Textures/CheckerboardNumbered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/CheckerboardNumbered.png -------------------------------------------------------------------------------- /Textures/EmissiveExample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/EmissiveExample.png -------------------------------------------------------------------------------- /Textures/EmissiveExamplePacked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/EmissiveExamplePacked.png -------------------------------------------------------------------------------- /Textures/HologramCheckerboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/HologramCheckerboard.png -------------------------------------------------------------------------------- /Textures/HologramCheckerboard2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/HologramCheckerboard2.png -------------------------------------------------------------------------------- /Textures/HologramDots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/HologramDots.png -------------------------------------------------------------------------------- /Textures/HologramStripes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/HologramStripes.png -------------------------------------------------------------------------------- /Textures/HologramStripes2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/HologramStripes2.png -------------------------------------------------------------------------------- /Textures/HologramStripes3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/HologramStripes3.png -------------------------------------------------------------------------------- /Textures/HologramStripes4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/HologramStripes4.png -------------------------------------------------------------------------------- /Textures/Ice004_2K_Color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Ice004_2K_Color.png -------------------------------------------------------------------------------- /Textures/Line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Line.png -------------------------------------------------------------------------------- /Textures/ParticleFlipbook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/ParticleFlipbook.png -------------------------------------------------------------------------------- /Textures/ParticleFlipbook2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/ParticleFlipbook2.png -------------------------------------------------------------------------------- /Textures/PremultipliedCircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/PremultipliedCircle.png -------------------------------------------------------------------------------- /Textures/ScanOverlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/ScanOverlay.png -------------------------------------------------------------------------------- /Textures/SceneCubemap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/SceneCubemap.png -------------------------------------------------------------------------------- /Textures/SnowAlt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/SnowAlt.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_attack0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_attack0.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_attack1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_attack1.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_attack2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_attack2.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_attackKick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_attackKick.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_back.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_behindBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_behindBack.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_cheer0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_cheer0.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_cheer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_cheer1.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_climb0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_climb0.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_climb1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_climb1.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_down.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_drag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_drag.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_duck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_duck.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_fall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_fall.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_fallDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_fallDown.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_hang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_hang.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_hit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_hit.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_hold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_hold.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_hurt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_hurt.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_idle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_idle.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_interact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_interact.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_jump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_jump.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_kick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_kick.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_rope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_rope.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_run0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_run0.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_run1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_run1.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_run2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_run2.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_shove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_shove.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_shoveBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_shoveBack.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_show.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_show.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_side.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_slide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_slide.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_switch0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_switch0.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_switch1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_switch1.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_talk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_talk.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_think.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_think.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_walk0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_walk0.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_walk1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_walk1.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_walk2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_walk2.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_walk3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_walk3.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_walk4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_walk4.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_walk5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_walk5.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_walk6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_walk6.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_walk7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_walk7.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/character_femaleAdventurer_wide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/Sprites/Character/character_femaleAdventurer_wide.png -------------------------------------------------------------------------------- /Textures/Sprites/Character/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Textures/Sprites/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /Textures/TransparentCircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Apress/building-quality-shaders-unity/e27f4408568c932efe3e3b962a3271614beeab13/Textures/TransparentCircle.png -------------------------------------------------------------------------------- /Textures/desktop.ini: -------------------------------------------------------------------------------- 1 | [.ShellClassInfo] 2 | ConfirmFileOp=0 3 | IconResource=C:\Program Files\Google\Drive File Stream\68.0.2.0\GoogleDriveFS.exe,23 4 | -------------------------------------------------------------------------------- /errata.md: -------------------------------------------------------------------------------- 1 | # Errata for *Building Quality Shaders for Unity* 2 | 3 | On **page xx** [Summary of error]: 4 | 5 | Details of error here. Highlight key pieces in **bold**. 6 | 7 | *** 8 | 9 | On **page xx** [Summary of error]: 10 | 11 | Details of error here. Highlight key pieces in **bold**. 12 | 13 | *** --------------------------------------------------------------------------------