Skip to main content

Why Does Unity use HLSL instead of GLSL

I am beginner in shader programming. I got my introduction(few minutes ago) to shader programming via Unity.

I didn't know what HLSL was. So, I Googled and found this post: Difference b/w HLSL & GLSL

I can't understand one thing. Unity was initially developed for OSX & introduced at WWDC. Also DirectX is windows only API & HLSL is the shader programming language for DirectX. However, Unity3D for OSX is written in OpenGL. OpenGL uses a standard shader programming language called "GLSL".

So, I'm confused how Unity3D uses HLSL on OSX & why Unity didn't pick GLSL instead of HLSL.

NOTE: I might be wrong somewhere. So please correct if something is wrong as I told I'm a beginner