<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SlashCode &#187; 3d</title>
	<atom:link href="http://davideaversa.it/slashcode/tag/3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://davideaversa.it/slashcode</link>
	<description></description>
	<lastBuildDate>Thu, 03 May 2012 14:28:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Libro: Fondamenti di Grafica Tridimensionale</title>
		<link>http://davideaversa.it/slashcode/2010/05/libro-fondamenti-di-grafica-tridimensionale/</link>
		<comments>http://davideaversa.it/slashcode/2010/05/libro-fondamenti-di-grafica-tridimensionale/#comments</comments>
		<pubDate>Mon, 17 May 2010 12:05:07 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[libri]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=572</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2010/05/libro-fondamenti-di-grafica-tridimensionale/"><img title="Libro: Fondamenti di Grafica Tridimensionale" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/05/fdgti.jpeg" alt="Libro: Fondamenti di Grafica Tridimensionale"  width="142" height="200" /></a></div><br/>Passato il week-end posso rimettermi al lavoro per scrivere l&#8217;ultima parte del primo capitolo del nostro corso introduttivo alle OpenGL. Nel frattempo però voglio suggerirvi un libro interessante e conciso per capire le meccaniche alla base di ogni sistema grafico tridimensionale. Il libro non si basa su nessuna libreria ma spiega in modo molto semplice <a href='http://davideaversa.it/slashcode/2010/05/libro-fondamenti-di-grafica-tridimensionale/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F05%2Flibro-fondamenti-di-grafica-tridimensionale%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2010/05/libro-fondamenti-di-grafica-tridimensionale/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Libro: Fondamenti di Grafica Tridimensionale" data-url="http://davideaversa.it/slashcode/2010/05/libro-fondamenti-di-grafica-tridimensionale/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="size-full wp-image-573 alignleft" title="fondamenti di grafica" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/05/fdgti.jpeg" alt="" width="140" height="196" />Passato il week-end posso rimettermi al lavoro per scrivere l&#8217;ultima parte del primo capitolo del nostro corso introduttivo alle OpenGL. Nel frattempo però voglio suggerirvi un libro interessante e conciso per capire le meccaniche alla base di ogni sistema grafico tridimensionale.</p>
<p>Il libro non si basa su nessuna libreria ma spiega in modo molto semplice tutti i passi con cui un sistema digitale costruisce, gestisce e disegna su schermo un modello tridimensionale analizzando le varie fasi: modellazione, clipping, proiezione, colore, luce ecc. Un libro molto utile per poter avere una visione di insieme del mondo della grafica 3D mentre si studia una libreria specifica.</p>
<p>Il libro è scritto a quattro mani da Riccardo Scateni, Paolo Cignoni, Claudio Montani e Roberto Scopigno e ha un prezzo di circa 25€.</p>
<p>Se vi interessa il mondo della computer grafica è un libro assolutamente da non perdere.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=572&amp;md5=dbde66db36155bd8bbb87e4b1bd64651" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2010/05/libro-fondamenti-di-grafica-tridimensionale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F05%2Flibro-fondamenti-di-grafica-tridimensionale%2F&amp;language=it_IT&amp;category=text&amp;title=Libro%3A+Fondamenti+di+Grafica+Tridimensionale&amp;description=Passato+il+week-end+posso+rimettermi+al+lavoro+per+scrivere+l%26%238217%3Bultima+parte+del+primo+capitolo+del+nostro+corso+introduttivo+alle+OpenGL.+Nel+frattempo+per%C3%B2+voglio+suggerirvi+un+libro+interessante+e+conciso...&amp;tags=3d%2Clibri%2Cblog" type="text/html" />
	</item>
		<item>
		<title>OpenGL e DirectX</title>
		<link>http://davideaversa.it/slashcode/2009/11/opengl-e-directx/</link>
		<comments>http://davideaversa.it/slashcode/2009/11/opengl-e-directx/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 07:51:44 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[directx]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=506</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2009/11/opengl-e-directx/"><img title="OpenGL e DirectX" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/11/3d-150x150.jpg" alt="OpenGL e DirectX"  width="200" height="200" /></a></div><br/>Lo so. Sono discorsi pro-flame che hanno stancato tutti. Anche me. Ma a quanto pare qualcuno non ha capito a fondo la differenza fra le due librerie e crede che OpenGL sia il solito fratello sfigato delle DirectX che mamma microsoft ci offre con tanto spirito di carità. Non starò a tediarvi con &#8220;è meglio <a href='http://davideaversa.it/slashcode/2009/11/opengl-e-directx/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F11%2Fopengl-e-directx%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2009/11/opengl-e-directx/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="OpenGL e DirectX" data-url="http://davideaversa.it/slashcode/2009/11/opengl-e-directx/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="alignleft size-thumbnail wp-image-505" title="3d" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/11/3d-150x150.jpg" alt="3d" width="150" height="150" />Lo so. Sono discorsi pro-flame che hanno stancato tutti. Anche me. Ma a quanto pare qualcuno non ha capito a fondo la differenza fra le due librerie e crede che OpenGL sia il solito fratello sfigato delle DirectX che mamma microsoft ci offre con tanto spirito di carità.</p>
