This shows you the differences between two versions of the page.
|
pgapi:teme:2025:01 [2025/11/13 20:52] silviu.stancioiu00 [Artificiile de ecranul televizorului] |
pgapi:teme:2025:01 [2025/11/13 21:12] (current) silviu.stancioiu00 [Reflexiile incaperii pe ecran] |
||
|---|---|---|---|
| Line 47: | Line 47: | ||
| ===== Reflexiile incaperii pe ecran ===== | ===== Reflexiile incaperii pe ecran ===== | ||
| - | @Silviu | + | Din centrul televizorului se va randa întreaga scenă (mai puțin televizorul și ecranul acestuia) într-un cubemap. Obiectele desenate în acest cubemap nu este necesar să casteze și umbre. Totuși, iluminarea lămpii trebuie să fie prezentă. |
| + | {{ :pgapi:teme:2025:room_cubemap.gif?300 |}} | ||
| + | |||
| + | Pe ecranul televizorului se va folosi acest cubemap pentru a reflecta încăperea (vezi [[pgapi:laboratoare:06|]]) | ||
| + | |||
| + | {{ :pgapi:teme:2025:tv_reflection.png?300 |}} | ||
| + | |||
| + | Pentru ca televizorul să afișeze și show-ul de artificii, dar și reflexiile se va face o interpolare liniară între culorile preluate din cele două texturi (textura în care se randeaza artificiile și cubemap-ul reflexiilor) cu un factor de interpolare constant (ex: 0.25). Exemplu de implementare: | ||
| + | |||
| + | out_color = mix(texture(color_texture, uv), texture(texture_cubemap, cubemapDir), 0.25); | ||
| + | | ||
| + | Pentru combinarea celor două texturi vă puteți juca cu formula folosită pentru a obține ce rezultate vreți, dar important este ca pe suprafața ecranului să fie prezente și reflexiile și artificiile. | ||
| ===== Iluminare ===== | ===== Iluminare ===== | ||