~~NOTOC~~ ====== Shader ====== A **shader** is a component that implements a *local illumination model* in GroIMP, defining how light interacts with the surface of an object. The local illumination model is the theoretical framework that describes how incoming light is absorbed, reflected, or transmitted by surfaces at a local point. A shader is the concrete implementation of this model, encoded as an object or class in GroIMP that controls these optical properties for rendering and simulation purposes. It specifies the optical properties such as **absorption**, **reflection**, **transmission**, and the scattering behavior of light rays on that surface. ==== Common Shader Types ==== For implementation and parameter setting see the tutorial [[02_user_tutorials:20_light:01_first_steps:04_light-modeling-light-shader]]. ====== ====== {{namespace>01_user_documentation:05_object:02_light:12_shaders}}