Chapter 7. HLSL in Detail

HLSL is a part of the C family of programming languages. Many familiar C icons/constructs are part of its specifications, such as creating blocks of code with curly brackets, requiring case-sensitive tokens, and using a semicolon to terminate a code statement. It sports a pocket-sized API containing a few hundred keywords and contains several dozen helpful shader functions.

Note

HLSL is a moniker for the High Level Shader Language.

HLSL, at its core, is a language optimized for creating small, specialized programs, which manipulate the graphics pipeline data on the GPU. Through HLSL, we have the power to control important graphical constructs like vertex and pixel shaders. To harness this power requires learning a new programming language and API. Just as importantly, you need to change your brain—remap your neurons to a different way of thinking about graphics code.

Parallel Processing in Shaders

.NET programmers are often delighted to find that shaders are nothing more than a miniature program that is optimized to run on the computer’s GPU. This happiness fades when they start exploring the strange programming model underlying shaders, however. Because shaders run on massive parallel processors, developers shouldn’t use their traditional OO or procedural approach to writing shader code.

Raise your hand if you’ve ever written pixel manipulation code that walks though the X and Y coordinates of the underlying image. I see a few GDI developers sheepishly waving ...

Get HLSL and Pixel Shaders for XAML Developers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.