Differences

This shows you the differences between two versions of the page.

Link to this comparison view

egc:laboratoare:08 [2022/12/05 14:04]
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 241: Line 241:
     * Directia de ilumiare este transmisa ca ''​uniform vec3 light_direction''​     * Directia de ilumiare este transmisa ca ''​uniform vec3 light_direction''​
     * Nu uitati sa aplicati un model de atenuare al luminii in functie de apropierea fragmentelor de unghiul de cut-off     * Nu uitati sa aplicati un model de atenuare al luminii in functie de apropierea fragmentelor de unghiul de cut-off
-  - Sa se adauga ​în scenă o nouă sursă de lumină+  - Sa se adauge ​în scenă o nouă sursă de lumină ​si sa se calculeze iluminarea
  
 **[Bonus]** **[Bonus]**
Line 248: Line 248:
     * rotirea spotului: **sus, jos, stanga, dreapta**     * rotirea spotului: **sus, jos, stanga, dreapta**
     * 2 taste pentru a creste/​micsora unghiul de iluminare al spot-ului     * 2 taste pentru a creste/​micsora unghiul de iluminare al spot-ului
-  * Sa se adauga în scenă o nouă sursă de lumină+
  
 <​hidden>​ <​hidden>​
egc/laboratoare/08.1670241872.txt.gz · Last modified: 2022/12/05 14:04 by alexandru.gradinaru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0