This shows you the differences between two versions of the page.
egc:laboratoare:08 [2022/12/05 14:05] alexandru.gradinaru |
egc:laboratoare:08 [2023/12/06 12:29] (current) anca.cristea [Iluminare Spot-light] |
||
---|---|---|---|
Line 4: | Line 4: | ||
**Autori**: [[Ph.Dumitru@gmail.com | Philip Dumitru]], [[andrei.lapusteanu@upb.ro | Andrei Lăpușteanu]], [[caragicu_r@outlook.com | Robert Caragicu]] | **Autori**: [[Ph.Dumitru@gmail.com | Philip Dumitru]], [[andrei.lapusteanu@upb.ro | Andrei Lăpușteanu]], [[caragicu_r@outlook.com | Robert Caragicu]] | ||
- | <hidden> | + | |
==== Modelarea reflexiei luminii ==== | ==== Modelarea reflexiei luminii ==== | ||
Line 34: | Line 34: | ||
Totuși, trebuie să menționăm că modelul complet urmărește formula de mai sus, unde constantele de material $K_e, K_a, K_d, K_s$ sunt diferite și au 3 canale $(R,G,B)$, iar intensitatea luminii ambientale și intensitatea sursei de lumină au de asemenea 3 canale. Expresia luminii se evaluează separat pentru cele trei canale. | Totuși, trebuie să menționăm că modelul complet urmărește formula de mai sus, unde constantele de material $K_e, K_a, K_d, K_s$ sunt diferite și au 3 canale $(R,G,B)$, iar intensitatea luminii ambientale și intensitatea sursei de lumină au de asemenea 3 canale. Expresia luminii se evaluează separat pentru cele trei canale. | ||
- | </hidden> | + | |
==== Iluminare Phong in Fragment Shader ==== | ==== Iluminare Phong in Fragment Shader ==== | ||
Line 109: | Line 109: | ||
Astfel, punctul **P** se afla in conul de lumina (primeste lumina) daca conditia urmatoare este indepilita: | Astfel, punctul **P** se afla in conul de lumina (primeste lumina) daca conditia urmatoare este indepilita: | ||
<code glsl> | <code glsl> | ||
- | float cut_off = radians(30); | + | float cut_off = radians(30.0f); |
float spot_light = dot(-L, light_direction); | float spot_light = dot(-L, light_direction); | ||
if (spot_light > cos(cut_off)) | if (spot_light > cos(cut_off)) | ||
Line 121: | Line 121: | ||
<code glsl> | <code glsl> | ||
- | float cut_off = radians(30); | + | float cut_off = radians(30.0f); |
float spot_light = dot(-L, light_direction); | float spot_light = dot(-L, light_direction); | ||
float spot_light_limit = cos(cut_off); | float spot_light_limit = cos(cut_off); | ||
Line 251: | Line 251: | ||
<hidden> | <hidden> | ||
- | * Sa se adauga în scenă o nouă sursă de lumină | ||
- Modelul de iluminare Phong, folosind 3 canale de culoare: | - Modelul de iluminare Phong, folosind 3 canale de culoare: | ||