|Win/Mac/Linux||iOSApple’s mobile operating system. More info
See in Glossary/Android
|Deferred lighting||SM3.0, GPU support||-||Yes|
|Forward renderingThe process of drawing graphics to the screen (or to a render texture). By default, the main camera in Unity renders its view to the screen. More info
See in Glossary
|Vertex Lit rendering||Yes||Yes||-|
|Realtime Shadows||GPU support||GPU support||Yes|
|Programmable ShadersA small script that contains the mathematical calculations and algorithms for calculating the Color of each pixel rendered, based on the lighting input and the Material configuration. More info
See in Glossary
|Fixed Function Shaders||Yes||Yes||-|
Realtime Shadows work on most PC, console & mobile platforms. On Windows (Direct3D), the GPU also needs to support shadow mapping features; most discrete GPUs support that since 2003 and most integrated GPUs support that since 2007. Technically, on Direct3D 9 the GPU has to support D16/D24X8 or DF16/DF24 texture formatsA file format for handling textures during real-time rendering by 3D graphics hardware, such as a graphics card or mobile device. More info
See in Glossary; and on OpenGL it has to support GL_ARB_depth_texture extension.
Mobile shadows (iOS/Android) require OpenGL ES 2.0 and GL_OES_depth_texture extension, or OpenGL ES 3.0. Most notably, the extension is not present on Tegra 3 and Tegra 4 based Android devices, so shadows do not work there.
Post-processing effects require render-to-texture functionality, which is generally supported on anything made in this millenium.
In Unity, you can write programmable or fixed function shaders. Programmable shaders are supported everywhere, and default to Shader Model 2.0 (desktop) and OpenGL ES 2.0 (mobile). It is possible to target higher shader models if you want more functionality. Fixed function is supported everywhere except consoles.