{"id":2778,"date":"2006-11-09T00:00:00","date_gmt":"2006-11-08T23:00:00","guid":{"rendered":""},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"2778","status":"publish","type":"post","link":"https:\/\/www.vialattea.net\/content\/2778\/","title":{"rendered":"Salve, mi potete spiegare in parole semplici alcune tecniche di rendering grafico come l&#8217;algoritmo di Wu Tang Ph\u00f2ng, il metodo z-buffer e il Ray tracing?\r\nQuale metodo di rendering grafico risulta il migliore comunemente?\r\nE soprattutto cosa significa interpolazione a livello di grafica?\r\nGrazie"},"content":{"rendered":"<p>Parlare di interpolazione a livello di grafica \u00e8 un p\u00f2 troppo generica come affermazione. Si pu\u00f2 parlare di interpolazione quando, per esempio, si disegna un insieme di punti e si cerca di disegnare una linea retta che <br \/>passa per quei punti in modo da completare il disegno dove non ci sono punti. <\/p>\n<p>La computer grafica produce immagini a partire da numeri nel seguente modo: <\/p>\n<p>1.. si inserisce il modello geometrico in 3d degli oggetti<br \/>2.. si inserisce l\u2019informazione sulla posizione, sul tipo e la direzione delle luci <br \/>3.. si inserisce la descrizione delle tessiture che riempiono l\u2019oggetto<\/p>\n<p>A\u00a0questo punto interviene la fase di rendering per unire tutti questi numeri e produrre l\u2019immagine cercando un risultato realistico, ovvero quanto pi\u00f9 possibile indistinguibile da una immagine reale. <\/p>\n<p>Esistono tante tecniche di rendering, nessuna \u00e8 migliore delle altre, la scelta dipende dal tipo di immagine che si vuole ottenere, dalle risorse di tempo e di calcolo disponibili. Le tecniche si possono suddivire in: <\/p>\n<p><strong>1. metodi per creare le luci<\/strong><\/p>\n<ul>\n<li>Wire-frame<\/li>\n<li>Painter\u2019s algorithm<\/li>\n<li>Z-Buffer<\/li>\n<li>Ray Tracing<\/li>\n<li>Radiosity <\/li>\n<\/ul>\n<p><strong>2. metodi per determinare i colori e le sfumature<\/strong><\/p>\n<ul>\n<li>Flat Shading<\/li>\n<li>Linear (Gourand) Shading<\/li>\n<\/ul>\n<p>Il metodo z-buffer lavora in questo modo: <\/p>\n<p>1.. ad ogni pixel \u00e8 associato un Z-valore che \u00e8 la distanza dall\u2019occhio del punto dell\u2019oggetto rappresentato dal pixel <br \/>2.. lo Z-buffer \u00e8 usato per memorizzare tutti gli Z-valori <br \/>3.. prima che un poligono venga disegnato tutti i valori in Zbuffer sono posti ad un valore massimo che indica la distanza massima dall\u2019occhio<br \/>4.. prima che un nuovo Z-valore di un pixel venga scritto nel Z-buffer ogni pixel memorizzato nel Z-buffer viene confrontato con il nuovo Z-valore <br \/>5.. se il nuovo Z-valore rappresenta un valore minore, cio\u00e8 un pixel pi\u00f9 vicino allo occhio, viene scritto nel Z-buffer<\/p>\n<p>Lo Z-buffer \u00e8 indipendente dall\u2019ordine degli oggetti, pu\u00f2 essere calcolato con algoritmi molto veloci, per\u00f2 non riesce a simulare effetti fisici della luce come riflessione, ombre realistiche ecc. Per risolvere i problemi del Z-buffer si usa il ray tracing, ovvero il tracciamento dei raggi di luce, due tecniche.<\/p>\n<p>Nella Forward Propagation un raggio di luce parte dalla sorgente di luce, quando il raggio incontra un oggetto vengono calcolati la rifrazione e la riflessione, questi calcoli vengono eseguiti molte volte secondo la quantit\u00e0 degli oggetti nella scena, problema \u00e8 che i raggi che arrivato all\u2019occhio oppure alla camera sono pochi rispetto ai raggi che vengono calcolati, e calcolare tutti i raggi richiede troppo tempo.<\/p>\n<p>Nella Back Propagation un raggio di luce \u00e8 sparato dal punto in cui \u00e8 collocato l\u2019occhio verso la direzione di vista per calcolare il colore del pixel, questo processo non si ferma quando il primo oggetto viene incontrato, se un <br \/>oggetto che viene incontrato non \u00e8 una sorgente di luce molti raggi ripartono dallo oggetto in ogni direzione da dove la luce potrebbe venire. <\/p>\n<p>L\u2019algoritmo di Phong produce immagini in cui le superfici curve hanno un aspetto molto naturale, anche se il reticolo di base \u00e8 sfaccettato in maniera grossolana. L\u2019algoritmo rappresenta correttamente i riflessi luminosi sulle superfici lucide e tiene conto delle ombre riportate. La radiazione luminosa si considera emessa da sorgenti puntiformi. Il colore di un punto arbitrario su una superficie viene calcolato utilizzando quattro vettori di modulo unitario. La riflessione della radiazione luminosa viene modellata in termini di tre componenti additive, diffusa, speculare e ambiente, ciascuna modellata separatamente. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[&#8230;]<\/p>\n","protected":false},"author":234,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60],"tags":[],"class_list":["post-2778","post","type-post","status-publish","format-standard","hentry","category-domande-varie-informatica-e-telecomunicazioni"],"_links":{"self":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts\/2778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/users\/234"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/comments?post=2778"}],"version-history":[{"count":0,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts\/2778\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/media?parent=2778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/categories?post=2778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/tags?post=2778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}