Unity advanced computer graphics week 02

36
Unity Advanced Computer Graphics Week 02 GameUIT - March 2017 - Tri.TMT Contact: Fb: bit.ly/fb_tri , Linkedin: bit.ly/linkedin_tri Source code : GitHub

Transcript of Unity advanced computer graphics week 02

Page 1: Unity advanced computer graphics week 02

Unity AdvancedComputer Graphics

Week 02GameUIT - March 2017 - Tri.TMT

Contact: Fb: bit.ly/fb_tri , Linkedin: bit.ly/linkedin_triSource code : GitHub

Page 2: Unity advanced computer graphics week 02

Render Pipeline

Page 3: Unity advanced computer graphics week 02

The Difference between a CPU and GPU

Page 4: Unity advanced computer graphics week 02

The Difference between a CPU and GPU

Page 5: Unity advanced computer graphics week 02

The Difference between a CPU and GPU

Page 6: Unity advanced computer graphics week 02

Shader Languages

Cg (short for Central Graphics) - nvidia

GLSL (glslang) - OpenGL

HLSL (High-Level Shading Language) - DirectX

Page 7: Unity advanced computer graphics week 02

Shading Language used in UnityIn Unity, shader programs are written in a variant of HLSL language (also called Cg but for most practical uses the two are the same).

Shader Compilers

- Windows & Microsoft platforms (DX9, DX11, DX12 and Xbox One) all use Microsoft’s HLSL compiler (currently d3dcompiler_47).

- OpenGL Core, OpenGL ES 3 and Metal use Microsoft’s HLSL followed by bytecode translation into GLSL, using a modified version of hlslcc.

- OpenGL ES 2.0 uses source level translation via hlsl2glslfork and glsl optimizer.- Other console platforms use their respective compilers (e.g. PSSL on PS4).

Surface Shaders use Cg 2.2 and MojoShader for code generation analysis step.

Page 8: Unity advanced computer graphics week 02

First ShaderProject > Click Right > Create > Shader > Unlit Shader

Page 9: Unity advanced computer graphics week 02

First Shader

Page 10: Unity advanced computer graphics week 02

Shader Property

Page 11: Unity advanced computer graphics week 02

Shader Property

Page 12: Unity advanced computer graphics week 02

Shader Property

Page 13: Unity advanced computer graphics week 02

Shader data types and precisionFloat : 32 bits

Half : 16 bits

Fixed : 11 bits

Integer

https://docs.unity3d.com/Manual/SL-DataTypesAndPrecision.html

Page 14: Unity advanced computer graphics week 02

ShaderLab SyntaxSubShader

Fallback

- Fallback "name"

Pass

Page 15: Unity advanced computer graphics week 02

Vertex and Fragment shaders

Page 16: Unity advanced computer graphics week 02

Vertex and Fragment shaders

Page 17: Unity advanced computer graphics week 02

Fragment Shader : Simple Color

Page 18: Unity advanced computer graphics week 02

Fragment Shader : Simple Color

Page 19: Unity advanced computer graphics week 02

Fragment Shader : ColorUV

Page 20: Unity advanced computer graphics week 02

Fragment Shader : ColorUV

Page 21: Unity advanced computer graphics week 02

Fragment Shader : Simple Texture

Page 22: Unity advanced computer graphics week 02

Fragment Shader : Multi Texture

Page 23: Unity advanced computer graphics week 02

Fragment Shader : Multi Texture

Page 24: Unity advanced computer graphics week 02

Vertex Shader : Waves

Page 25: Unity advanced computer graphics week 02

Vertex Shader : Waves

Page 26: Unity advanced computer graphics week 02

ShaderLab built-in values

Page 27: Unity advanced computer graphics week 02

ShaderLab built-in valueshttps://docs.unity3d.com/460/Documentation/Manual/SL-BuiltinValues.html

Page 28: Unity advanced computer graphics week 02

Exercise 01 : Shader GrayScale

GrayScale

Page 30: Unity advanced computer graphics week 02

Exercise 02 : Shader Brightness - Contrast

BrightNess

Page 31: Unity advanced computer graphics week 02

Exercise 03 : Terrain

Page 32: Unity advanced computer graphics week 02

Exercise 04 : Shader Blur (option)https://github.com/mattdesl/lwjgl-basics/wiki/ShaderLesson5

Page 33: Unity advanced computer graphics week 02

Exercise 03 : Shader Blur (option)

Page 34: Unity advanced computer graphics week 02

Exercise 03 : Shader Blur (option)

Page 36: Unity advanced computer graphics week 02

Q&AThanks for watching.