====== Tahák ====== ===== OpenGL ===== Stavový automat {{ogl.png?800}} * **VBO** -- Vertex Buffer Object * **VS** -- Vertex Shader * **EBO** -- Element Buffer Object * **PA** -- Primitive Assembly * **FS** -- Fragment Shader (každý pixel zvlášť) * **PFO** -- Per Fragment Operations (celý obraz) * **FB** -- Frame Buffer [[wp>Rendering equation]] **[[wp>Mipmap|Mipmapy]]** zamezují aliasu. Textury se předpočítají do nižších rozlišení za cenu třetinového nárůstu spotřeby paměti. ===== Osvětlovací modely ===== ==== Lambert ==== [[wp>Lambertian reflectance]] * Ambientní = barva · intenzita světla * Difůzní = barva · intenzita světla · cos(úhel mezi normálou a světlem) * Specular není! ==== Phong ==== [[wp>Phong shading]] {{http://upload.wikimedia.org/wikipedia/commons/6/6b/Phong_components_version_4.png?400}} * K Lambertovi přidává specular * Počítá se per-pixel (fragment shader) * Normály musí být normalizované((jednotkové)) * Složitý vzorec :-) ==== Blinn-Phong ==== [[wp>Blinn–Phong shading model]] {{http://upload.wikimedia.org/wikipedia/commons/e/e9/Blinn_phong_comparison.png?300}} * Méně přesný než Phongův, ale rychlejší ==== Gouraud ==== [[wp>Gouraud shading]] {{http://upload.wikimedia.org/wikipedia/commons/a/af/Gouraud_low_anim.gif?100}} * Taky má specular * Počítá se per-vertex (vertex shader) ==== Flat ==== {{http://upload.wikimedia.org/wikipedia/commons/4/44/Flat-shading-sample.jpg?100}} Jako Gouraudovo, ale per-face.