Back to All Events

Shaders in Unity

  • RLab 63 Flushing Avenue, Building 22 Brooklyn, NY, 11205 United States (map)


Shaders in Unity

Shaders are programs that run on the graphic processing unit (GPU). They are mostly used to control the placement of vertices and 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 and 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!



Massively parallel
Mythbusters example
Examples of parallelizable tasks (Image processing, physics, etc…)
Difference in thinking between serial and parallel programming

What Is A Shader

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


PBR Rendering
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


Forces (Attract / Repel)
Parameterized attractors
Vector Fields


Per particle data
Color by age
Align rotation to velocity
Flipbook animation?

David Lobser.png

David Lobser

Kaplow! Ale

David Lobser is a 3D artist, director and XR developer working in Brooklyn, NY. He develops projects for clients such as Forbes, H&M, Google, The Economist etc. with his production studio: Object Normal. 

As an artist in residence at NYU’s Future Reality Lab he developed a series of social VR experiences including Flock, which has been exhibited internationally.

His soon to be released VR app: Cosmic Sugar is a computer shader driven sandbox for art and physics.

Nate Turley.png

Nate Turley


Nate is a freelance creative technologist, technical director, and digital artist based in NYC.

He specializes in creating custom hardware and software systems for interactive audio visual installations, digital event activations, and live performance. He holds a Bachelor of Science in Electrical and Computer Engineering from The University of Colorado.

He is interested primarily in the ways art and technology influence each other, how culture is created and spread, and the power of sublime moments of total immersion.

He creates work on OpenFrameworks, Cinder, Unity3D, TouchDesigner, Max/MSP, among others and thrives on learning new techniques and tools.

Later Event: October 7
Introduction to Unity Platform