writing shaders - you can do it!
TRANSCRIPT
Writing ShadersYOU can do it!
Unite Boston 2015
● Yılmaz Kıymaz
● Unity developer for 7 years
● Shader enthusiast
● Software Development Engineer at Nordeus
WRITING SHADERSYOU CAN DO IT!
NORDEUS
Belgrade based
WRITING SHADERSYOU CAN DO IT!
Developer of Top Eleven
Shaders areWRITING SHADERSYOU CAN DO IT!
scary!interesting
Weird terminology Unfamiliar math and data Runs on the GPU!?
Vertices, fragmentsVectors, matrices, texturesCross productDot productMatrix multiplication
Primitive assemblyRasterizationZWriteCullStencil
Massively parallelizedDifferent performance criteriaDifferent constraints
Run away?
Learn all of it?
Actually...
You don't need to worry about this
WRITING SHADERSYOU CAN DO IT!
Experiment Fail Learn Repeat
Attend this talk Learn Profit!
What are shaders?WRITING SHADERSYOU CAN DO IT!
Shader GPU ImageInputMesh
Material DataLighting Dataand more
How do they work?WRITING SHADERSYOU CAN DO IT!
Shader LanguagesWRITING SHADERSYOU CAN DO IT!
HLSL GLSL CG
OpenGL Shading Language
OpenGL ARB (Architecture Review Board)
OpenGL
Windows, Mac, Linux, iOS, Android and more
High Level Shading Language
Microsoft
DirectX
Windows, XBox
C for Graphics
Nvidia
DirectX & OpenGL
Deprecated but...
Thanks to Unity, covers all platforms
ShaderLabWRITING SHADERSYOU CAN DO IT!
Unity specific shading and material language
All shaders written in Unity must be wrapped with ShaderLab
May seem like extra work but it's actually saving you from a lot more work
Dive into Unity
WRITING SHADERSYOU CAN DO IT!
Diffuse
WRITING SHADERSYOU CAN DO IT!
Specular
● Unity Manual● Nvidia CG Tutorial● CG Programming in Unity wikibook● Video tutorial series on YouTube● ShaderToy● Aras' blog - aras-p.info/blog● LearnOpenGL.com● RealTimeRendering.com● Many more at
RESOURCESWRITING SHADERSYOU CAN DO IT!
norde.us/unitewritingshaders
● Shader languages● Shaders in Unity (ShaderLab)● Vertex and Fragment Programs● Lighting calculations● Resources
RECAP
WRITING SHADERSYOU CAN DO IT!
THANK YOU!
WRITING SHADERSYOU CAN DO IT!