<p>Non starò a tediarvi con &#8220;è meglio X perché&#8221; o &#8220;quanto fa schifo Y&#8221;. Vi sparerò di seguito qualche dato preso da libri attendibili e non trarrò conclusioni. Queste spettano a voi.</p>
<p>Per prima cosa va puntualizzato che comparare OpenGL con le DirectX è come comparare KDE con OpenSolaris. Le OpenGL infatti sono puramente librerie 3D mentre le DirectX offrono anche funzionalità collegate al mondo dei videogame quali</p>
<p><strong>DirectDraw</strong> &#8211; Libreria per la grafica 2D<br />
<strong>Direct3D</strong> &#8211; Libreria per la grafica 3D<br />
<strong>DirectSound</strong> &#8211; Libreria per la riproduzione e la manipolazione di effetti sonori<br />
<strong>DirectInput</strong>- Libreria per la gestione dell&#8217;Input (tastiera, mouse, joystick etc.)<br />
<strong>DirectShow</strong> &#8211; Libreria per la riproduzione di file video<br />
<strong>DirectPlay</strong> &#8211; Libreria per il networking</p>
<p>Per OpenGL invece dobbiamo accoppiare librerie specifiche separate e librerie ausiliarie come GLUT e simili. Le comparazioni fra OpenGL e DirectX, quindi, le farò solamente rispetto a Direct3D.</p>
<p>Iniziamo con una tabella che comparativa delle features</p>
<table style="cursor: default;" border="0">
<tbody>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Feature:</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">OpenGL</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Direct3D</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Vertex Blending</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">N/A</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Multiple Operating Systems</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">No</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Extension Mechanism</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Development</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Multiple member Board</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Microsoft</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Thorough Specification</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">No</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Two-sided lighting</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">No</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Volume Textures</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">No</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Hardware independent Z-buffers</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">No</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Accumulation buffers</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">No</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Full-screen Antialiasing</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Motion Blur</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Depth of field</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Stereo Rendering</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">No</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Point-size/line-width attributes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">No</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Picking</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">No</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Parametric curves and surfaces</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yes</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">No</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Cache geometry</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Display Lists</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Vertex Buffers</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">System emulation</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Hardware not present</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Let app determine</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Interface</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Procedure calls</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">COM</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Updates</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yearly</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Yearly</td>
</tr>
<tr>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Source Code</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">Sample</td>
<td style="color: #000000; font-size: 11px; cursor: text; font-family: verdana, sans-serif; margin: 8px;">SDK Implementation</td>
</tr>
</tbody>
</table>
<p>Da notare il supporto allo Stereo Rendering che serve a creare video 3D compatibili con gli occhialetti tanto di moda nell&#8217;ultimo periodo. <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Ora non so se questa tabella è aggiornatissima ma è comunque indicativa.</p>
<p>Altra questione. Le DirectX hanno un accesso diretto all&#8217;hardware su Windows mentre le OpenGL si devono arrangiare con le <strong>WGL</strong><strong>. </strong>Questo influisce negativamente sulle OpenGL su Windows ed è uno dei motivi per cui per i giochi windows si preferiscono le DirectX. Il motivo di questa discriminazione è nella chiusura del codice di Windows, ovviamente. Inoltre, astutamente, le funzionalità di accesso all&#8217;hardware (driver) e quelle di API sono inseparabili. Ciò significa che un programma che sfrutta OpenGL non può appoggiarsi a DirectX per avere una via preferenziale verso la scheda video, infatti tale via è utilizzabile solamente se il canale viene aperto dalle API Direct3D.</p>
<p>Inoltre le prestazioni fra Direct3D e OpenGL sono del tutto comparabili. A seconda dei test prevale una o prevale l&#8217;altra. Quindi siamo in totale parità.</p>
<p>Infine la semplicità di programmazione pende a favore delle OpenGL. Per prima cosa perché sono scelte universalmente come libreria didattica e in secondo luogo perché sfrutta la semplice interfaccia a &#8220;chiamata di funzione&#8221; a differenza dell&#8217;uso di COM per DirectX.</p>
<p>Non dico che la tecnologia COM sia peggio della chiamata di funzione. Ma sicuramente richiede un approccio diverso e quindi una curva di apprendimento più ripida rispetto al sistema &#8220;standard&#8221; usato da C/C++ e che quindi tutti conoscono già.</p>
<p>Quasi dimenticavo di aggiungere che le OpenGL sono disponibili ovunque, per qualunque architettura e dispositivo, mentre le DirectX sono vincolate a Microsoft.</p>
<p>Ci sarebbe altro da dire ma poi diventerei noiso. Penso che queste cose servano a fare un po di chiarezza.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=506&amp;md5=2b994b89b3f80eba7849d1cfd960405e" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2009/11/opengl-e-directx/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F11%2Fopengl-e-directx%2F&amp;language=it_IT&amp;category=text&amp;title=OpenGL+e+DirectX&amp;description=Lo+so.+Sono+discorsi+pro-flame+che+hanno+stancato+tutti.+Anche+me.+Ma+a+quanto+pare+qualcuno+non+ha+capito+a+fondo+la+differenza+fra+le+due+librerie+e+crede+che...&amp;tags=3d%2Cdirectx%2Copengl%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>

