<?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>Real-Time Rendering &#187; matrix library</title>
	<atom:link href="http://www.realtimerendering.com/blog/tag/matrix-library/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.realtimerendering.com/blog</link>
	<description>Tracking the latest developments in interactive rendering techniques</description>
	<lastBuildDate>Sun, 12 May 2013 00:21:14 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>OpenGL Insights and more</title>
		<link>http://www.realtimerendering.com/blog/opengl-insights-and-more/</link>
		<comments>http://www.realtimerendering.com/blog/opengl-insights-and-more/#comments</comments>
		<pubDate>Tue, 31 Jul 2012 13:39:42 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[matrix library]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[OpenGL]]></category>

		<guid isPermaLink="false">http://www.realtimerendering.com/blog/?p=3166</guid>
		<description><![CDATA[In my previous blog post I mentioned the newly-released book OpenGL Insights. It&#8217;s worth a second mention, for a few reasons: The editors and some contributors will be signing their book at SIGGRAPH at the CRC booth (#929) at Tuesday, 2 pm. This is a great chance to meet a bunch of OpenGL experts and [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.realtimerendering.com/blog/seven-things-for-july-25/">my previous blog post</a> I mentioned the newly-released book <strong><a style="font-weight: bold;" href="http://www.amazon.com/OpenGL-Insights-Patrick-Cozzi/dp/1439893764?tag=realtimerenderin">OpenGL Insights</a></strong>. It&#8217;s worth a second mention, for a few reasons:<a href="http://www.amazon.com/OpenGL-Insights-Patrick-Cozzi/dp/1439893764?tag=realtimerenderin"><img class="alignright" title="OpenGL Insights" src="https://images-na.ssl-images-amazon.com/images/I/51-ykLoxBpL._SL200_.jpg" alt="" width="162" height="200" /></a></p>
<ul>
<li>The editors and some contributors will be signing their book at SIGGRAPH at the CRC booth (#929) at Tuesday, 2 pm. This is a great chance to meet a bunch of OpenGL experts and chat.</li>
<li>Five free chapters, which can be found <a href="http://openglinsights.com/">here</a>. In particular, <a href="http://www.seas.upenn.edu/~pcozzi/OpenGLInsights/OpenGLInsights-TileBasedArchitectures.pdf">&#8220;Performance Tuning for Tile-Based Architectures&#8221;</a> is of use to anyone doing 3D on mobile devices. Most of these devices are tile-based, so have a number of significant differences from normal PC GPUs. Reading this chapter and the (previously-mentioned) slideset <em><a href="http://gdcvault.com/play/1015331/Bringing-AAA-Graphics-to-Mobile">Bringing AAA Graphics to Mobile Platforms</a></em> (<a href="http://www.unrealengine.com/files/downloads/Smedberg_Niklas_Bringing_AAA_Graphics.pdf">PDF version</a>) should give you a good sense of the pitfalls and opportunities of mobile tile-based architectures.</li>
<li>The book&#8217;s website has an <a href="http://openglinsights.com/pipeline.html">OpenGL pipeline map page</a> (direct link to PDF <a href="http://www.seas.upenn.edu/~pcozzi/OpenGLInsights/OpenGLInsights-Pipeline.pdf">here</a>). Knowing what happens when can clarify some mysteries and solve some bugs.</li>
<li>The website also has a <a href="http://openglinsights.com/tips.html">tips page</a>, pointing out some of the subtleties of the API and the shading language.</li>
</ul>
<p>While I&#8217;m at it, here are some other worthwhile OpenGL resource links I&#8217;ve been collecting:</p>
<ul>
<li><a href="http://www.geeks3d.com/20110428/download-apitrace-1-0-opengl-and-direct3d-trace-generator-and-analyzer/">ApiTrace</a>: a simple set of wrapper DLLs that capture graphics API calls (also works for DirectX). You can replay and examine just about everything &#8211; think &#8220;PIX for OpenGL&#8221;, only better. For example, you can edit a shader in a captured run and immediately see the effect. Also, <a href="https://github.com/apitrace/apitrace/tags">it&#8217;s open-source</a> and as of this writing is <a href="https://github.com/apitrace/apitrace/commits/master">actively being developed</a>.</li>
<li><a href="http://code.google.com/p/angleproject/">ANGLE</a>: software to translate OpenGL ES 2.0 calls to DirectX 9 calls. This package is what both Chrome and Firefox use to run WebGL programs on Windows. Open source, of course. Actually, just assume everything here is open-source unless I say different (which I won&#8217;t).
<ul>
<li><em>Edit</em>: Patrick Cozzi (one of the editors of OpenGL Insights) notes that there are <a href="http://blog.virtualglobebook.com/2011/10/webgl-in-internet-explorer.html">several options for WebGL on IE</a>. &#8220;Currently, I think the best option is to use Chrome Frame. It painlessly installs without admin rights, and also brings Chrome&#8217;s fast JavaScript engine to IE. We use it on <a href="http://cesium.agi.com">http://cesium.agi.com</a> and I actually demo it on IE (including installing Chrome Frame) by request quite frequently.&#8221;</li>
</ul>
</li>
<li><a href="http://www.readwriteweb.com/hack/2011/04/internet-explorer-webgl-and-a.php">Microsoft Internet Explorer won&#8217;t support WebGL</a>, so <a href="http://iewebgl.com/">someone else did</a> as a plug-in.</li>
<li><a href="http://www.geeks3d.com/20110510/equalizer-1-0-swiss-made-framework-for-parallel-opengl-apps">Equalizer</a>: a framework for coarse-parallel OpenGL rendering (think multi-display and multi-machine).</li>
<li><a href="http://code.google.com/p/oolongengine/">Oolong</a> and <a href="http://www.geeks3d.com/20110512/dengine-opengl-es-rendering-engine-for-iphone-source-code-available">dEngine</a>: OpenGL ES rendering engines for the iPhone and iPad. Good for learning how things work. Oolong is 90% C++, dEngine is pure C. Each has its own features, e.g. <a href="http://www.fabiensanglard.net/dEngine/index.php">dEngine supports bump mapping and shadow mapping</a>.</li>
<li>A bit dated (OpenGL ES 1.1), but might be of interest: <a href="http://fabiensanglard.net/wolf3d/index.php">a readable rundown of the ancient Wolf3D engine</a> and how it was ported to the iPhone.</li>
<li><a href="https://launchpad.net/glmark2">gl2mark</a>: benchmarking software for OpenGL ES 2.0</li>
<li>Matrix libraries: GLM is a full-blown matrix library based on OpenGL naming conventions, <a href="https://launchpad.net/libmatrix">libmatrix</a> is a template library for vector and matrix transformations for OpenGL, <a href="http://www.geeks3d.com/20110512/vsml-very-simple-matrix-lib-for-opengl">VMSL</a> is a tiny library for providing modern OpenGL with the modelview/projection matrix functionality in OpenGL 1.0.</li>
<li><a href="http://g3d.sourceforge.net/">G3D</a>: well, it&#8217;s more a user of OpenGL, but worth a mention. It&#8217;s a pretty nice C++ rendering engine that includes deferred shading, as well as ray tracing. I use it a lot for OBJ file display.</li>
<li><a href="http://cairographics.org/">OpenGL works with cairo</a>, a 2D vector-based drawing engine. Funky.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.realtimerendering.com/blog/opengl-insights-and-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>