|
|
EVENT DETAILS |
Shaders are programs that run on the graphic processing unit (GPU). They are mostly used to control the placement of vertices & the rendering of pixels. GPUs are massively parallel, meaning that they can do many calculations at the same time. This power can also be applied to more general problems like physics simulations & machine learning. This workshop will go through the basics of writing a shader program, then dive deep into using the power of the GPU to solve mathematics tasks as we write our own particle system from scratch!
SCHEDULE
Motivation
Massively parallel
Mythbusters example
Examples of parallelizable tasks (Image processing, physics, etc)
Difference in thinking between serial & parallel programming
What Is A Shader
Intro
Pipeline (tease topics covered)
Languages (GLSL, HLSL, CGINC)
Unity Built in variables
Useful functions (Step, Smoothstep, Lerp, Frac, Lerp)
Geometry Instancing And Vertex Deformation
Vertex noise
Fragment/Surface
PBR Rendering
Lighting
Unlit shaders
Geometry Shaders
Performance implications
Flat shading, recalculate normals
Vertex in -> Quad out
Computer Shaders
Intro, anatomy, overview
Thread Groups, Execution
Fill a buffer, change over time
Particle System
Structure (init, update)
Accessing data in buffers
Motion integration
Add-Ons
Forces (Attract / Repel)
Parameterized attractors
Vector Fields
Rendering
Per particle data
Color by age
Align rotation to velocity
Flipbook animation?
|
|
|
|
|
|