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!
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
Flat shading, recalculate normals
Vertex in -> Quad out
Intro, anatomy, overview
Thread Groups, Execution
Fill a buffer, change over time
Structure (init, update)
Accessing data in buffers
Forces (Attract / Repel)
Per particle data
Color by age
Align rotation to velocity
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 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.