<?xml version="1.0" encoding="utf-8"?>

<feed xmlns="http://www.w3.org/2005/Atom">
<title>idr&#x27;s blog - archive</title>
<link href="http://www.paranormal-entertainment.com/idr/blog/archive/"/>
<link href="http://www.paranormal-entertainment.com/idr/blog/archive/index.atom" rel="self" type="application/atom+xml"/>
<author>

<name>blogtest</name>

</author>




<id>http://www.paranormal-entertainment.com/idr/blog/archive/</id>

<subtitle type="html">blogtest</subtitle>
<generator uri="http://ikiwiki.info/" version="3.20100831">ikiwiki</generator>
<updated>2012-01-10T02:19:51Z</updated>
<entry>
	<title>Portland is... ?</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2012-01-10T02:14:09Z-Portland_is/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2012-01-10T02:14:09Z-Portland_is/"/>






	<category term="/tags/TV" />


	<updated>2012-01-10T02:19:51Z</updated>
	<published>2012-01-10T02:14:09Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Just for giggles, watch an episode of
&lt;a href=&quot;http://en.wikipedia.org/wiki/Grimm_%28TV_series%29&quot;&gt;Grimm&lt;/a&gt;, then
watch and episode of
&lt;a href=&quot;http://en.wikipedia.org/wiki/Portlandia_%28TV_series%29&quot;&gt;Portlandia&lt;/a&gt;.
For more fun, take a shot of [beverage of choice] each time you see a
location in one show that you saw in the other.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2012-01-10T02:14:09Z-Portland_is/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2012-01-10T02:14:09Z-Portland_is/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>No LAN-only servers?  You&#x27;re kidding, right?</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-12-16T20:32:04Z-No_LAN-only_servers_Youre_kidding_right/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-12-16T20:32:04Z-No_LAN-only_servers_Youre_kidding_right/"/>






	<category term="/tags/games" />

	<category term="/tags/rant" />


	<updated>2011-12-16T20:45:06Z</updated>
	<published>2011-12-16T20:32:04Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;After planning my first LAN party in over a year, I discovered that
the game I planned to play, Battlefield: Bad Company 2, intentionally
does not include support for LAN-only servers.  In over 15 years of
hosting LAN parties, I have never encountered a game that does this.&lt;/p&gt;

&lt;p&gt;EA made this choice, supposedtly, to curb piracy.  What they have done
is guarantee that I will never buy one of their products again.  Ever.&lt;/p&gt;

&lt;p&gt;Strong work.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-12-16T20:32:04Z-No_LAN-only_servers_Youre_kidding_right/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-12-16T20:32:04Z-No_LAN-only_servers_Youre_kidding_right/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Occupy Portland</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-11-14T18:07:51Z-Occupy_Portland/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-11-14T18:07:51Z-Occupy_Portland/"/>






	<category term="/tags/rant" />


	<updated>2011-11-14T18:13:43Z</updated>
	<published>2011-11-14T18:07:51Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;In the wake of &lt;a href=&quot;http://photos.oregonlive.com/photo-essay/2011/11/occupy_portland_camp_cleaning.html&quot;&gt;Occupy Portland being shut
down&lt;/a&gt;,
it&#39;s good to reflect on why it failed: &lt;a href=&quot;http://www.kgw.com/news/local/Fourth-overdose-reported-at-Occupy-camp-as-deadline-approaches-133742433.html&quot;&gt;1% ruined
it&lt;/a&gt;
for 99%.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-11-14T18:07:51Z-Occupy_Portland/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-11-14T18:07:51Z-Occupy_Portland/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>No build breaks!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-10-26T22:35:41Z-No_build_breaks/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-10-26T22:35:41Z-No_build_breaks/"/>






	<category term="/tags/graphics" />


	<updated>2011-10-27T03:02:12Z</updated>
	<published>2011-10-26T22:35:41Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;GIT is a wonderful tool.  It enables some really powerful, flexible
working models.  There is one model that is commonly used when
developing a major feature (or large refactor):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create a long series of patches in the order that it makes sense
to develop them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rebase, reorder, and merge patches into the order that it makes
sense to review them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Post patches for review in small, easy to digest groups.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is a danger in this process.  While reordering patches it is
very easy to create a tree that won&#39;t build at intermediate commits.
Since the entire group of patches gets pushed at once, this may not
seem like a problem.  However, having intermediate commits not build
makes it impossible to bisect when failures are found later.&lt;/p&gt;

&lt;p&gt;Having every commit along a long patch series build is an absolute
requirement.&lt;/p&gt;

&lt;p&gt;However, it&#39;s kind of a pain in the ass to manually build the tree at
every step.  The emphasis in the previous sentence is &lt;em&gt;manually&lt;/em&gt;.  In
some sense the ideal tool is something like a scripted bisect.  This
doesn&#39;t work, of course, because both ends of the commit sequence, in
bisect terminology, are good.&lt;/p&gt;

&lt;p&gt;To get around this in Mesa, I wrote a script that builds
&lt;code&gt;origin/master&lt;/code&gt; and every commit in some range of SHA1s.  If any build
fails, the script halts.  At the end, it logs the change in the
compiler warnings from &lt;code&gt;origin/master&lt;/code&gt; to each commit (as I write
this, it occurs to me that the warning diffs should be between
sequential commits).  This is useful to prevent new warnings from
creeping in.&lt;/p&gt;

&lt;p&gt;My script is &lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/misc/check_all_commits.sh&quot;&gt;available&lt;/a&gt;.
This particular script is very specific to Mesa, but it should be easy
to adapt to other projects.  The script is run as:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;check_all_commits.sh /path/to/source /path/to/build firstSHA..lastSHA
&lt;/code&gt;&lt;/pre&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-10-26T22:35:41Z-No_build_breaks/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-10-26T22:35:41Z-No_build_breaks/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2011: Day 4</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-18T17:04:41Z-SIGGRAPH_2011:_Day_4/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-18T17:04:41Z-SIGGRAPH_2011:_Day_4/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-08-18T17:43:21Z</updated>
	<published>2011-08-18T17:04:41Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;(Better never than late... or something...)&lt;/p&gt;

&lt;p&gt;I had high expectations for &lt;a href=&quot;http://www.siggraph.org/s2011/for_attendees/talks/sessions/125&quot;&gt;Hiding
Complexity&lt;/a&gt;,
but I was largely disappointed.  I only stayed for the first two talks.  As
far as I could tell, &lt;em&gt;Occlusion Culling in Alan Wake&lt;/em&gt; summarized the
combination of a bunch of known techniques for occlusion.  Their combination
seems to have the strong &lt;em&gt;disadvantage&lt;/em&gt; that it has a lot of temporal
instability, and this can lead to frame rate jitter.  Even the bit of the talk
about optimizing shadow generation seemed like a subset of the optimizations
from &lt;a href=&quot;http://gamma.cs.unc.edu/ccsv/&quot;&gt;CC Shadow Volumes&lt;/a&gt;.  I&#39;ll have to look at
their I3D paper, &lt;a href=&quot;http://www.cg.tuwien.ac.at/research/publications/2011/bittner-2011-scc/&quot;&gt;Shadow Caster Culling for Efficient Shadow
Mapping&lt;/a&gt;
to be sure.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Increasing Scene Complexity: Distributed Vectorized View Culling&lt;/em&gt; can be
summarized by: we optimized a slow part of our code in all the obvious ways,
and it got a lot faster.  &lt;strong&gt;shock&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;After that, I bailed and went to &lt;a href=&quot;http://www.siggraph.org/s2011/content/compiler-techniques-rendering-0&quot;&gt;Compiler Techniques for
Rendering&lt;/a&gt;
(&lt;a href=&quot;http://www.s2001compilers.org/&quot;&gt;slides are also available&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I missed the first couple talks, but I did arrive in time for
&lt;a href=&quot;http://www.cdl.uni-saarland.de/projects/anysl/&quot;&gt;AnySL&lt;/a&gt;.  They have an
interesting project.  It&#39;s essentially an N:M compiler.  It seems like we
should connect their OpenCL work with various open-source efforts that are
underway.  This is especially the case if their claim of beating Intel&#39;s (CPU)
OpenCL compiler on &lt;em&gt;almost&lt;/em&gt; all kernels turns out to be true.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Automatic Bounding of Shaders for Efficient Global Illumination&lt;/em&gt; was
interesting, but I don&#39;t think it has anything directly applicable to our GLSL
compiler work.  However, it did give me some ideas to try for a real-time
light integrator that I&#39;ve been working on.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Compilation for GPU Accelerated Ray Tracing in OptiX&lt;/em&gt; looked mostly
like their talk from SIGGRAPH last year.  I didn&#39;t recall any mention
of the previous
&lt;a href=&quot;http://graphics.stanford.edu/~boulos/papers/rtsl.pdf&quot;&gt;RTSL&lt;/a&gt; work, and
that paper was an interesting read.  There are a couple built-in
functions in that language that are useful.  I&#39;ve open-coded a couple
of them in the past...&lt;/p&gt;

&lt;p&gt;The final session of the conference was &lt;a href=&quot;http://www.siggraph.org/s2011/for_attendees/technical-papers/sessions/68&quot;&gt;Real-Time Rendering
Hardware&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Clipless Dual-Space Bounds for Faster Stochastic Rasterization&lt;/em&gt; and 
&lt;em&gt;Decoupled Sampling for Graphics Pipelines&lt;/em&gt; were related pieces of work.  Each
was a different part of solving the automatic defocus and motion blur
problem.  I like the idea of having the hardware assist with these in a
similar way that it helps with antialiasing.  While it&#39;s trivial to expose
MSAA to the developer (it&#39;s mostly transparent), it&#39;s not clear to me how to
expose motion blur or, to a lesser degree, defocus blur.  Given all the weird
ways that people implement animation in real-time systems, how can the API
directly expose a time dimension as a shader parameter?&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://intel.ly/spark-s2011/&quot;&gt;&lt;em&gt;Spark: Modular, Composable Shaders for Graphics
Hardware&lt;/em&gt;&lt;/a&gt; echoes a lot of concerns that
I&#39;ve had for a few years.  That people have to machine generate 10,000
shaders or use &lt;code&gt;#define&lt;/code&gt; madness to specialize 10,000 variations of
their shaders shows that we haven&#39;t given them a useful system.  Even
without that it&#39;s pretty much impossible to have separation of
concerns in a shader stack.  They way that
&lt;a href=&quot;http://code.google.com/p/openshadinglanguage/&quot;&gt;OSL&lt;/a&gt; allows shaders to
be composed solves some of this, and Spark takes a different approach.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Physically Based Real-Time Lens Flare Rendering&lt;/em&gt; goes in the &quot;I should try to
implement that&quot; bin.  Bastards!  It was nice ending the conference with pretty
pictures.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-18T17:04:41Z-SIGGRAPH_2011:_Day_4/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-18T17:04:41Z-SIGGRAPH_2011:_Day_4/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2011: Day 3</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-12T17:09:18Z-SIGGRAPH_2011:_Day_3/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-12T17:09:18Z-SIGGRAPH_2011:_Day_3/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-08-12T17:11:49Z</updated>
	<published>2011-08-12T17:09:18Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I went to
&lt;a href=&quot;http://www.siggraph.org/s2011/for_attendees/technical-papers/sessions/55&quot;&gt;Surfaces&lt;/a&gt;
just to hear &lt;a href=&quot;http://www.cc.gatech.edu/~topraj/SIGGRAPH11.html&quot;&gt;LR: Compact Connectivity Representation for Triangle
Meshes&lt;/a&gt;.  Their technique is
pretty simple, and achieves really good results.  Their primary insight was
that a lot of mesh connectivvity can be stored &lt;em&gt;implicitly&lt;/em&gt; by the ordering of
the verticies.  If all of your vertex data is a (non-indexed) strip, you get a
lot of information for free.  Like most mesh data structures, they only handle
manifold meshes.  The big disadvantage is that LR doesn&#39;t &quot;yet&quot; handle
updates, but that&#39;s an area of planned future research.&lt;/p&gt;

&lt;p&gt;I also tried to get over to the last bits of &lt;a href=&quot;http://www.siggraph.org/s2011/for_attendees/talks/sessions/118&quot;&gt;Mixed
Grill&lt;/a&gt;, but I
only managed to catch &lt;em&gt;High-Resolution Relightable Buildings From
Photographs&lt;/em&gt;.  Their technique is really a novel combination of several known
techniques.  Their results are pretty impressive.&lt;/p&gt;

&lt;p&gt;The last session before lunch was &lt;a href=&quot;http://www.siggraph.org/s2011/for_attendees/technical-papers/sessions/56&quot;&gt;Image
Processing&lt;/a&gt;.
I was primarily interested in &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/hoppe/proj/aarecovery/&quot;&gt;Antialiasing
Recovery&lt;/a&gt;,
and it was a really well given talk.  You can tell that a speaker knows their
audience when he starts with, &quot;I understand that there are people like me that
like to take naps during talks, so if you want to get the gist of the paper,
pay attention to these parts.&quot;  Strong work.&lt;/p&gt;

&lt;p&gt;They take an image before and after some filter operation (e.g., thresholding
to black and white) and try to recover antialiasing (smooth edges, really) in
the prefiltered image.  This is acomplished by examining both images for hard
edges and doing neighbor searches and blending in the areas where new hard
edges appear.  On current limitation is the assumption that only two colors
from a pixel&#39;s 8 neighbors contribute to the original smooth edge.  They also
plan to have code available on their project page in a month or so.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://people.csail.mit.edu/sparis/publi/2011/siggraph/&quot;&gt;Local Laplacian Filters: Edge-aware Image Processing with a Laplacian
Pyramid&lt;/a&gt; was a clever
techniqe.  I&#39;ll probably try to play around with it a bit.  There are a few
areas in real-time rendering (e.g., SSAO, some soft-shadow algorithms) where
bilateral filtering is used as an edge-aware filter.  &lt;em&gt;Most&lt;/em&gt; of these are
low-frequency effects where some of the noise isn&#39;t as apparent, but there may
still be some benefit.&lt;/p&gt;

&lt;p&gt;The remaining papers, &lt;em&gt;Domain Transform for Edge-Aware Image and Video
Processing&lt;/em&gt; and &lt;em&gt;Non-Rigid Dense Correspondence With Applications for Image
Enhancement&lt;/em&gt;, produce really good results, but they&#39;re both in area &lt;em&gt;way&lt;/em&gt;
outside my area of expertise.&lt;/p&gt;

&lt;p&gt;I spent the afternoon in the expo hall and at the Animation Theater
&quot;demoscene&quot; session.  Hurray for seeing CNCD / Fairlight on the big screen.
Things have come a long way since &lt;a href=&quot;http://scene.org/dir.php?dir=%2Fmirrors%2Famigascne%2FGroups%2FE%2FEpsilon%2F&quot;&gt;my scene
days&lt;/a&gt;...&lt;/p&gt;

&lt;p&gt;After that, I went to the OpenGL BoF.  Hurray for &lt;a href=&quot;http://www.khronos.org/news/press/khronos-enriches-cross-platform-3d-graphics-with-release-of-opengl-4.2-spec&quot;&gt;OpenGL
4.2&lt;/a&gt;!&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-12T17:09:18Z-SIGGRAPH_2011:_Day_3/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-12T17:09:18Z-SIGGRAPH_2011:_Day_3/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2011: Day 2</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-10T15:07:17Z-SIGGRAPH_2011:_Day_2/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-10T15:07:17Z-SIGGRAPH_2011:_Day_2/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-08-10T16:38:28Z</updated>
	<published>2011-08-10T15:07:17Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I started the day with &lt;a href=&quot;http://www.siggraph.org/s2011/for_attendees/talks/sessions/115&quot;&gt;Out of
Core&lt;/a&gt;, but I
missed &lt;em&gt;Google Body: 3D Human Anatomy in the Browser&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Over the last few years there have been a lot of papers about real-time global
illumination.  They always start with two caveats: no specular and one bounce.
&lt;em&gt;Interactive Indirect Illumination Using Voxel Cone Tracing&lt;/em&gt; breaks the mold
and goes for two bounces!  Hurray!  They can also handle long-range indirect
illumination better than LPVs, and it runs slightly faster.  Based on their
2009 GigaVoxels work.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Out-of-core Raytracing&lt;/em&gt; was really hard to listen to.  A big chunk of his
presentation was a video of animated slides.  Bad presenter, no biscuit!  Even
more frustrating is that the bulk of the presentation focused on the
performance of his very limited raytracer.  The raytracer can handle a lot of
polygons, but it can&#39;t do shaders, textures, etc.  When asked, he said, &quot;Right
now shading is not implemented in this project.&quot;  Performance comparisons with
other (more capable) raytracers are just not interesting.&lt;/p&gt;

&lt;p&gt;What &lt;em&gt;was&lt;/em&gt; interesting is the paging structure that he developed to make it
work.  The fundamental problem with GPU raytracing is that interesting scenes
are multiple gigabytes, and GPUs can&#39;t handle that much data in a single
batch.  To over come this he developed a novel way of breaking the scene data
into pages and determining which rays needed which pages.  That was the
interesting part, but he only spent a few scant minutes talking about it.&lt;/p&gt;

&lt;p&gt;After that, I headed over to &lt;a href=&quot;http://www.siggraph.org/s2011/for_attendees/technical-papers/sessions/49&quot;&gt;Stochastic Rendering &amp;amp;
Visibility&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://fileadmin.cs.lth.se/graphics/research/papers/2011/spatiotemp/&quot;&gt;High-Quality Spatio-Temporal Rendering using Semi-Analytical
Visibility&lt;/a&gt;
is obviously not targeted at real-time rendering, but it seems like some
aspects could be adapted.  One of my favorite things about this presentation
was the rich list of areas for future research.&lt;/p&gt;

&lt;p&gt;Both &lt;a href=&quot;http://graphics.berkeley.edu/papers/Egan-FAS-2011-04/index.html&quot;&gt;Frequency Analysis and Sheared Filtering for Shadow Light Fields
of Complex
Occluders&lt;/a&gt;
and &lt;a href=&quot;http://groups.csail.mit.edu/graphics/tlfr/&quot;&gt;Temporal Light Field Reconstruction for Rendering Distribution
Effects&lt;/a&gt; assumed a lot of
background knowledge that I don&#39;t have.  In particular, all the bits
about the Fourier analysis of occluder depths (which was a pretty key
element!) was completely lost on me.  I did find the medium frequency
artifacts in the former paper interesting.  Who gets medium frequency
noise?!?  It&#39;s always either high frequency or low frequency.  I also
appreciated the background material at the start of the later
presentation.  I&#39;ll probably harvest some of that for my VGP sequence.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The Area Perspective Transform: A Homogeneous Transform for Efficient
In-Volume Queries&lt;/em&gt; was an interesting idea that seems to obvious to work. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;
It takes a bunch of math operations to intersect a frustum with a bounding
volume, but it&#39;s cheap to intersect an AABB with another bounding volume.
Their solution?  Project the points of the base (the big part) of the frustum
to inifinit so that the lines become parallel (in the limit).  I still need to
read the paper to get all the details.&lt;/p&gt;

&lt;p&gt;There were only a couple of papers that I paid attention to in
&lt;a href=&quot;http://www.siggraph.org/s2011/for_attendees/technical-papers/sessions/53&quot;&gt;By-Example Image
Synthesis&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Techniques like &lt;a href=&quot;http://www-sop.inria.fr/reves/Basilic/2011/BLRDD11/&quot;&gt;Image-Guided Weathering: A New Approach Applied to Flow
Phenomena&lt;/a&gt; are
increasingly important in games.  They take some examplar images to
generate parameters for a particle simulation, then they use those
parameters to generate new images.  What&#39;s cool about this is that
almost all of the computation is done to &quot;reverse engineer&quot; the
original image.  It ought to be possible to use that data (with some
perturbation of the parameters) to generate new images each time the
game is run.  This is another one that goes on my &quot;to implement&quot; list.&lt;/p&gt;

&lt;p&gt;I was really stoked about &lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=147069&quot;&gt;Discrete Element
Textures&lt;/a&gt;.
One of the authors, &lt;a href=&quot;http://www.liyiwei.org/&quot;&gt;Li-Yi Wei&lt;/a&gt;, presented one of my
favorite SIGGRAPH
&lt;a href=&quot;http://graphics.stanford.edu/papers/tile_mapping_gh2004/&quot;&gt;papers&lt;/a&gt;.  This is
&quot;another&quot; exemplar-based texture synthesis algorithm.  Like some of the
previous work they treat elements in the exemplar as units.  This prevents the
old artifacts of getting half a of a pebble, for example, in your gravel
texture.  I haven&#39;t read all of other previous work, but I thought it was
pretty cool that their work also applies to 3D objects.  The piles of carrots
and plates of spaghetti were pretty cool.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-10T15:07:17Z-SIGGRAPH_2011:_Day_2/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-10T15:07:17Z-SIGGRAPH_2011:_Day_2/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2011: Day 1</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-09T21:45:01Z-SIGGRAPH_2011:_Day_1/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-09T21:45:01Z-SIGGRAPH_2011:_Day_1/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-08-09T22:09:30Z</updated>
	<published>2011-08-09T21:45:01Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I started the day with &lt;a href=&quot;http://advances.realtimerendering.com/&quot;&gt;Advances in Real-Time Rendering in
Games&lt;/a&gt;.  I found it interesting that
&lt;a href=&quot;http://www.bungie.net/projects/reach/default.aspx&quot;&gt;Halo Reach&lt;/a&gt; uses &quot;state
mirroring&quot; to communicate updated world state from the simulation process to
the rendering process.  They&#39;re essentially treating the cores in the Xbox 360
as a distributed system rather than an SMP.  This echos what
&lt;a href=&quot;http://www.timmattson.com/work.shtml&quot;&gt;Matteson&lt;/a&gt; et. al. found while
developing the &lt;a href=&quot;http://techresearch.intel.com/ProjectDetails.aspx?Id=1&quot;&gt;Single-Chip Cloud
Computer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Cars 2 talk started the long train of &quot;we do annoying stuff to work around
the limitations of console GPUs.&quot;  In particular, a large portion of their
stereo rendering algorithm was implemented on the SPUs because the RSX cannot
do scattered writes.  It seems like at least the generation of the item
buffer, which is the mapping of points the reference image to one of the
stereo pairs, could be done on the RSX.  Of course, OpenGL 4.x class GPUs can
do this.  It would be interesting to recast their algorithm using
&lt;a href=&quot;http://www.opengl.org/registry/specs/ARB/shader_image_load_store.txt&quot;&gt;&lt;code&gt;GL_ARB_shader_image_load_store&lt;/code&gt;&lt;/a&gt;
(Note: DX people will know this as unordered access views / UAVs).&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;http://www.littlebigplanet.com/en/2/&quot;&gt;Little Big Planet 2&lt;/a&gt; talk was
pretty cute.  Their voxel algo rithm for doing AO in world space (instead of
screen space) was clever and produces really good results.  Generating one
blob of expensive data and using it for a lot of things usually means you&#39;re
winning.  I&#39;ll also have to add mention to my VGP353 lectures that both LBP1
and LBP2 use variance shadow maps.&lt;/p&gt;

&lt;p&gt;The CryEngine 3 talk moved really fast and spent a lot of time switching
between speakers.  It was hard to get much out of it.  However, I did get a
couple notes for things we need to make better in our driver.&lt;/p&gt;

&lt;p&gt;They showed a bit of HLSL code:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;float4 HPos = (vStoWBiasZ + (vStoWBiasX * Vpos.x) + (vStoWBiasY * Vpos.y)) *
    fSceneDepth;
HPos += vCamPos.xyzw;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The initial calculation of &lt;code&gt;HPos&lt;/code&gt; &lt;em&gt;should&lt;/em&gt; be implemented as a single
&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/bb219756(v=vs.85).aspx&quot;&gt;&lt;code&gt;DP2A&lt;/code&gt;&lt;/a&gt;
instruction on architectures that can do that:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;DP2A    HPos, Vpos, vStoWBias, vStoWBiasZ;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;We can&#39;t do that with our current compiler, and it would take a lot of work to
do so.  One thing that we would have to do is notice that two independent
&lt;code&gt;float&lt;/code&gt; variables need to be packed into a single &lt;code&gt;vec2&lt;/code&gt;.  Doing that packing
could have repercussions elsewhere in the code.  This is where tree matching
code generators that use dynamic programming and cost functions really shine.&lt;/p&gt;

&lt;p&gt;They CryTek guys also complained about the high latency for frame read back
(up to 4 frames) on desktop GPUs.  They want to do CPU processing on the depth
buffer from a previously rendered frame to do approximate visibility
calculations for later frames.  On consoles, there&#39;s only a single frame of
lag.&lt;/p&gt;

&lt;p&gt;They also mentioned that they have used cascaded shadow maps since Crysis 1.&lt;/p&gt;

&lt;p&gt;I ducked out of &lt;em&gt;Advances in Real-Time Rendering in Games&lt;/em&gt; part way through to
go to &lt;em&gt;Drawing, Painting, and Stylization&lt;/em&gt;.  I caught just the tail end of &lt;em&gt;A
Programmable System for Artist Directed Volumetric Lighting&lt;/em&gt;, and I wish I had
seen the rest of it.&lt;/p&gt;

&lt;p&gt;I actually went to that session to see &lt;em&gt;Coherent Noise for Non-Photorealistic
Rendering&lt;/em&gt;, and I was quite pleased.  There are two main problems with
applying noise to NPR.  Using 3D noise depends on depth, so the frequency of
noise applied to object (e.g., to make lines wavy) depends on the how far away
from the camera it is.  Using 2D noise gives what the authors called the
&quot;shower door effect.&quot;  That is also fail.&lt;/p&gt;

&lt;p&gt;They really want three things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cheap to compute&lt;/li&gt;
&lt;li&gt;noise moves with objects&lt;/li&gt;
&lt;li&gt;uniform spectrum in screen space&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The algorithm that they developed accomplishes these goals.  Throughout the
presentation, they showed a bit of UP! with Russel hanging from the garden
hoses below the house.  With their NPR noise applied as the &quot;texture,&quot; the
still image just looked like white noise.  As soon as the animation began, all
of the structure of the image magically appeared.  It was pretty cool.  I&#39;ll
need to implement it and make some piglit test cases.&lt;/p&gt;

&lt;p&gt;The final session of the day was &lt;a href=&quot;http://www.siggraph.org/s2011/for_attendees/talks/sessions/112&quot;&gt;Tiles and Textures and Faces Oh
My!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I enjoyed the &lt;em&gt;Procedural Mosaic Arrangement In &quot;Rio&quot;&lt;/em&gt; talk.  It felt like
their system was perhaps a little over complicated, but that complexity may
give it more flexibility for reuse.  Not only was the technique used for the
mosaic sidewalks in Copacabana but also for &quot;plain&quot; cobblestone streets.  I
would like to have heard more about &lt;em&gt;that&lt;/em&gt;.  This is something that everybody
does in games, and everybody does it poorly.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://upload.wikimedia.org/wikipedia/commons/3/34/CopacabanaPavement.jpg&quot; width=&quot;400&quot; height=&quot;600&quot; /&gt;&lt;/p&gt;

&lt;p&gt;There were some bits of &lt;em&gt;Generating Displacement from Normal Maps for Use in
3D Games&lt;/em&gt; that I didn&#39;t fully grok.  Their initial attempt was to reverse the
derivative approximation used to generate the normals and propagate the new
offsets around.  It seems obvious that this wouldn&#39;t work.  They moved on from
that to a polar coordinate integration scheme that wasn&#39;t communicated very
well by the presentation.  I&#39;ll have to read the paper and think about it some
more.&lt;/p&gt;

&lt;p&gt;I first heard about &lt;a href=&quot;http://ptex.us/&quot;&gt;Ptex&lt;/a&gt; at the &quot;open-source in production&quot;
panel last year.  At the time, I had thought that you could implement them in
a fairly straightforward way on a GPU.  &lt;em&gt;Per-Face Texture Mapping for
Real-Time Rendering&lt;/em&gt; follows pretty much what I was thinking, but there are
some differences.&lt;/p&gt;

&lt;p&gt;To maintain some batching, all surfaces with textures of the same aspect ratio
are grouped.  Textures of a particular aspect ratio are stored in a series of
&lt;em&gt;non-mipmapped&lt;/em&gt; texture arrays.  Each texture array corresponds to a
particular mipmap size for that aspect ratio.  That is, all of the 512x512
mipmaps are in one texture array, all of the 256x256 mipmaps are in another,
etc.  When a texture is sampled, the texture is selected (texture array
index), the LODs are calculated (the arrays), everything is sampled, and the
intermipmap blending is done.  This is all open-coded in the shader (via
&lt;code&gt;ptex&lt;/code&gt; function).&lt;/p&gt;

&lt;p&gt;Having this goofy organization means that a texture with a 64x64 base level
doesn&#39;t waste a bunch of space when it&#39;s batched with a texture with a
2048x2048 base level.  It&#39;s the classing time vs. space trade-off.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-09T21:45:01Z-SIGGRAPH_2011:_Day_1/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-08-09T21:45:01Z-SIGGRAPH_2011:_Day_1/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Um, duh</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-06-14T18:58:12Z-Um_duh/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-06-14T18:58:12Z-Um_duh/"/>






	<category term="/tags/rant" />


	<updated>2011-06-14T19:09:31Z</updated>
	<published>2011-06-14T18:58:12Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;After seeing her wonderful display of &lt;a href=&quot;http://www.youtube.com/watch?v=oS4C7bvHv2w&quot;&gt;US history
knowledge&lt;/a&gt;, I have decided
to replace the words &quot;retard&quot; and &quot;retarded&quot; in my vocabulary with
&quot;Palin.&quot;  Imagine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&quot;That is the most Palin thing I&#39;ve ever heard anyone say.&quot;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&quot;Did you see that guy&#39;s driving?  Is he a Palin or something?&quot;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&quot;Hey you bully!  Don&#39;t pick on those Palin kids!&quot;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Well, maybe not the last one...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-06-14T18:58:12Z-Um_duh/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-06-14T18:58:12Z-Um_duh/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>ud-chains coming to GLSL compiler near you...</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-05-03T23:36:04Z-ud-chains_coming_to_GLSL_compiler_near_you/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-05-03T23:36:04Z-ud-chains_coming_to_GLSL_compiler_near_you/"/>






	<category term="/tags/graphics" />


	<updated>2011-05-04T00:10:58Z</updated>
	<published>2011-05-03T23:36:04Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I &lt;em&gt;finally&lt;/em&gt; started working on ud-chains for Mesa&#39;s GLSL compiler.  I&#39;m
continually amazed that it works as well as it does without them.  There are
so many ugly hacks and so much ad hoc data-flow analysis that I just couldn&#39;t
put it off any longer.  If you want to cry, take a look at how reaching
definitions are determined in
&lt;a href=&quot;http://cgit.freedesktop.org/mesa/mesa/tree/src/glsl/loop_analysis.cpp&quot;&gt;&lt;code&gt;loop_analysis.cpp&lt;/code&gt;&lt;/a&gt;.
It&#39;s pretty horrible.&lt;/p&gt;

&lt;p&gt;My primary goal is to get enough infrastructure in place to fix that code.  In
addition to the ugliness, it fails on cases like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;void main()
{
    int n = 3;
    int i = 0;

    if (b)
        some_function();

    while (i &amp;lt; n) {
        some_other_function();
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The loop analyzer will have no idea what the values of &lt;code&gt;i&lt;/code&gt; or &lt;code&gt;n&lt;/code&gt; are.  There
are similar issues with identifying values that are constant across all
iterations of the loop.  In this case, flow control inside the loop confuses
the analyzer.&lt;/p&gt;

&lt;p&gt;The first step to this project is to get real basic block tracking.  We have a
mechanism to iterate over instructions as basic blocks (see
&lt;a href=&quot;http://cgit.freedesktop.org/mesa/mesa/tree/src/glsl/ir_basic_block.cpp&quot;&gt;&lt;code&gt;ir_basic_block.cpp&lt;/code&gt;&lt;/a&gt;,
but nothing is &lt;em&gt;stored&lt;/em&gt; about the blocks.  This means we don&#39;t know which
blocks can transfer control to which other blocks.&lt;/p&gt;

&lt;p&gt;I now have some code that creates a the basic block structure of a function.
The next step will be to process the instructions in the basic blocks to track
the (value) definitions within the block.&lt;/p&gt;

&lt;p&gt;In the mean time, I modified the stand-alone compiler to optionally dump a
graph of the basic blocks in &lt;a href=&quot;http://www.graphviz.org/&quot;&gt;dot&lt;/a&gt;.  The results,
even for small shaders, are shockingly cool.&lt;/p&gt;

&lt;p&gt;Here&#39;s the code for the piglit test
&lt;code&gt;glsl-fs-vec4-indexing-temp-dst-in-nested-loop-combined.shader_test&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;uniform float one;
uniform int count1, count2;
uniform vec4 red;

void main()
{
    vec4 array[11];
    array[0] = vec4(0.1, 0,   0,   0) * one;
    array[1] = vec4(0,   0.1, 0,   0) * one;
    array[2] = vec4(0,   0,   0.1, 0) * one;
    array[3] = vec4(0,   0.1, 0,   0) * one;
    array[4] = vec4(0,   0  , 0.1, 0) * one;
    array[5] = vec4(0,   0,   0.1, 0) * one;
    array[6] = vec4(0.1, 0,   0,   0) * one;
    array[7] = vec4(0,   0.1, 0,   0) * one;
    array[8] = vec4(0,   0.1, 0.1, 0) * one;
    array[9] = vec4(0.1, 0.1, 0,   0) * one;
    array[10] = vec4(0.1, 0,   0.1, 0) * one;
    for (int i = 0; i &amp;lt; count1; i++)
        for (int j = 0; j &amp;lt; count2; j++)
            array[i*3+j] += red*float(j+1);
    gl_FragColor = array[0] + array[1] + array[2] + array[3] + array[4] +
        array[5] + array[6] + array[7] + array[8] + array[9] + array[10];
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And here is the resulting basic block graph:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/basic_blocks.png&quot; width=&quot;329&quot; height=&quot;1171&quot; /&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-05-03T23:36:04Z-ud-chains_coming_to_GLSL_compiler_near_you/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-05-03T23:36:04Z-ud-chains_coming_to_GLSL_compiler_near_you/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Linux native games?</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-03-14T22:54:21Z-Linux_native_games/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-03-14T22:54:21Z-Linux_native_games/"/>






	<category term="/tags/games" />

	<category term="/tags/graphics" />


	<updated>2011-05-04T00:12:24Z</updated>
	<published>2011-03-14T22:54:21Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I was talking to Linus and others at Intel&#39;s Open Source Technology Summit
last week, and it occured to me that I have completely lost touch with what&#39;s
available for commercial games that run native on Linux.  The last native game
that I bought / played was &lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/www.idsoftware.com/games/enemyterritory/etqw/&quot;&gt;Enemy Territory: Quake
Wars&lt;/a&gt;.  That was a long time
ago.&lt;/p&gt;

&lt;p&gt;I know that &lt;a href=&quot;http://oilrush-game.com/&quot;&gt;OilRush&lt;/a&gt; has recently become available,
and I think a few other &lt;a href=&quot;http://unigine.com/&quot;&gt;Unigen&lt;/a&gt; based games are coming
soon-ish.&lt;/p&gt;

&lt;p&gt;What else is there?&lt;/p&gt;

&lt;p&gt;More importantly, what else is there that I can add to an automated test suite
for my driver?  The easily scriptable timedemo feature of the old Quake3
engine games was the best.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-03-14T22:54:21Z-Linux_native_games/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-03-14T22:54:21Z-Linux_native_games/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>They must have cheated again</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2011-01-25T18:03:24Z-They_must_have_cheated_again/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-01-25T18:03:24Z-They_must_have_cheated_again/"/>






	<category term="/tags/graphics" />

	<category term="/tags/movies" />


	<updated>2011-01-25T18:22:23Z</updated>
	<published>2011-01-25T18:03:24Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;The list of &lt;a href=&quot;http://www.oscars.org/awards/academyawards/83/nominees.html&quot;&gt;nominees for the 83rd Academy
Awards&lt;/a&gt; was just
posted.  Somehow &lt;a href=&quot;http://www.imdb.com/title/tt1104001/&quot;&gt;TRON: Legacy&lt;/a&gt; isn&#39;t on
the list for Visual Effects.  It&#39;s like 1983 all over again...and what a shitty
year &lt;em&gt;that&lt;/em&gt; was!  It &lt;em&gt;is&lt;/em&gt; nominated for Sound Editing, but WTF?&lt;/p&gt;

&lt;p&gt;My predictions (which I had meant to post &lt;em&gt;weeks ago&lt;/em&gt;) were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imdb.com/title/tt1014759/&quot;&gt;Alice in Wonderland&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imdb.com/title/tt0980970/&quot;&gt;The Chronicles of Narnia: The Voyage of the Dawn Treader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imdb.com/title/tt0926084/&quot;&gt;Harry Potter and the Deathly Hallows Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imdb.com/title/tt1375666/&quot;&gt;Inception&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imdb.com/title/tt1104001/&quot;&gt;TRON: Legacy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I haven&#39;t seen Narnia, but that series has gotten Visual Effects nominations
in the past.&lt;/p&gt;

&lt;p&gt;The actual list is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imdb.com/title/tt1014759/&quot;&gt;Alice in Wonderland&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imdb.com/title/tt0926084/&quot;&gt;Harry Potter and the Deathly Hallows Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imdb.com/title/tt1212419/&quot;&gt;Hereafter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imdb.com/title/tt1375666/&quot;&gt;Inception&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.imdb.com/title/tt1228705/&quot;&gt;Iron Man 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3 out of 5 isn&#39;t too bad, I guess.  I haven&#39;t seen Hereafter, and I wasn&#39;t
that impressed with Iron Man 2.  &lt;em&gt;meh&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I think the winner will be either Inception or Harry Potter.  I think
Inception deserves it, but it may be cursed by having too many other
nominations.  It seems like the Academy tends to vote for movies with only a
few nominations (HP has 2 vs 8 for Inception) in this category.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-01-25T18:03:24Z-They_must_have_cheated_again/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2011-01-25T18:03:24Z-They_must_have_cheated_again/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>@override</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-18T20:37:24Z-override/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-18T20:37:24Z-override/"/>






	<category term="/tags/graphics" />

	<category term="/tags/rant" />


	<updated>2010-08-18T20:56:34Z</updated>
	<published>2010-08-18T20:37:24Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;After &lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-01T01:31:54Z-How_do_people_seriously_use_Java/&quot;&gt;bashing Java so
brutally&lt;/a&gt;,
I have to add &lt;em&gt;another&lt;/em&gt; thing to the list of Java features that I wish
C++ (or even just a GCC extension) had: &lt;code&gt;@override&lt;/code&gt; notation.  Imagine this
scenario...&lt;/p&gt;

&lt;p&gt;You have a base class that implements a bunch of methods, and some of
the methods have numerous overloads.  We&#39;ll call this class &lt;code&gt;base&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You have a bunch of classes that derive from &lt;code&gt;base&lt;/code&gt;.  Each of the
derived classes only override some of the methods provided by &lt;code&gt;base&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;These derived classes are used by other infrastructure that just takes
pointers to objects of type &lt;code&gt;base&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;class base {
    virtual void do_something(float x);
    virtual void do_something(int x);
    virtual void do_something(char *str);
};

class d1 : public base {
    virtual void do_something(float x);
};

class d2 : public base {
    virtual void do_something(int x);
};

class d3 : public base {
    virtual void do_something(char *str);
};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Everyone with me so far?  Sound like every large C++ you&#39;ve ever seen?
Good.&lt;/p&gt;

&lt;p&gt;Now the signature of some of the methods in &lt;code&gt;base&lt;/code&gt; changes, perhaps by
adding a parameter.  While making that change, n-1 of the derived classes are
correctly modified.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;class base {
    virtual void do_something(float x, int y);
    virtual void do_something(int x, int y);
    virtual void do_something(char *str, int y);
};

class d1 : public base {
    virtual void do_something(float x, int y);
};

class d2 : public base {
    virtual void do_something(int x, int y);
};

class d3 : public base {
    virtual void do_something(char *str /* FAIL!!! */ );
};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Try to find the bug or go to drinking island?&lt;/p&gt;

&lt;p&gt;In Java this bug would never happen.  All of the &lt;code&gt;do_something&lt;/code&gt;
methods in the derived classed would be annotated with &lt;code&gt;@override&lt;/code&gt;.
When the compiler found &lt;code&gt;do_something&lt;/code&gt; in &lt;code&gt;d3&lt;/code&gt; that didn&#39;t match the
signature of any &lt;code&gt;do_something&lt;/code&gt; in &lt;code&gt;base&lt;/code&gt;, it would complain.  With
C++ you just spend hours trying to track down the bug.&lt;/p&gt;

&lt;p&gt;P.S.: I &lt;em&gt;still&lt;/em&gt; hate Java.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-18T20:37:24Z-override/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-18T20:37:24Z-override/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>GPU Ray Casting of Virtual Globes</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-12T17:22:14Z-GPU_Ray_Casting_of_Virtual_Globes/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-12T17:22:14Z-GPU_Ray_Casting_of_Virtual_Globes/"/>






	<category term="/tags/OpenGL" />

	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2010-08-12T17:22:14Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I mentioned the GPU Ray Casting of Virtual Globes poster in a &lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-28T22:12:37Z-SIGGRAPH_2010:_Day_3/&quot;&gt;previous
post&lt;/a&gt;.
The author has since sent me a link to an updated version of an older &lt;a href=&quot;http://blogs.agi.com/insight3d/index.php/2010/04/19/gpu-ray-casting-of-virtual-globes/&quot;&gt;blog
post&lt;/a&gt;
with the poster, a five minute video, and source code.  Cool stuff.  The video
is 18MB, so be prepared.&lt;/p&gt;

&lt;p&gt;Patrick is also working on a book called, &lt;a href=&quot;http://virtualglobeandterrainrendering.blogspot.com/&quot;&gt;&quot;Virtual Globe and Terrain
Rendering&quot;&lt;/a&gt;.
I&#39;ll watch for that at the &lt;em&gt;next&lt;/em&gt; SIGGRAPH.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-12T17:22:14Z-GPU_Ray_Casting_of_Virtual_Globes/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-12T17:22:14Z-GPU_Ray_Casting_of_Virtual_Globes/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2010: Day 4</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-02T17:18:31Z-SIGGRAPH_2010:_Day_4/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-02T17:18:31Z-SIGGRAPH_2010:_Day_4/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2010-07-29T20:52:49Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Even though I&#39;m completely exhausted, it was well worth the effort to
get up for the &lt;em&gt;Large Steps Toward Open Source&lt;/em&gt; panel.  It seems that the
movie industry is today where the computer industry was 10 years ago
w.r.t. open source.  They want to join the cool kids, but they don&#39;t quite
&quot;get&quot; it yet.  The biggest failing is that they only want to open source
something when it&#39;s 1.0... after it has been used on a couple movies.  &lt;em&gt;ur doin
it rong.&lt;/em&gt;  &lt;em&gt;sigh...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The single exception seems to be Sony Pictures / Imageworks.  They have
realized that the community is an integral stakeholder at every step of a
successful open source project.  The first slide from Rob Bredow&#39;s part of the
talk said, in big letters, &quot;Develop a community.&quot;  YES!!!&lt;/p&gt;

&lt;p&gt;In any case, there were a couple choice quotes and some cool projects.  The
best was Andy Henrickson from Disney Animation saying, &quot;Disney isn&#39;t in the
habbit of giving things away for free.&quot;  He made another comment that I think
really strikes to the core of why open source is so important across
industries.  He said, &quot;Some things have no value unless you give them away.&quot;&lt;/p&gt;

&lt;p&gt;I also liked a couple of comments from Florian Kains (of ILM).  When talking
about their move to Linux, he said, &quot;All our production used to be on SGI
machines at one point, but that ceased to be viable.&quot;  I have to give some
credit back to George Lucas.  Apparently he was the one who got the &quot;no value
unless you give it away&quot; argument that ultimately led to OpenEXR being open
source.  Florian siad, &quot;Once George signed off, all the lawyers said, &#39;Yes sir,
Mr. Lucas.&#39;&quot;&lt;/p&gt;

&lt;p&gt;Here&#39;s a run down of current and future projects from the various presenters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Disney Animation - &lt;a href=&quot;http://www.disneyanimation.com/technology/opensource.html&quot;&gt;current projects&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://ptex.us/&quot;&gt;Ptex&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.pythoscope.org/&quot;&gt;Pythoscope&lt;/a&gt; is test generator for Python.
Next time I have to do a large Python project, I&#39;ll take a closer look at
this.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maya Dynamica front end for Bullet Physics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Partio -&amp;gt; Particle input / output library to abstract many, many different
formats.  It is intended to be &quot;the&quot; interchange library for the various
particle systems used in production.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Disney&#39;s (mathematical) expression editor.  This was a pretty rhobust set
of widgets and a parser for mathematical expressions.  It looked pretty
damn cool.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pixar Animation Studios&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rhobust, accurate, readable subdivision surface reference library.  They
have big plans for this, but it looks like they&#39;re going to do it wrong.
They&#39;re going to develop it completely in house, in isolation, then
release it when it&#39;s &quot;done.&quot;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ILM&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.openexr.com/&quot;&gt;OpenEXR&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/alembic/&quot;&gt;Alembic&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A couple other projects that I didn&#39;t write down.  Sorry.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sony&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/openshadinglanguage&quot;&gt;Open Shading Language&lt;/a&gt;  As
an aside, Rob mentioned that Rhythm &amp;amp; Hues plans to use OSL in a future project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/alembic/&quot;&gt;Alembic&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/opencolorio/&quot;&gt;OpenColorIO&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/field3d/&quot;&gt;Field3D&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/imageworks-sp-reticle/&quot;&gt;Imageworks SP Reticle&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/scala-migrations&quot;&gt;Scala Migrations&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/pystring/&quot;&gt;Pystring&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I was also impressed that both Sony and ILM give money (ILM to Python) and
machines (Sony to some &quot;small&quot; Linux distro) to &quot;pay&quot; for the open source
software that they use.  Florian did comment that it&#39;s often really, &lt;em&gt;really&lt;/em&gt;
hard to pay people for stuff.  He gave a hypothetical example of trying to
donate to some random guy in Wales.  What&#39;s his tax ID?  How do I notify the
government?  Etc.&lt;/p&gt;

&lt;p&gt;The &lt;em&gt;Games &amp;amp; Real Time&lt;/em&gt; had some good presentations, but by the time it came
around (the last session on the last day), I was exhausted.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1837026.1837083&quot;&gt;&lt;em&gt;User-Generated Terrain in ModNation
Racers&lt;/em&gt;&lt;/a&gt; had some pretty
cool ideas.  They let the user draw the terrain map using brushes.  Instead of
storing the drawing, they store the brush strokes.  This allows them to have a
very small in-core foot print.  Of course, all the terrain &quot;drawing&quot; is done on
the GPU.  New terrain is combined with existing terrain using the alpha blend
unit.  They even use min/max blending!  I&#39;ll have to rent this game (sorry!) to
try out the editor.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Irradiance Rigs&lt;/em&gt; is largely based on several algorithms (irrandiance volumes
and spherical harmonics lighting) that I&#39;m not familiar with.  meh.  I need to
get on that.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://img.univ-mlv.fr/~biri/mlaa-gpu/&quot;&gt;&lt;em&gt;Practical Morphological Anti-Aliasing on the
GPU&lt;/em&gt;&lt;/a&gt; was a GPU implementation of an
algorithm presented last year at SIGGRAPH.  Basically, you scan the rendered
image from certain types of sharp features and blur them.  It&#39;s a major hack,
but it does fix may unappealing artifacts.  It&#39;s still pretty slow, and it
doesn&#39;t handle some common cases (e.g., breaks in rendered telephone lines).&lt;/p&gt;

&lt;p&gt;One of my favorite phrases in graphics: &quot;[This algorithm is] not physically
correct, but plausible.&quot;  &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1837026.1837086&quot;&gt;&lt;em&gt;Curvature-Dependent Reflectance Function for
Rendering Translucent
Materials&lt;/em&gt;&lt;/a&gt; reminds me a
bit of a poster that I saw at SIGGRAPH last year, but I couldn&#39;t find any
information about that.  I might have a flyer or something at home.  It&#39;s also
similar to the curvature based AO technique that I mentioned yesterday.  A
preprocess step determines the curvature at each point.  This curvature is then
used in a different sort of lighting equation boost lighting.  The equation is
fairly complex, and the fast implementation uses a look-up texture based on the
material properties.&lt;/p&gt;

&lt;p&gt;The biggest failing seems to be a variety of unfortunate interactions with
shadows.  The precomputation step also hurts, but not as much.  Still, it
seems pretty cool.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-02T17:18:31Z-SIGGRAPH_2010:_Day_4/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-08-02T17:18:31Z-SIGGRAPH_2010:_Day_4/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2010: Day 3</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-28T22:12:37Z-SIGGRAPH_2010:_Day_3/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-28T22:12:37Z-SIGGRAPH_2010:_Day_3/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2010-07-28T22:12:37Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I got to the &lt;em&gt;Textures&lt;/em&gt; session a bit late because I went to Nvidia&#39;s &lt;a href=&quot;http://nvidia.fullviewmedia.com/siggraph2010/02-dev-barthold-lichtenbelt-mark-kilgard.html&quot;&gt;&quot;OpenGL
4.0 for 2010&quot;&lt;/a&gt; session, and the session went over by 20 minutes.  It was a good
overview of OpenGL 4.0 / 4.1.  Nvidia (Mark Kilgard, more precisely)
continues to spread mis-information about the &lt;code&gt;compatibility&lt;/code&gt; profile, and
that&#39;s really frustrating.&lt;/p&gt;

&lt;p&gt;I missed all of &lt;a href=&quot;http://alice.loria.fr/index.php/publications.html?redirect=0&amp;amp;Paper=TEXRESIZE@2010&quot;&gt;&lt;em&gt;By-Example Synthesis of Architectural
Textures&lt;/em&gt;&lt;/a&gt;
and everything except the results of &lt;a href=&quot;http://www.cs.columbia.edu/cg/hybrids/index.html&quot;&gt;&lt;em&gt;Synthesizing Structured Image
Hybrids&lt;/em&gt;&lt;/a&gt;.  The results in
the later were very cool.  I especially liked the synthesized pirate flags.&lt;/p&gt;

&lt;p&gt;Every year there&#39;s some piece of cool tech at SIGGRAPH that I want to
implement.  I think &lt;a href=&quot;http://www.kunzhou.net/#vst&quot;&gt;&lt;em&gt;Vector Solid Textures&lt;/em&gt;&lt;/a&gt; is
it this year. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt; It&#39;s a very clever method of compactly storing volumetric
textures as a sort of voxelized SVG.  The complex step, of course, is
generating the texture data.  Any algorithm that utilizes sub-algorithms with
names like &lt;a href=&quot;http://en.wikipedia.org/wiki/L-BFGS&quot;&gt;&quot;L-BFGS-B minimizer&quot;&lt;/a&gt; and
&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.107.5747&quot;&gt;&quot;teleportation&quot;&lt;/a&gt;
is bound to be frightening.  lol.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;http://www.cemyuksel.com/research/meshcolors/&quot;&gt;&lt;em&gt;Mesh Colors&lt;/em&gt;&lt;/a&gt;
presentation started with an excellent overview of all the problems with 2D
texture mapping.  If he had stopped there, I would have called it a useful
presentation.  Of course, he didn&#39;t stop there.  The idea behind mesh colors
is that a set of colors are stored for each triangle (one per vertex, one per
edge, and N per triangle) along a tessellation grid (basically).  At run-time
the UV value is used to weigh the nearest colors.  The frustrating bit of the
presentation was the massive amount of hand waving (shown in the photo below)
about the implementation.  I suspect the details are in the paper.  The &lt;a href=&quot;http://www.hair-farm.com&quot;&gt;hair
farm&lt;/a&gt; shirt was a nice touch.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH10/mesh_colors.jpg&quot;&gt;
    &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH10/mesh_colors.thumb.jpg&quot; width=&quot;320&quot; height=&quot;240&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;It also seems like there is a lot of area for future research.  The filtered
performance is pretty poor.  I had a brief discussion with Cem about using
hardware tessellation (to a level that matches the mesh colors pattern) to
solve some of the filtering issues.  It seems like it could work in some
cases, but it presents problems of its own (i.e., potentially a lot more work
for the rasterizer).&lt;/p&gt;

&lt;p&gt;I may have to implement this algorithm too.&lt;/p&gt;

&lt;p&gt;There were a bunch of cool things in the poster session, and I took the
opportunity today to talk to some of the authors.  There were several useful
posters about soft-shadow algorithms, a couple about image enhancement, and a
couple about ambient occlusion.  I especially liked &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1836845.1836976&amp;amp;coll=portal&amp;amp;dl=GUIDE&quot;&gt;&lt;em&gt;Curvature depended
Real-Time Ambient
Occlusion&lt;/em&gt;&lt;/a&gt;
(sic).  They use a preprocess to determine the concave curvature at each
vertex.  At run-time, this is interpolated, and the interpolated to determine
the AO.  The interpolation here gives a better result vs. per-vertex AO in the
same way that interpolating light parameters gives better results than
interpolating per-vertex light calculations.&lt;/p&gt;

&lt;p&gt;My two favorite posters were &lt;a href=&quot;http://blogs.agi.com/insight3d/wp-content/uploads/2010/04/&quot;&gt;&lt;em&gt;GPU Ray Casting of Virtual
Globes&lt;/em&gt;&lt;/a&gt; and, I
kid you not, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1836845.1836970&amp;amp;coll=portal&amp;amp;dl=GUIDE&quot;&gt;&lt;em&gt;A Physical Rendering Model for Human
Teeth&lt;/em&gt;&lt;/a&gt;.
I plan to add both of these to my VGP curriculum.  The tooth shader is useful
because it shows a case of a lighting model developed for a specific type of
surface.&lt;/p&gt;

&lt;p&gt;The other poster that really caught my eye was the
&lt;a href=&quot;http://github.com/OneGeek/WebGLU/&quot;&gt;WebGLU&lt;/a&gt; poster.  It sounds like Benjamin
is doing a lot of the same things for WebGL that I&#39;m doing for desktop GL.  He
and I talked, and there may be some colaboration in our future.&lt;/p&gt;

&lt;p&gt;There are some things to &lt;em&gt;really&lt;/em&gt; like about &lt;a href=&quot;http://code.google.com/p/openshadinglanguage&quot;&gt;&lt;em&gt;Open Shading
Language&lt;/em&gt;&lt;/a&gt;.  Being able to
arbitrarily connect shaders (via matching inputs and outputs) in a DAG is
something that I&#39;ve been talking about doing in OpenGL for years.  Pulling
data out by specifying an arbitrary expression on shader outputs is also
genius.  In OSL the data gets dumped as an image, but I still see use for this
in GL.&lt;/p&gt;

&lt;p&gt;The implementation of automatic differentiation is really, really smart.  I
suspect that something like this could even be implemented in our hardware
shaders.  This would allow higher quality derivatives in some cases.  I guess
I need to read the &lt;a href=&quot;http://homepage.mac.com/sigfpe/paper.pdf&quot;&gt;Piponi paper&lt;/a&gt;
from &lt;a href=&quot;http://jgt.akpeters.com/papers/Piponi04/&quot;&gt;journal of graphics tools&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And they now use LLVM.&lt;/p&gt;

&lt;p&gt;Since this system has texture mapping support in this system, this might make
an interesting test bed for my thesis work.  Hmm...&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1837026.1837071&quot;&gt;&lt;em&gt;REYES Using DirectX
11&lt;/em&gt;&lt;/a&gt; wasn&#39;t too
interesting to me.  During the Q-and-A period, someone (the previous
presenter, in fact) asked what could be changed in either DirectX or the
hardware to make this either easier or faster.  Being able to insert compute
shaders directly into the pipeline (to eliminate the intermediate buffers,
synchronization, etc.) would have helped a lot.  This isn&#39;t the first time
I&#39;ve heard a request for this.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1837026.1837072&quot;&gt;&lt;em&gt;WebGLot: High-Performance Visualization in the
Browser&lt;/em&gt;&lt;/a&gt; (&lt;a href=&quot;http://dan.lecocq.us/wordpress/2010/08/02/webglot-high-performance-visualization-in-the-browser/&quot;&gt;slides available&lt;/a&gt;) guys are
doing some &lt;em&gt;really&lt;/em&gt; cool stuff on top of WebGL.  We&#39;ll need to use this app to
test WebGL on our drivers!&lt;/p&gt;

&lt;p&gt;The &lt;em&gt;Gazing at Games: Using Eye Tracking to Control Virtual Characters&lt;/em&gt; course
didn&#39;t feel like a course.  It felt like a presentation of a survey paper on
what people have done related to eye tracking in games.  I got references to a
bunch of papers that seem interesting, but that&#39;s about it.  I do like the
idea of &quot;smart text.&quot;  Text (dialog, etc.) is displayed until you look away
from it.  I had to leave early to go to the OpenGL BoF, so I probably missed
the best parts. &lt;em&gt;shrug&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The highlight of the OpenGL BoF was, of course, the announcement of
&lt;a href=&quot;http://dri.freedesktop.org/glu3/&quot;&gt;GLU3&lt;/a&gt; as part of the OpenGL SDK.  Getting a
round of applause was cool. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;One of the trivial questions was, &quot;What ARB extension has not been shipped in
any publicly available driver?&quot;  Answer?
&lt;a href=&quot;http://www.opengl.org/registry/specs/ARB/shading_language_include.txt&quot;&gt;&lt;code&gt;GL_ARB_shading_language_include&lt;/code&gt;&lt;/a&gt;.
Damnit!!!  Okay, we need to add that to our compiler todo list.  Ugh.  It&#39;s a
cool feature, and John Kessenich, Jon Leech, and I spent a lot of time working
on it.  In all fairness, GLSL needs a &lt;em&gt;much&lt;/em&gt; better module mechanism than it
currently has.  I have some ideas, but they&#39;ll have to wait until our new
compiler actually ships &lt;em&gt;at least&lt;/em&gt; GLSL 1.30.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-28T22:12:37Z-SIGGRAPH_2010:_Day_3/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-28T22:12:37Z-SIGGRAPH_2010:_Day_3/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2010: Day 2</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-27T20:52:49Z-SIGGRAPH_2010:_Day_2/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-27T20:52:49Z-SIGGRAPH_2010:_Day_2/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2010-07-27T20:52:49Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;The &lt;em&gt;Importance Sampling for Production Rendering&lt;/em&gt; course was interesting, but
a lot of it was review.  I hadn&#39;t noticed that the first presenter in the
course was also the author of the &lt;a href=&quot;http://http.developer.nvidia.com/GPUGems3/gpugems3_ch20.html&quot;&gt;GPU-Based Importance
Sampling&lt;/a&gt; from
GPU Gems 3 that I use in VGP352.  The bits about multiple important sampling
and the bits about resampled importance sampling for shadows from the second
presenter were new to me.  There was a question from the audience about the
Lafortune BRDF.  Matt&#39;s response echoed what I say in VGP352 every year.  He
says that the Lafortune BRDF is not used at IMD beause it is &quot;too
uncontrollable for many artists.&quot;&lt;/p&gt;

&lt;p&gt;I don&#39;t really know anything about REYES, so most of &lt;a href=&quot;http://www.kunzhou.net/2010/mptracing.pdf&quot;&gt;&lt;em&gt;Micropolygon Ray Tracing
With Defocus and Motion Blur&lt;/em&gt;&lt;/a&gt; was lost on me.  The hyper-trapezoid BVH was
interesting, though.  &lt;a href=&quot;http://www.mpi-inf.mpg.de/~slee/pub/&quot;&gt;&lt;em&gt;Real-Time Lens Blur Effects and Focus Control&lt;/em&gt;&lt;/a&gt; was
similarly a loss.  The foreground occlusion image may find a place in VGP352
when I talk about depth-of-field effects.  &lt;a href=&quot;http://graphics.cs.williams.edu/papers/OptiXSIGGRAPH10/&quot;&gt;&lt;em&gt;OptiX: A General Purpose Ray
Tracing Engine&lt;/em&gt;&lt;/a&gt; was mostly an advertisement for Nvidia&#39;s ray tracing engine.
There were a couple interesting bits about their compiler architecture, but
meh.&lt;/p&gt;

&lt;p&gt;To this point, I wish I would have gone to the An Introduction to 3D Spatial
Interaction With Videogame Motion Controllers session instead.&lt;/p&gt;

&lt;p&gt;That changed with &lt;a href=&quot;http://graphics.stanford.edu/papers/fragmerging/&quot;&gt;&lt;em&gt;Reducing Shading on GPUs using Quad-Fragment
Merging&lt;/em&gt;&lt;/a&gt;.  One of the
opening tidbits will annoy keithp to be sure.  &quot;...one of the better ideas of
real-time rendering [is] multisample anti-aliasing.&quot;  In any case, their
method of merging quads (2x2 pixel blocks processed by the fragment shading
hardware) is fairly straight forward, but still clever.  They track facing and
connectivity for covered pixels in each quad.  Multiple quads that have
connected triangles with the same facing are merged.  This can save a &lt;em&gt;lot&lt;/em&gt; of
processing.&lt;/p&gt;

&lt;p&gt;Much to my joy, the &lt;em&gt;Making of TRON: Legacy&lt;/em&gt; session got moved to Tuesday
evening... when it didn&#39;t conflict with anything that I wanted to attend!
w00t!  Yes folks, that is the line...&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH10/tron_line.jpg&quot;&gt;
&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH10/tron_line.thumb.jpg&quot; width=&quot;320&quot; height=&quot;240&quot;&gt;
&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EIGHT MINUTES&lt;/strong&gt; of footage from the movie.  A &lt;a href=&quot;http://www.youtube.com/watch?v=opvP8NVI8xs&quot;&gt;new trailer&lt;/a&gt; (I want one of
those lightcycle throw pillows from 0:12 in the trailer).  Full on awesome.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH10/tron_screen.jpg&quot;&gt;
    &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH10/tron_screen.thumb.jpg&quot; width=&quot;320&quot; height=&quot;240&quot;&gt;
  &lt;/a&gt;
  &lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH10/tron_panel.jpg&quot;&gt;
    &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH10/tron_panel.thumb.jpg&quot; width=&quot;320&quot; height=&quot;240&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;A couple interesting bits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Daft Punk is doing the music, and they have a cameo.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Some of the concept drawings from the original movie that couldn&#39;t be done
on computers at the time was used.  For example, the original lightcycles
had the rider on the &lt;em&gt;outside&lt;/em&gt;.  There was no way the computers of 1982
could render that, so the design was changed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It was filmed in 3D, but, in the words of the director, there&#39;s no &quot;spear
poking you in the eye&quot; business.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the Q-and-A session I asked a semi-smart ass question.  That&#39;s how I roll.
&quot;My biggest disappointment with the film industry came when I was 8 and the
original TRON wasn&#39;t nominated for an Oscar because it &quot;cheated&quot; [by using
computers].  Come January, is it going to be lightcycles or broomsticks?  TRON
or Harry Potter?&quot;  Yes, I know the Oscars are in March.  I was nervous.
Unfortunately, their answer was way, &lt;em&gt;way&lt;/em&gt; too serious.  &quot;Ultimately that&#39;s up
to you, but we think our work will stand on it&#39;s own.&quot;  meh.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; One thing I forgot before, there was an off-hand mention by the
director that some effort was going into doing a &quot;re-imagination&quot; of &lt;a href=&quot;http://www.imdb.com/title/tt0078869/&quot;&gt;The
Black Hole&lt;/a&gt;.  That was such a creepy
movie!  A re-make &lt;em&gt;could&lt;/em&gt; be awesome... or horrible.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-27T20:52:49Z-SIGGRAPH_2010:_Day_2/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-27T20:52:49Z-SIGGRAPH_2010:_Day_2/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2010: Day 1</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-26T16:19:37Z-SIGGRAPH_2010:_Day_1/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-26T16:19:37Z-SIGGRAPH_2010:_Day_1/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2010-07-26T16:19:37Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;This year I was &lt;em&gt;finally&lt;/em&gt; smart enough to register at the conference the day
before it starts.  Yay me.  That made is &lt;em&gt;so much&lt;/em&gt; easier the first day.&lt;/p&gt;

&lt;p&gt;I wasn&#39;t expecting a lot from &lt;em&gt;envLight: An Interface for Editing Natural
Illumination&lt;/em&gt;, but I was pleasantly surprised.  There were a couple of
surprises in their results.  I keep meaning to implement some sort of
parameter editing interface for my BRDF demos, and I would have done it quite
differently before seeing this paper.&lt;/p&gt;

&lt;p&gt;I understand the method in &lt;a href=&quot;http://www.mpi-inf.mpg.de/resources/OnSurfaceDeform/&quot;&gt;&lt;em&gt;Interactive On-Surface Signal
Deformation&lt;/em&gt;&lt;/a&gt;, but I
don&#39;t really get how it would be implemented in a real system.  I guess that&#39;s
what I get for not reading the paper before attending the presentation.  I
would have read the paper if I had remembered to bring the DVD drive for my
laptop.  That&#39;s the one annoying thing about the X200s... no built-in optical
drive.  In any case, it seems like this approach could be used to great effect
in a demo.  I imagine a scene where, say, the shock wave from a heavy object
hitting the ground causes shadows on the ground to get pushed away.&lt;/p&gt;

&lt;p&gt;My first &lt;a href=&quot;http://www.imdb.com/title/tt0499549/&quot;&gt;Avatar&lt;/a&gt; presentation,
&lt;a href=&quot;http://research.nvidia.com/publication/pantaray-fast-ray-traced-occlusion-caching-massive-scenes&quot;&gt;&lt;em&gt;PantaRay: Fast Ray-Traced Occlusion
Caching&lt;/em&gt;&lt;/a&gt;
was impressive.  I guess rendering scenes with 10M to &lt;strong&gt;ONE BILLION
DOLLARS&lt;/strong&gt;... er... one billion polygons needs some new acceleration
techniques.  And a petabyte of &quot;live data&quot; needs some kick ass I/O.  There are
so many different optimizations implemented here that I think they could have
gotten multiple papers out of it.  Seriously.  Just the layers of
optimizations in the spatial index calculation should have been sufficient.
Showoffs! &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;On a whim, I went the SIGGRAPH awards presentation.  The cool thing there was
a visualization app that shows, on a map of the world, where every technical
paper ever published at SIGGRAPH originated.  It will supposedly be posted on
the web, so I&#39;ll link it here soon.  The talk by Don &quot;The Tornado&quot; Marinelli
really made it worth it, though.  You can tell that he comes from a drama
background.  They also said that some of the content would be posted on
YouTube, so his talk &lt;em&gt;may&lt;/em&gt; get linked here later.&lt;/p&gt;

&lt;p&gt;The word(s) of the day: deferred shading.  &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1837026.1837046&amp;amp;coll=portal&amp;amp;dl=GUIDE&amp;amp;type=series&amp;amp;idx=SERIES382&amp;amp;part=series&amp;amp;WantType=Proceedings&amp;amp;title=SIGGRAPH&quot;&gt;&lt;em&gt;Screen Space Classification for
Efficient Deferred
Shading&lt;/em&gt;&lt;/a&gt;
was the first of the bunch.  The basic technique is to read back the G-buffer
to generate a batch of polygons to draw.  The screen is divided into tiles,
and the tiles are classified by attributes (e.g., in shadow, direct lit,
etc.).  On both PS3 and Xbox360 it cuts the frame time by about half.  They
talked a bit about the optimization of the polygon submission.  Since the
polygons are tile aligned, it seems like some sort of quadtree could be
generated and rendered using point sprites.  I&#39;ll have to think on that a bit
more.&lt;/p&gt;

&lt;p&gt;&quot;Boom.  60 is better.&quot;  lol.  &lt;em&gt;How to Get From 30 to 60 Frames Per Second in
Video Games for &quot;Free&quot;&lt;/em&gt; uses the Z-buffer and the velocity buffer from the
current frame and the color buffer of the previous frame to generate an
in-between frame.  The author was inspired by MPEG motion vectors.  Here, it&#39;s
a big hack.  It has a bunch of hacks on top of it to fix artifacts.  The best
part is the way dynamic objects are &quot;erased&quot; from the frame (this is only
necessary with deferred shading).  I like it.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1837026.1837048&amp;amp;coll=portal&amp;amp;dl=GUIDE&amp;amp;type=series&amp;amp;idx=SERIES382&amp;amp;part=series&amp;amp;WantType=Proceedings&amp;amp;title=SIGGRAPH&quot;&gt;&lt;em&gt;Split-Second Motion
Blur&lt;/em&gt;&lt;/a&gt;
covered some additional work from &lt;a href=&quot;http://ps3.ign.com/articles/108/1089982p1.html&quot;&gt;Split
Second&lt;/a&gt;.  They render a
per-pixel 2D motion vector ID.  This ID is then used in a blur post-process.
In addition, they update the texture sampling derivatives based on the motion
vector.  Cheap, easy, good results.  I&#39;ll definitely add this to the motion
blur techniques covered in VGP351 next time it comes around.&lt;/p&gt;

&lt;p&gt;Over the last couple years systems for indirect lighting in real-time have
been all the rage.  Pretty much all of them have used deferred shading.  &lt;a href=&quot;http://hal.archives-ouvertes.fr/inria-00480869/&quot;&gt;&lt;em&gt;A
Deferred-Shading Pipeline for Real-Time Indirect
Illumination&lt;/em&gt;&lt;/a&gt; is &lt;strong&gt;shock&lt;/strong&gt;
no different.  However, they&#39;re algorithm has good quality and speed.  The
other algorithms that I have seen pick one or the other.  They incorporated a
clever way to include occlusion for bounces, but this costs a lot of memory.
I guess that&#39;s the trade off.  The method for mipmapping the G-buffer was
pretty clever.  At each downscale they average the attributes from the largest
object.  This is sort of a bilateral filter in reverse.  It&#39;s still screen
space, so it has some drawbacks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;losing indirect light from an object that goes off screen&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;no support for mirrors reflecting objects behind the camera&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also, if I hear &quot;current console hardware can&#39;t&quot; one more time, I&#39;ll
puke... or just roll my eyes &lt;em&gt;again&lt;/em&gt;.  I knew realize dynamic branching was
bad on PS3, but I didn&#39;t it was so bad on Xbox360.  &lt;em&gt;sigh&lt;/em&gt;...&lt;/p&gt;

&lt;p&gt;I wrapped up the day with &lt;a href=&quot;http://www.siggraph.org/s2010/for_attendees/live_real_time_demos&quot;&gt;Live Real-Time
Demos&lt;/a&gt;.  As
&lt;a href=&quot;http://www.realtimerendering.com/blog/live-real-time-demos-at-siggraph/&quot;&gt;Eric Haines
notes&lt;/a&gt;,
they were pretty cool.  Thinking back to my &lt;a href=&quot;http://www.pouet.net/prod.php?which=15356&quot;&gt;days as a demo
coder&lt;/a&gt;, it brings a tear to my eye
to see &lt;a href=&quot;http://pouet.net/prod.php?which=54603&quot;&gt;demos&lt;/a&gt; on the big screen at
SIGGRAPH.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-26T16:19:37Z-SIGGRAPH_2010:_Day_1/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-26T16:19:37Z-SIGGRAPH_2010:_Day_1/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>GLU3 0.9 release</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-21T20:43:05Z-GLU3_0_9_release/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-21T20:43:05Z-GLU3_0_9_release/"/>






	<category term="/tags/OpenGL" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2010-07-21T20:43:05Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;The &lt;a href=&quot;http://dri.freedesktop.org/glu3/&quot;&gt;0.9 release&lt;/a&gt; is now available!
I&#39;m calling this 0.9 because not all of the functionality is available
in the C interfaces.  Once that is resolved and a couple other GLSL
utilities are complete, I&#39;ll call it 1.0.&lt;/p&gt;

&lt;p&gt;There is a tag in the GIT repo for the release.  The &lt;code&gt;glu3-0.9.1&lt;/code&gt; tag is
the &quot;real&quot; tag.  I pushed the &lt;code&gt;glu3-0.9&lt;/code&gt; before doing &lt;code&gt;make distcheck&lt;/code&gt;,
and, of course, there were errors.&lt;/p&gt;

&lt;p&gt;md5sums:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;75032c9aaf2d279738ce3940383439ff  GLU3-0.9-20100721-bin.zip
63ccdbdb8d6799b9a530b661f1d9d0f7  GLU3-0.9-20100721-src.zip
862b22f67dd7d6f087ff6ba497653621  GLU3-0.9-20100721.tar.bz2
6266c6944128eec4149c8b8101e290df  GLU3-0.9-20100721.tar.gz
&lt;/code&gt;&lt;/pre&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-21T20:43:05Z-GLU3_0_9_release/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-21T20:43:05Z-GLU3_0_9_release/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2010 Preview</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-16T03:59:42Z-SIGGRAPH_2010_Preview/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-16T03:59:42Z-SIGGRAPH_2010_Preview/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2010-07-16T03:59:42Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I&#39;ve been pretty busy over the last few months, so I haven&#39;t had a chance
to really comb through the SIGGRAPH
program.  &lt;a href=&quot;http://www.realtimerendering.com/blog/siggraph-2010-game-content-roundup/&quot;&gt;There&lt;/a&gt;
&lt;a href=&quot;http://www.realtimerendering.com/blog/siggraph-2010-panels/&quot;&gt;are&lt;/a&gt;
&lt;a href=&quot;http://www.realtimerendering.com/blog/siggraph-2010-talks/&quot;&gt;several&lt;/a&gt;
&lt;a href=&quot;http://www.realtimerendering.com/blog/siggraph-2010-courses/&quot;&gt;good&lt;/a&gt;
&lt;a href=&quot;http://www.realtimerendering.com/blog/siggraph-2010-courses-update/&quot;&gt;overviews&lt;/a&gt;
&lt;a href=&quot;http://www.realtimerendering.com/blog/siggraph-scheduler-course-update/&quot;&gt;at&lt;/a&gt;
&lt;a href=&quot;http://www.realtimerendering.com/blog/more-siggraph-course-updates/&quot;&gt;the&lt;/a&gt;
&lt;a href=&quot;http://www.realtimerendering.com/blog/&quot;&gt;Real-Time Rendering Blog&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;My plan feels full, but there is still time left for posters and the expo.
I think I&#39;m doing it right.  There are a couple courses and some of the Avatar
talks that look interesting on Sunday, but, seriously?  &lt;em&gt;Sunday?&lt;/em&gt;
FAIL.&lt;/p&gt;

&lt;p&gt;
&lt;u&gt;Monday&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Lighting &amp; Material Design (9:00AM - 10:30AM)&lt;/em&gt;

  &lt;p&gt;There are several presentations
  about &lt;a href=&quot;http://www.tgdaily.com/games-and-entertainment-features/45279-nvidia-unveils-pantaray-engine&quot;&gt;PantaRay&lt;/a&gt;
  in conjunction with all the sessions (&lt;b&gt;at least&lt;/b&gt; a dozen!) about
  &lt;a href=&quot;http://www.imdb.com/title/tt0499549/&quot;&gt;Avatar&lt;/a&gt;.  &lt;em&gt;PantaRay:
  Fast Ray-Traced Occlusion Caching&lt;/em&gt; in this session looks good.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;Split Second Screen Space (2:00PM - 3:30PM)&lt;/em&gt;

  &lt;p&gt;All four papers in this session sound interesting.  I&#39;m especially
  interested in &lt;em&gt;Screen Space Classification for Efficient Deferred
  Shading&lt;/em&gt; and &lt;em&gt;Split-Second Motion Blur&lt;/em&gt;.  Unfortunately, I
  don&#39;t see a preprints for either one online.&lt;/p&gt;
&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;
&lt;u&gt;Tuesday&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Importance Sampling for Production Rendering (course) (9:00AM -
10:30AM)&lt;/em&gt;

  &lt;p&gt;I&#39;ve been wanting to include some coverage of this topic in VGP352 for
  the last couple years.  I already talk about
  &lt;a href=&quot;http://http.developer.nvidia.com/GPUGems3/gpugems3_ch20.html&quot;&gt;GPU-Based
  Importance Sampling&lt;/a&gt; from GPU Gems 3, but I&#39;d like to have a bit
  broader coverage.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;GPU Rendering (2:00PM - 3:30PM)&lt;/em&gt;

  &lt;p&gt;&lt;a href=&quot;http://graphics.stanford.edu/papers/fragmerging/&quot;&gt;Reducing
  Shading on GPUs Using Quad-Fragment Merging&lt;/a&gt; and &lt;a href=&quot;http://www.mpi-inf.mpg.de/~slee/pub/&quot;&gt;Real-Time Lens Blur Effects and
  Focus Control&lt;/a&gt; look to be the highlights in this session for me.&lt;/p&gt;

  &lt;p&gt;As usual at SIGGRAPH, there are big periods of nothing for me, and big
  periods where there are 37 things I want to see.  Also at 2:00 is &lt;em&gt;An
  Introduction to 3D Spatial Interaction With Videogame Motion
  Controllers&lt;/em&gt;.  Since this session runs until 5:00PM, I might just drop
  in late.&lt;/p&gt;
&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;
&lt;u&gt;Wednesday&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Textures (10:45AM - 12:15AM)&lt;/em&gt;

  &lt;p&gt;I like the looks of all the papers in this session.  &lt;a href=&quot;http://alice.loria.fr/index.php/publications.html?redirect=0&amp;amp;Paper=TEXRESIZE@2010&quot;&gt;By-Example
  Synthesis of Architectural Textures&lt;/a&gt;&lt;/li&gt; and &lt;a href=&quot;http://www.cs.columbia.edu/cg/hybrids/index.html&quot;&gt;Synthesizing
  Structured Image Hybrids&lt;/a&gt; are probably the most interesting to me.
  However, &lt;a href=&quot;http://www.kunzhou.net/#vst&quot;&gt;Vector Solid Textures&lt;/a&gt; and
  &lt;a href=&quot;http://www.cemyuksel.com/research/meshcolors/&quot;&gt;Mesh Colors&lt;/a&gt; also
  look good.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;APIs for Rendering (2:00PM - 3:30PM)&lt;/em&gt;

  &lt;p&gt;I &lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-13T19:19:55Z-Sony_Pictures_Imageworks_releases_OSL_code_and_docs/&quot;&gt;posted&lt;/a&gt;
  about Open Shading Language a few months ago.  I&#39;d like to hear more about
  what they&#39;ve done... especially since I&#39;ve been off in compilerland this
  whole year.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;Perception, Presence &amp;amp; Animation (2:00PM - 3:30PM)&lt;/em&gt;

  &lt;p&gt;I &lt;em&gt;might&lt;/em&gt; try to drop in for &lt;a href=&quot;http://graphics.eecs.berkeley.edu/site_root/papers/Held-UBA-2010-03/&quot;&gt;Using
  Blur to Affect Perceived Distance and Size&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;OpenGL BoF (5:15PM)&lt;/em&gt;

  &lt;p&gt;Duh.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;u&gt;Thursday&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Large Steps Toward Open Source (panel) (9:00AM - 10:30AM)&lt;/em&gt;
  &lt;p&gt;I feel obligated to attend this panel. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;Games &amp; Real Time (10:45AM - 12:15AM)&lt;/em&gt;

  &lt;p&gt;Both &lt;em&gt;Practical Morphological Anti-Aliasing on the GPU&lt;/em&gt; and
  &lt;em&gt;Curvature-Dependent Reflectance Function for Rendering Translucent
  Materials&lt;/em&gt; are high on my list.  I &lt;em&gt;think&lt;/em&gt; the later paper had a
  poster last year.  Whether it was them or not, there was an cool posted
  about a similar technique.&lt;/p&gt;

  &lt;p&gt;I may need to bail to go to &lt;em&gt;The Making of &quot;TRON: LEGACY&quot;&lt;/em&gt;. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/biggrin.png&quot; alt=&quot;:D&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;Global Illumination Across Industries (2:00PM - 5:15PM)&lt;/em&gt;

  &lt;p&gt;GI has always been fascinating to me, and I&#39;m so happy to live in a time
  where real-time GI is &lt;em&gt;just about&lt;/em&gt; within reach.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-16T03:59:42Z-SIGGRAPH_2010_Preview/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-16T03:59:42Z-SIGGRAPH_2010_Preview/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Constructor-as-function-call idiom</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-07T19:45:03Z-Constructor-as-function-call_idiom/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-07T19:45:03Z-Constructor-as-function-call_idiom/"/>






	<category term="/tags/graphics" />


	<updated>2010-07-07T21:54:31Z</updated>
	<published>2010-07-07T19:45:03Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Several coworkers and I have been working on a compiler project for the last
six months or so.  We&#39;re implementing it in C++, and, for most of us, it&#39;s our
first real C++ project.  We&#39;re using various flavors of
&lt;a href=&quot;http://en.wikipedia.org/wiki/Visitor_pattern&quot;&gt;visitors&lt;/a&gt;&lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/#1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; for a lot of our IR
processing.  In quite a few places we have visitors that just do stuff but
have no value.  To invoke them some code that looks something like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    ir_validate_tree v;
    v.run(instructions);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Often these are wrapped in a function.  In other places we have things like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    ir_swizzle_swizzle_visitor v;
    v.run(instructions);

    /* Do something with v.progress */
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The latter form is always wrapped in a function that just returns
&lt;code&gt;v.progress&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I find the first form to be particularly ugly.  Wrapping it in a function
makes using it less ugly, but the ugly is still there, lurking in the
shadows.&lt;/p&gt;

&lt;p&gt;It occured to me today that at least the first form could be &quot;fixed&quot; by using
the constructor as the &lt;code&gt;run&lt;/code&gt; method.  Instead of the code above, there would
be a constructor that had the code from the &lt;code&gt;run&lt;/code&gt; method, and callers would
just do:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    ir_validate_tree(instructions);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Something similar could be done with the second case, but that would look
like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    progress = ir_swizzle_swizzle_visitor(instructions).progress || progress;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;My conundrum, as a C++ newb, is whether or not this is a common idiom.  Would
someone familiar with C++ (at least more familiar than I am) look at that code
and know what was going on?  Or would they just think the author was a
clueless newb?&lt;/p&gt;

&lt;p&gt;&lt;a name=&quot;1&quot;&gt;1:&lt;/a&gt; We primarily use &lt;a href=&quot;http://c2.com/cgi/wiki?HierarchicalVisitorPattern&quot;&gt;hierarchical visitors&lt;/a&gt;.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-07T19:45:03Z-Constructor-as-function-call_idiom/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-07-07T19:45:03Z-Constructor-as-function-call_idiom/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>GLSL compiler, take 2</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-06-10T18:55:29Z-GLSL_compiler_take_2/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-06-10T18:55:29Z-GLSL_compiler_take_2/"/>






	<category term="/tags/graphics" />


	<updated>2010-06-10T19:32:49Z</updated>
	<published>2010-06-10T18:55:29Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Folks may remember from XDS 2008 that I was working on a rewrite of Mesa&#39;s
GLSL compiler.  To make a long story short, let&#39;s just say that effort fell
over and sank into the swamp.&lt;/p&gt;

&lt;p&gt;Last December, I started building another one.  I had called the working
directory of the first compiler &lt;code&gt;glsl&lt;/code&gt;, so this one, being take 2, was called
&lt;code&gt;glsl2&lt;/code&gt;.  After I had been working on it for a couple months, Eric Anholt and
Ken Graunke (who has since joined our group at Intel) started working on it
with me.  We&#39;ve come a long way.&lt;/p&gt;

&lt;p&gt;I expect we&#39;ll take some flak for working in semi-secret.  I&#39;ll take the blame
for that one.  The first attempt at rewriting the compiler was widely
publicized and turned into a disaster.  In spite of it being widely
publicized, I don&#39;t think anyone ever pulled the tree.  I decided that I
wanted to just keep my head down and work on this one.  The announcements can
come when there&#39;s actually something to announce.  I think we&#39;re close enough
to having something to announce to make it worth the effort.&lt;/p&gt;

&lt;p&gt;At this point, the front-end (parsing, semantic checking, generation of the
initial high-level IR) is mostly complete.  We support all of GLSL 1.20 and
most of GLSL 1.30.  We&#39;ve temporarily punted on switch-statements, the
&lt;code&gt;float&lt;/code&gt; (vs. &lt;code&gt;vec4&lt;/code&gt;) variants of the shadow sampler functions, and the
&quot;offset&quot; versions of all the texture look-up functions.  Each of those is
going to require a bit more thought to implement correctly.&lt;/p&gt;

&lt;p&gt;Carl Worth has written a preprocessor for us, but it hasn&#39;t been integrated
into the tree yet.  As was &lt;a href=&quot;http://marc.info/?l=mesa3d-dev&amp;amp;m=127612840317832&amp;amp;w=2&quot;&gt;mentioned on the Mesa mailing
list&lt;/a&gt;, &lt;em&gt;without the
preprocessor&lt;/em&gt; we&#39;re passing over 90% of the piglit tests.&lt;/p&gt;

&lt;p&gt;There&#39;s still a lot left to do.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Linker:  The single biggest thing remaining is the linker.  The compiler
and the IR are structured such that we can actually have a real linker
(instead of just concatenating multiple sources and recompiling), but that
means we have to write a real linker.&lt;/li&gt;
&lt;li&gt;More optimizations:  Our primary target is i915-class hardware.  In order
to get GLSL to run on hardware that doesn&#39;t have branches, there are a
bunch of optimizations, like loop-unrolling, that you have to do.  We still
need to do some of those.&lt;/li&gt;
&lt;li&gt;Preprocessor:  We still have to integrate Carl&#39;s preprocessor.  I believe
that is being done this will still.&lt;/li&gt;
&lt;li&gt;Memory management:  Any objects that are no longer needed get dropped on
the floor.  We leak like a screendoor on a submarine.  This was an
intentional design decision.  I had planned to eventually write some sort
of slab allocator.  At the end of compilation, the entire slab would be
deleted.  Eric and Carl have since convinced me to just use
&lt;a href=&quot;http://talloc.samba.org/talloc/doc/html/index.html&quot;&gt;talloc&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Codegen:  Eric is writing a back-end that will generate Mesa&#39;s existing
low-level IR from our IR.  I believe this is getting close to being done
enough.&lt;/li&gt;
&lt;li&gt;Mesa:  Once all that stuff is done, we need to get our stand-alone compiler
in the Mesa tree.  We&#39;re expecting it to live in a branch for a few months
while things stabilize.  It should make for &lt;a href=&quot;http://en.wikipedia.org/wiki/May_you_live_in_interesting_times&quot;&gt;interesting
times&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The primary repo is my GIT tree.  Eric, Ken, and Carl all have their own
trees, and I pull from them when their stuff is ready.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git://anongit.freedesktop.org/~idr/glsl2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For those interested in help things along, the biggest thing we need are more
test cases.  We&#39;re especially interested in shaders from real applications
that are known to work correctly on other drivers.  We have a bunch from
gstreamer and other projects, but more is better.  If you have some shaders
and don&#39;t mind releasing them under a piglit compatible license, &lt;em&gt;please&lt;/em&gt; send
them our way.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-06-10T18:55:29Z-GLSL_compiler_take_2/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-06-10T18:55:29Z-GLSL_compiler_take_2/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>w00t!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-05-09T17:23:15Z-w00t/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-05-09T17:23:15Z-w00t/"/>






	<category term="/tags/TV" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2010-05-09T17:23:15Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Last night Rose and I went to see
&lt;a href=&quot;http://en.wikipedia.org/wiki/W00tstock&quot;&gt;w00tstock&lt;/a&gt; at the &lt;a href=&quot;http://www.aladdin-theater.com/&quot;&gt;Aladdin
Theater&lt;/a&gt;.  It was freakin&#39; awesome.  If you
live in Chicago or Minneapolis (the next stops on the tour), you need to go
see it when it comes to town.  I have to admit, other than &lt;a href=&quot;http://www.adamsavage.com/&quot;&gt;Adam
Savage&lt;/a&gt; and &lt;a href=&quot;http://www.wilwheaton.net/&quot;&gt;Wil
Wheaton&lt;/a&gt;, I hadn&#39;t heard of any of the acts before
the show.  I was a bit skeptical about the whole thing.  Alas.  It was 4+
hours of win.  I know, it&#39;s billed as &quot;3 Hours of Geeks &amp;amp; Music,&quot; but it went
&lt;em&gt;way&lt;/em&gt; over.&lt;/p&gt;

&lt;p&gt;Since they expressly released the content of the show under a &lt;a href=&quot;http://creativecommons.org/&quot;&gt;Creative
Commons NC-BY license&lt;/a&gt;, the whole show has
probably been posted, bit by bit, to YouTube by now.&lt;/p&gt;

&lt;p&gt;Even though the show went hours over time, I stayed until the very end for
autographs.  (Note: I&#39;ll post pictures later.)  The autographs were being done
from the bar area where the Aladdin usually serves pizza.  The line went
across the lobby, up the stairs, across the balcony, down the other stairs,
and out on to the side walk.  I was fourth from last.  I get up to the front,
have a little chit chat with &lt;a href=&quot;http://www.paulandstorm.com/&quot;&gt;Paul and Storm&lt;/a&gt;,
but I&#39;m really waiting to meet Adam.  Of course, by the time I got there, I
couldn&#39;t think of &quot;my favorite episode.&quot;  It came to me this morning.  Three
words: &lt;a href=&quot;http://www.youtube.com/watch?v=ynZxVErTovg&amp;amp;feature=PlayList&amp;amp;p=0FAF24DD1F88AE0B&amp;amp;playnext_from=PL&amp;amp;playnext=1&amp;amp;index=2&quot;&gt;exploding cement
truck&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Instead, all I can think of is &lt;a href=&quot;http://www.youtube.com/watch?v=exJQBYW5aaA&quot;&gt;Tori whacking his
knee&lt;/a&gt;.  That episode drove me
nuts!  They kept replaying that clip over and over again.  Every time I got
this shot of sympathy pain in my left knee... that I damaged in a skiing
accident.  So, that&#39;s what I told Adam about.  As soon as I mentioned that
episode, his facial expression changed.  &quot;I wasn&#39;t at that shoot,&quot; he tells
me, &quot;but I soon as I saw that set-up I said, &#39;What the hell are they
thinking?&#39;&quot;  And then we had a decent conversation about it.  It was really
cool.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-05-09T17:23:15Z-w00t/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-05-09T17:23:15Z-w00t/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>What&#x27;s GNU?</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-04-02T04:37:22Z-Whats_GNU/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-04-02T04:37:22Z-Whats_GNU/"/>





	<updated>2010-04-02T04:43:06Z</updated>
	<published>2010-04-02T04:37:22Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Am I the only one terrified by the thought of RMS making educational
games for children?&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/whats_gnu.jpg&quot; width=&quot;512&quot; height=&quot;384&quot; /&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-04-02T04:37:22Z-Whats_GNU/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-04-02T04:37:22Z-Whats_GNU/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Train your rendering engine</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-30T05:04:45Z-Train_your_rendering_engine/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-30T05:04:45Z-Train_your_rendering_engine/"/>






	<category term="/tags/graphics" />

	<category term="/tags/movies" />


	<updated>2010-03-30T06:07:47Z</updated>
	<published>2010-03-30T05:04:45Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Over the weekend my wife and I went to see &lt;a href=&quot;http://www.imdb.com/title/tt0892769/&quot;&gt;How to Train Your
Dragon&lt;/a&gt;.  Holy crap.  It was
&lt;em&gt;really&lt;/em&gt; good.  For the type of movie that it is, I think it was just
about perfect.  Coming from me, that&#39;s saying something.  I can pretty
much always find something to complain about.&lt;/p&gt;

&lt;p&gt;Not only was the movie great, but the rendering went above and beyond!
I was expecting the fire to be the impressive rendering feat, but it
was the water and the clouds that impressed me.  Of course, it is hard
to top the
&lt;a href=&quot;http://screenrant.com/wp-content/uploads/harry-potter-image5-japanese.jpg&quot;&gt;fire&lt;/a&gt;
from &lt;a href=&quot;http://www.imdb.com/title/tt0417741/&quot;&gt;The Half-Blood Prince&lt;/a&gt;.  I
think the best shot was towards the end of the movie.  The Vikings had
arrived at an island by ship.  One of the dragons was going breathe
fire over the ships.  The camera cut to a shot from under the water
looking straight up.  It&#39;s hard to explain, but it was freakin&#39; cool.
It&#39;s about 3 seconds after the image below.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/dragon-01.jpg&quot; width=&quot;640&quot; height=&quot;271&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;And yeah, the fire is pretty damn sweet in that shot.&lt;/p&gt;

&lt;p&gt;About a minute into the
&lt;a href=&quot;http://www.youtube.com/watch?v=oKiYuIsPxYk&quot;&gt;trailer&lt;/a&gt; are some good
shots of the water (surface of the lake) and the clouds.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-30T05:04:45Z-Train_your_rendering_engine/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-30T05:04:45Z-Train_your_rendering_engine/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>GLX-fixes tree</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-22T18:24:45Z-GLX-fixes_tree/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-22T18:24:45Z-GLX-fixes_tree/"/>






	<category term="/tags/OpenGL" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2010-03-22T18:24:45Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I&#39;ve just created a branch in my personal xserver git repository where
&lt;em&gt;reviewed&lt;/em&gt; GLX and DRI patches will land.  My intention is to collect,
review, and test server-side GLX and DRI patches.  When I believe the
tree is stable, I will send a pull request to keithp.  My hope is that
this will get some patches into the tree a little faster.&lt;/p&gt;

&lt;p&gt;For people who would like to try out this branch, it is available at:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git://anongit.freedesktop.org/~idr/glu3 GLX-fixes&lt;/code&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-22T18:24:45Z-GLX-fixes_tree/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-22T18:24:45Z-GLX-fixes_tree/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Discussion win</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-19T18:48:29Z-Discussion_win/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-19T18:48:29Z-Discussion_win/"/>





	<updated>2010-03-19T18:56:05Z</updated>
	<published>2010-03-19T18:48:29Z</published>

	<content type="html" xml:lang="en">
	&lt;pre&gt;
Mar 19 11:38:44 &amp;lt;anholt&amp;gt; idr: so, I&#39;ve been looking into savage2.  guess what we need to fix it? :P
Mar 19 11:38:58 &amp;lt;idr&amp;gt;    anholt: A pony?
Mar 19 11:39:03 &amp;lt;anholt&amp;gt; yeah
Mar 19 11:39:12 &amp;lt;anholt&amp;gt; more specifically CSE inside of loops
Mar 19 11:39:21 &amp;lt;anholt&amp;gt; and decent register allocation in the presence of loops
Mar 19 11:40:11 &amp;lt;anholt&amp;gt; float v = length(a); vec4 n = normalize(a); /* oh no where&#39;d all my temps go, and why&#39;s my program a million instrs long? */
Mar 19 11:40:36 &amp;lt;idr&amp;gt;    blarg.
Mar 19 11:40:36 &amp;lt;anholt&amp;gt; lots of n_dot_l recomputation
Mar 19 11:41:42 *        idr gets back to work trying to give birth to a pony...
Mar 19 11:41:56 &amp;lt;ajax&amp;gt;   there&#39;s an image i didn&#39;t need
Mar 19 11:42:29 &amp;lt;idr&amp;gt;    I&#39;ll post pictures to my blog later.
&lt;/pre&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-19T18:48:29Z-Discussion_win/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-19T18:48:29Z-Discussion_win/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Little blue GPU...</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-06T23:33:19Z-Little_blue_GPU/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-06T23:33:19Z-Little_blue_GPU/"/>






	<category term="/tags/graphics" />


	<updated>2010-03-06T23:49:35Z</updated>
	<published>2010-03-06T23:33:19Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;You&#39;d think with a name like that they&#39;d have better performance.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://failblog.org/2010/02/11/processor-name-fail/&quot;&gt;
&lt;img src=&quot;http://failblog.files.wordpress.com/2010/02/epic-fail-processor-name-fail.jpg&quot; width=&quot;400&quot; height=&quot;387&quot; alt=&quot;Via GPU name FAIL&quot;&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the &lt;em&gt;old&lt;/em&gt; &lt;a href=&quot;http://www.via.com.tw/en/products/apollo/mvp4.jsp&quot;&gt;Apollo
MVP4&lt;/a&gt; chipset used in
&lt;a href=&quot;http://en.wikipedia.org/wiki/Super_Socket_7&quot;&gt;Super Socket 7&lt;/a&gt; sytems used
primarily with AMD &lt;a href=&quot;http://en.wikipedia.org/wiki/K6-2&quot;&gt;K6-2&lt;/a&gt; and
&lt;a href=&quot;http://en.wikipedia.org/wiki/K6-III&quot;&gt;K6-III&lt;/a&gt; CPUs.  It used the &lt;a href=&quot;http://www.anandtech.com/showdoc.aspx?i=899&amp;amp;p=1&quot;&gt;Trident
Blade3D&lt;/a&gt; graphics core, so
you &lt;em&gt;know&lt;/em&gt; it was full of win.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-06T23:33:19Z-Little_blue_GPU/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-06T23:33:19Z-Little_blue_GPU/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Meet me at Flynn&#x27;s</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-06T05:07:44Z-Meet_me_at_Flynns/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-06T05:07:44Z-Meet_me_at_Flynns/"/>






	<category term="/tags/movies" />


	<updated>2010-03-06T05:24:51Z</updated>
	<published>2010-03-06T05:07:44Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I just got back from seeing &lt;a href=&quot;http://www.imdb.com/title/tt1014759/&quot;&gt;Alice in
Wonderland&lt;/a&gt;.  It was really
pretty but largely content free.  The high point was the trailer for
&lt;a href=&quot;http://www.imdb.com/title/tt1104001/&quot;&gt;Tron Legacy&lt;/a&gt; (I think this says
more about me than about the quality of AiW.).  Oh man... I am
so stoked for that movie to come out!  I&#39;m &lt;em&gt;really&lt;/em&gt; hoping there will good
Tron swag in the Disney booth at SIGGRAPH this year.&lt;/p&gt;

&lt;p&gt;/me crosses his fingers...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-06T05:07:44Z-Meet_me_at_Flynns/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-06T05:07:44Z-Meet_me_at_Flynns/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>How do people seriously use Java?!?</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-01T01:31:54Z-How_do_people_seriously_use_Java/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-01T01:31:54Z-How_do_people_seriously_use_Java/"/>






	<category term="/tags/rant" />


	<updated>2010-03-01T02:06:20Z</updated>
	<published>2010-03-01T01:31:54Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I&#39;ve been taking a &lt;a href=&quot;http://web.cecs.pdx.edu/~antoy/Courses/syllabi/WIN2010CS553.html&quot;&gt;design patterns
class&lt;/a&gt;
at Portland State this term.  I&#39;ve been really enjoying and getting a
lot out of the material of the class.  However, the class is entirely
in Java, and each time I sit down to do an assignment, I find myself
wonder how people can actually use this steaming pile of a language.
Seriously.  Let me cite an example of why this language is just
worthless.&lt;/p&gt;

&lt;p&gt;I have a class hierarchy for expressions in a programming language.
This consists of a base class (&lt;code&gt;Expr&lt;/code&gt;), derived classes for different
types of operations (&lt;code&gt;ExprMul&lt;/code&gt;, &lt;code&gt;ExprAdd&lt;/code&gt;, etc.), a derived class for
variable dereferences (&lt;code&gt;ExprVar&lt;/code&gt;), and a derived class for literal
constants (&lt;code&gt;ExprIntLiteral&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;I want to use implement the last two as
&lt;a href=&quot;http://en.wikipedia.org/wiki/Flyweight_pattern&quot;&gt;flyweights&lt;/a&gt;.  I add a
class &lt;code&gt;ExprFactory&lt;/code&gt; to manage the instances of the flyweights.  I also
make the constructors of the flyweights private.  This is where the
whole thing falls apart.  Now that the flyweights&#39; constructors are
private, I have to put &lt;strong&gt;all&lt;/strong&gt; of the classes into a package.&lt;/p&gt;

&lt;p&gt;Now that all of the classes are in the same package, they all have
visibility into all of the other classes.  WTF?!?  I wanted to limit
the visibility of a couple methods in a couple of classes, but in
order to do that I&#39;ve had to remove all visibility limitations on
everything.  Fueled by bong hits.&lt;/p&gt;

&lt;p&gt;I&#39;ve also noticed that it&#39;s almost impossible to do Java development
without using an integrated environment.  It appears that once you
start using packages, you have to build things in a very precise
order.  I basically have to fiddle with it until the compiler stops
giving me useless messages.&lt;/p&gt;

&lt;p&gt;And don&#39;t get me started about having to put every public class in a
separate file with a matching name.  Seriously?&lt;/p&gt;

&lt;p&gt;Java is a toy language for making web applets.  It is completely
useless for anything else.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: I have now learned the difference between marking a method
or member explicitly &lt;code&gt;private&lt;/code&gt; and leaving it blank.  But I&#39;m still
irritated.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-01T01:31:54Z-How_do_people_seriously_use_Java/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-03-01T01:31:54Z-How_do_people_seriously_use_Java/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>GLU3 is a real project!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-28T08:30:41Z-GLU3_is_a_real_project/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-28T08:30:41Z-GLU3_is_a_real_project/"/>






	<category term="/tags/OpenGL" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2010-02-28T08:30:41Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;GLU3 is now a &quot;real&quot; project with hosting on freedesktop.org!  This
means that there is a &lt;a href=&quot;http://lists.freedesktop.org/mailman/listinfo/glu3-devel&quot;&gt;development mailing
list&lt;/a&gt;, and
the GIT repo has moved.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git://anongit.freedesktop.org/git/glu3&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;My hope is to have a 1.0 release out in the next month or so.  I&#39;ve
got some new functionality that I&#39;m working on, but I should be able
to finish most of that this weekend.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-28T08:30:41Z-GLU3_is_a_real_project/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-28T08:30:41Z-GLU3_is_a_real_project/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Presentation Camera 0.2</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-24T19:56:35Z-Presentation_Camera_0_2/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-24T19:56:35Z-Presentation_Camera_0_2/"/>






	<category term="/tags/graphics" />


	<updated>2010-02-24T20:26:03Z</updated>
	<published>2010-02-24T19:56:35Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I updated my presentation camera rig this week with a new camera.  I replaced
the old &lt;a href=&quot;http://www.logitech.com/index.cfm/435/217&amp;amp;hub=1&amp;amp;cl=nz,en?WT.z_sp=Image&quot;&gt;Quickcam for Notebooks
Deluxe&lt;/a&gt;
with a &lt;a href=&quot;http://www.dynexproducts.com/pc-692-10-dynex-13mp-web-cam.aspx&quot;&gt;Dynex 1.3MP Web
Cam&lt;/a&gt;.  I was
hoping that going from 640x480 to 1280x1024 would solve a lot of the problems
with the 0.1 setup.  Alas, it did not.&lt;/p&gt;

&lt;p&gt;I encountered two primary problems.  First,
&lt;a href=&quot;http://projects.gnome.org/cheese/&quot;&gt;Cheese&lt;/a&gt; would occasionally turn into a
slide show when capturing at full res with a maximized window.  It was very
annoying.  The frame-to-frame lag was long enough for me to write an entire
word.  The other problem, and this is the deal breaker, is that the camera has
a fixed focus distance of about thee feet.  If I position the camera three
feet from the writing pad, the writing pad occupies about 640x480 of the
captured image.  &lt;em&gt;Fail.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I guess I need a camera that will stream at 1.3MP (or better) and either
automatically focus or a focus adjustment (the old camera had the latter).
Cameras that I could find on the net that meet these requirements all cost $70
or more.  Meh.&lt;/p&gt;

&lt;p&gt;I have an alternate plan, but I&#39;ll have to actually write some code.  I have
an older &lt;a href=&quot;http://en.wikipedia.org/wiki/Canon_PowerShot_A&quot;&gt;Canon PowerShot A70&lt;/a&gt;
that I don&#39;t use.  I seem to recall that there are some libraries available
that allow real-time capture of single frames directly from the camera.  The
library basically tells the camera to take a picture, and then it downloads
that picture.  If I can get it to stream fast enough, say 10fps to 15fps, that
should be a usable solution.&lt;/p&gt;

&lt;p&gt;Given that nobody has written a V4L driver to stream from these cameras in this
manner, I suspect that I may be heading down a road of disappointment.  &lt;a href=&quot;http://www.metrolyrics.com/snowball-in-hell-lyrics-they-might-be-giants.html&quot;&gt;If it
wasn&#39;t for disappointment, I wouldn&#39;t have any
appointments.&lt;/a&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-24T19:56:35Z-Presentation_Camera_0_2/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-24T19:56:35Z-Presentation_Camera_0_2/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Presentation Camera Hack</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-12T06:23:22Z-Presentation_Camera_Hack/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-12T06:23:22Z-Presentation_Camera_Hack/"/>






	<category term="/tags/graphics" />


	<updated>2010-02-12T06:47:14Z</updated>
	<published>2010-02-12T06:23:22Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;For &lt;em&gt;years&lt;/em&gt; I have been irritated by the lack of white-board space in the
classrooms at the Art Institute.  When the screen for the projector is pulled
down, there is, literally, 4&#39;x4&#39; of white-board space available.  As a result,
I frequently have to erase drawings, equations, and bits of pseudo-code that
I&#39;ve written on the board.  Almost invariably I want to refer back to... oops!
It was erased!&lt;/p&gt;

&lt;p&gt;Some of the classrooms at &lt;a href=&quot;http://pdx.edu/&quot;&gt;PSU&lt;/a&gt; have &lt;a href=&quot;http://www.bitec.com/document_cameras_lumens.html#DC166&quot;&gt;Lumens
DC166&lt;/a&gt; presentation
cameras.  My STAT551 teach uses the one in that classroom, and it&#39;s a pretty
nice device.  Joyous day!  I figured I&#39;d get one of those, and all my problems
would be solved.  I went to eBay to get one, but they&#39;re &lt;strong&gt;$200&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The hacker in me took over.  When it gets down to it, the thing is really just
a webcam and a light.  It has some other features, like direct VGA /
composite video output, but I don&#39;t need any of them because I have a laptop.
I decided to build one.  What did I build it from?  Well, version 0.1 is a
webcam and a light.  Shocking, I know.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/presentation_cam.jpg&quot; alt=&quot;My presentation camera&quot; title=&quot;My presentation camera&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I used it this past Tuesday with &lt;a href=&quot;http://projects.gnome.org/cheese/&quot;&gt;Cheese&lt;/a&gt;.
As you can see, the image quality isn&#39;t great.  However, I was able to flip
back to &quot;erased&quot; equations and drawings at will.  Not only that, but I didn&#39;t
get white-board marker smudges on my hands.  The 0.1 test was a complete
success.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/presentation_cam_sample.jpg&quot; alt=&quot;Presentation cam sample&quot; title=&quot;Presentation cam sample&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I need to get a new cam, and I need to add a diffuser and a back &quot;bounce&quot; to
the light.  I also have some ideas for new software to write for it.  I&#39;ll
dish on that later.  Once I get the final &lt;em&gt;hardware&lt;/em&gt; built, I&#39;ll put up a full
howto with pictures.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-12T06:23:22Z-Presentation_Camera_Hack/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-02-12T06:23:22Z-Presentation_Camera_Hack/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>GLU3 FTW!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-22T15:20:09Z-GLU3_FTW/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-22T15:20:09Z-GLU3_FTW/"/>






	<category term="/tags/OpenGL" />

	<category term="/tags/graphics" />


	<updated>2010-01-25T22:45:52Z</updated>
	<published>2010-01-22T15:20:09Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I just finished pitching my fledgling GLU3 library to the ARB, and
everybody loved it.  Quite a few people said that they&#39;ve hacked up
something similar, but much less complete, to get simple demo apps
running.  A few of the people had functionality not in the library,
and it sounds like I may get a few code contributions.  It also sounds
like it &lt;em&gt;may&lt;/em&gt; be included in the &lt;a href=&quot;http://www.opengl.org/sdk&quot;&gt;OpenGL
SDK&lt;/a&gt;.  Yay me!&lt;/p&gt;

&lt;p&gt;For those interested, the doxygen documentation is at:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://people.freedesktop.org/~idr/glu3&quot;&gt;http://people.freedesktop.org/~idr/glu3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The GIT tree for the code is available at:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git://anongit.freedesktop.org/~idr/glu3&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;At some point the tree will probably move somewhere that can allow
direct commits by people other than me.  I&#39;ll cross that bridge when I
come to it.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-22T15:20:09Z-GLU3_FTW/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-22T15:20:09Z-GLU3_FTW/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Sony Pictures Imageworks releases OSL code and docs</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-13T19:19:55Z-Sony_Pictures_Imageworks_releases_OSL_code_and_docs/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-13T19:19:55Z-Sony_Pictures_Imageworks_releases_OSL_code_and_docs/"/>






	<category term="/tags/graphics" />


	<updated>2010-01-13T19:35:06Z</updated>
	<published>2010-01-13T19:19:55Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;As pointed out in the excellent &lt;a href=&quot;http://www.realtimerendering.com/blog/sony-pictures-imageworks-open-source-projects/&quot;&gt;Real-Time Rendering
blog&lt;/a&gt;,
Sony Pictures Imageworks has released the documentation and &lt;em&gt;source code&lt;/em&gt; for
their &lt;a href=&quot;http://code.google.com/p/openshadinglanguage/&quot;&gt;Open Shading Language
compiler&lt;/a&gt;.  It&#39;s a slightly
different take on shading languages than GLSL / HLSL / Cg.  The idea is that
instead of generating final colors, as in other SLs, shaders compute
information about how a surface / light / whatever interacts.  These shaders
are then connected into a network, and complex global illumination is then
calculated by evaluating the network.  At least, that&#39;s my understanding from
readin the
&lt;a href=&quot;http://code.google.com/p/openshadinglanguage/wiki/OSL_Introduction&quot;&gt;introduction&lt;/a&gt;
for five minutes. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Pretty cool stuff.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-13T19:19:55Z-Sony_Pictures_Imageworks_releases_OSL_code_and_docs/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-13T19:19:55Z-Sony_Pictures_Imageworks_releases_OSL_code_and_docs/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Stairs almost done!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-08T20:32:34Z-Stairs_almost_done/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-08T20:32:34Z-Stairs_almost_done/"/>





	<updated>2010-01-08T21:14:30Z</updated>
	<published>2010-01-08T20:32:34Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I finally got my uncle out to fix my rickety basement stairs.  You may
remember that my wife &lt;a href=&quot;http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-14T22:01:19Z-Virtual_cast/&quot;&gt;fell down these
stairs&lt;/a&gt;
last August.  My uncle Brad does carpentry for a living, and he came
up from Stayton a couple times over the last well to fix them.  It&#39;s
&lt;em&gt;almost&lt;/em&gt; done, as you can see from the pictures below.  All that&#39;s
left is to install the handrails on both sides.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/stairs/stairs_gone.jpg&quot; alt=&quot;Stairs after being ripped out&quot; title=&quot;Stairs after being ripped out&quot; /&gt;
&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/stairs/stairs_almost_done.jpg&quot; alt=&quot;New stairs installed w/o handrails&quot; title=&quot;New stairs installed w/o handrails&quot; /&gt;&lt;/p&gt;

&lt;p&gt;You can&#39;t see it very well in the pictures, but I also got a new
door.  Amazingly, this one actually opens and closes like a normal
door.  It doesn&#39;t have cracks and holes in it either. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;If you need any work done in the Stayton-Salem-Woodburn area, let me
know.  I&#39;ll put you in contact with my uncle.  He does really good work.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-08T20:32:34Z-Stairs_almost_done/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-08T20:32:34Z-Stairs_almost_done/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>The last straw!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-07T05:13:02Z-The_last_straw/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-07T05:13:02Z-The_last_straw/"/>





	<updated>2010-01-07T05:25:20Z</updated>
	<published>2010-01-07T05:13:02Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;That was the last frickin&#39; straw!  On my way home, two blocks from my
house, I broke &lt;em&gt;another&lt;/em&gt; spoke.  That&#39;s &lt;em&gt;four&lt;/em&gt;.  The bike I have is
large.  How big is it?  It&#39;s big enough that when I hang it on the
bike rack on the MAX it touches the ground.  I find it hard to believe
that a company would sell a big that big that can&#39;t take the weight of
a 6&#39; man.  EPIC FAIL.&lt;/p&gt;

&lt;p&gt;So... I&#39;m in the market for a new (to me, anyway) bike, and I&#39;m
looking for recommendations.  Since I have to ride to school (~14 mile
round-trip) twice a week, I need to get something soon.  I&#39;m a little
bit past &quot;casual commuter&quot;, but I&#39;m nowhere near those psychos with
the clip-shoes and no brakes.&lt;/p&gt;

&lt;p&gt;I need something that can carry me and rack full of books and a
laptop.  The current bike is an 18 speed, but I never use the lowest
gear on the front or back.  Seriously... if I need those, I may as
well get off and walk!&lt;/p&gt;

&lt;p&gt;Thoughts?&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-07T05:13:02Z-The_last_straw/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2010-01-07T05:13:02Z-The_last_straw/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>I am Spartacus!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-22T05:08:24Z-I_am_Spartacus/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-22T05:08:24Z-I_am_Spartacus/"/>





	<updated>2009-12-22T05:54:22Z</updated>
	<published>2009-12-22T05:08:24Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;It is just me, or are the Tiger Woods affairs getting to be like the
end of &lt;a href=&quot;http://www.imdb.com/title/tt0054331/&quot;&gt;Spartacus&lt;/a&gt;?  Seriously.&lt;/p&gt;

&lt;p&gt;&quot;I am Tiger Woods&#39; mistress!&quot;&lt;/p&gt;

&lt;p&gt;&quot;I am Tiger Woods&#39; mistress!&quot;&lt;/p&gt;

&lt;p&gt;&quot;I am Tiger Woods&#39; mistress!&quot;&lt;/p&gt;

&lt;p&gt;&quot;Is anyone here &lt;em&gt;not&lt;/em&gt; Tiger Woods&#39; mistress?&quot;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-22T05:08:24Z-I_am_Spartacus/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-22T05:08:24Z-I_am_Spartacus/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Santa selects a quest...</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-21T21:49:29Z-Santa_selects_a_quest/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-21T21:49:29Z-Santa_selects_a_quest/"/>





	<updated>2009-12-21T21:56:45Z</updated>
	<published>2009-12-21T21:49:29Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;It occurs to me that Christmas shopping is a lot like the quests in
many computer RPGs.  How many XP do I get for finding the best deal in
town on a toaster?&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-21T21:49:29Z-Santa_selects_a_quest/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-21T21:49:29Z-Santa_selects_a_quest/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Jimmy Cameron, his next 3 hour movie, and a silly fox</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-19T07:46:59Z-Jimmy_Cameron_and_his_next_3_hour_movie/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-19T07:46:59Z-Jimmy_Cameron_and_his_next_3_hour_movie/"/>






	<category term="/tags/movies" />


	<updated>2009-12-20T06:06:26Z</updated>
	<published>2009-12-19T07:46:59Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I just got back from seeing
&lt;a href=&quot;http://www.imdb.com/title/tt0499549/&quot;&gt;Avatar&lt;/a&gt; at
&lt;a href=&quot;http://www.cinetopiatheaters.com/&quot;&gt;Cinetopia&lt;/a&gt;.  Holy crap.  Serious.
The movie was so beautiful to behold.  It was really, really long, but
it didn&#39;t &lt;em&gt;feel&lt;/em&gt; long.  Know what I mean?  Anyway, I&#39;m looking forward
to all the SIGGRAPH papers about the rendering techniques developed
for the movie. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I really like the juxtaposition of the way the Na&#39;vi connected with
the trees, pa&#39;li (horses), and ikran (flying creatures) with the way
the humans connected with their mechanized walkers and avatar
connection machines.&lt;/p&gt;

&lt;p&gt;My single nit is that native peoples with bows and arrows never win.
The Zulu came close, but pretty much everyone else just got
slaughtered.&lt;/p&gt;

&lt;p&gt;I also saw &lt;a href=&quot;http://www.imdb.com/title/tt0432283/&quot;&gt;Fantastic Mr. Fox&lt;/a&gt;
this weekend.  Oh man... so many lols.  Jason Schwartzman seriously
made that movie.  &quot;I can&#39;t go to school.  I&#39;m sick.&quot;  &quot;No you&#39;re not.&quot;
&quot;I have a fever.&quot;  &quot;No you don&#39;t.&quot;  &quot;Okay.&quot;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-19T07:46:59Z-Jimmy_Cameron_and_his_next_3_hour_movie/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-19T07:46:59Z-Jimmy_Cameron_and_his_next_3_hour_movie/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Farewell Adrian!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-05T03:59:35Z-Farewell_Adrian/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-05T03:59:35Z-Farewell_Adrian/"/>






	<category term="/tags/TV" />


	<updated>2009-12-05T04:16:32Z</updated>
	<published>2009-12-05T03:59:35Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;So, series finales are usually rubbish.  Seinfeld?  Cheers?  BSG?
I&#39;d wipe my bum with those scripts!  However, the finale to Monk was
exactly what it needed to be.  Script writters take notice:  this is
the model to follow.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-05T03:59:35Z-Farewell_Adrian/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-12-05T03:59:35Z-Farewell_Adrian/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>L4D2 is shit</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-28T09:02:50Z-L4D2_is_shit/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-28T09:02:50Z-L4D2_is_shit/"/>






	<category term="/tags/games" />


	<updated>2009-11-28T09:45:20Z</updated>
	<published>2009-11-28T09:02:50Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I&#39;m going to go out on a limb, and say that L4D2 is &lt;strong&gt;worse&lt;/strong&gt; than the
original.  A lot of the new weapons are just worthless (the AK-47 as
an example), and the new specials are just fucking ridiculous (the
charger as an example).  The witch &lt;em&gt;in the fucking safe room&lt;/em&gt; was the
last straw.  If you could return things to Steam for a refund, I probably would.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-28T09:02:50Z-L4D2_is_shit/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-28T09:02:50Z-L4D2_is_shit/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>New museum piece</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-09T00:03:50Z-New_museum_piece/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-09T00:03:50Z-New_museum_piece/"/>






	<category term="/tags/graphics" />


	<updated>2009-11-09T00:11:54Z</updated>
	<published>2009-11-09T00:03:50Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;So... I got a new addition for my graphics card museum a week or so
ago.  I found this on eBay when I was searching for something else
entirely.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/Rage_Fury_MAXX.small.jpg&quot; alt=&quot;Rage Fury MAXX&quot; title=&quot;Rage Fury MAXX&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I haven&#39;t installed it in a system yet, so it may not work.  Why not?
Because I know it doesn&#39;t work &lt;em&gt;at all&lt;/em&gt; with the r128 driver in Mesa.
I might therefore be tempted to hack on that driver.  &lt;em&gt;That would be bad.&lt;/em&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-09T00:03:50Z-New_museum_piece/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-09T00:03:50Z-New_museum_piece/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>FatELF</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-04T05:21:29Z-FatELF/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-04T05:21:29Z-FatELF/"/>






	<category term="/tags/graphics" />


	<updated>2009-11-04T05:55:06Z</updated>
	<published>2009-11-04T05:21:29Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I have to say, I really liked the idea of
&lt;a href=&quot;http://icculus.org/fatelf/&quot;&gt;FatELF&lt;/a&gt;.  I&#39;m not terribly surprised at
the... er... push-back.  We&#39;ve seen this a lot of times in the past.
A number of years ago SGI proposed some patches to use a &quot;spare&quot;
32-bits in a per-thread data structure to hold the GL context
pointer.  The patches were rejected, and the submitters were flamed.
Fast forward a few years (and by I a few I mean 5-ish) we have TLS to
store this sort of data in a generic way.&lt;/p&gt;

&lt;p&gt;What&#39;s the point?&lt;/p&gt;

&lt;p&gt;Well, some times someone has the right idea to solve a particular
problem.  It might not be &lt;em&gt;everyone&#39;s&lt;/em&gt; problem, and it might not be
something we (the &quot;royal&quot; we, of course) want to maintain moving
forward.  However, it might be something useful and there might be a
way to generalize it to make it really useful.&lt;/p&gt;

&lt;p&gt;How so?&lt;/p&gt;

&lt;p&gt;The first idea that idea had about FatELF was to put multiple versions
of a code compiled with optimizations for different targets in the
same binary.  So, put the -march=i686 and -march=core2 code in the
same binary.  Yeah, GCC has some features that work sort of like
this.  Last I tried them, it was a pain in the ass and carried some
annoying &quot;caveats&quot;.&lt;/p&gt;

&lt;p&gt;I would also love a solution to the mixed 32-bit / 64-bit distros.
Anyone that thinks /lib and /lib64 (or /lib32 of you&#39;re Ubuntu) is a
good solution needs a kick in the teeth.  Seriously.  FatELF isn&#39;t a
solution &quot;out of the box&quot; for that problem (how do you install a
32-bit library into an existing 64-bit library install) yet, but it
doesn&#39;t seem like an insurmountable problem.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-04T05:21:29Z-FatELF/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-11-04T05:21:29Z-FatELF/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Killing Floor mini review</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-23T04:00:49Z-Killing_Floor_mini_review/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-23T04:00:49Z-Killing_Floor_mini_review/"/>






	<category term="/tags/games" />


	<updated>2009-10-23T22:13:04Z</updated>
	<published>2009-10-23T04:00:49Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Steam is having a free trial of Killing Floor this weekend, and I spent some
time with it.  Let me be frank.  At first, I completely hated this game.  The
first draft of this review had nothing positive to say and was downright mean.
I played it for another hour or so after that, and I came to understand it a
bit better.  As a mindless zombie killing romp, it does a decent job.&lt;/p&gt;

&lt;p&gt;There are some interesting game mechanics that add to the interest.  I
especially game to appreciate the encumbrance / inventory system.  Each item
has a certain weight, and you can only carry so much.  The weights are pretty
carefully selected to force some difficult choices.  For example, if you pick
the Hunting Shotgun, that&#39;s the only weapon (other than the knife and 9mm)
that you get.&lt;/p&gt;

&lt;p&gt;While I&#39;m at it, I &lt;strong&gt;really&lt;/strong&gt; like the Hunting Shotgun.  It&#39;s one of the
better shotguns I&#39;ve encountered in a game.  It reminded me of the old Doom 2
double-barrel shotgun, and that&#39;s a good thing.&lt;/p&gt;

&lt;p&gt;The use of headshots to prevent creatures from using their special abilities
was also clever.  However, pretty much all the creatures die within a few
seconds of receiving a headshot, so it doesn&#39;t turn out to be that useful.&lt;/p&gt;

&lt;p&gt;I eventually came to enjoy the interior maps.  The welding torch, which is
used to secure doors ala Aliens, is really cool.  I eventually settled on
running through the halls, welding a door shut, then running around behind 
the creatures that are trying to break through the door.  It was very
satisfying to unload both barrels on a big group of creatures lined up at a
door. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Most of the exterior maps, especially the Farm, failed due to the crummy AI.
Those maps basically degrade to running around until all of the creatures are
behind you, turning around and picking them off one by one with the rifle.
Either the AI needs to be better or something needs to change in those maps.&lt;/p&gt;

&lt;p&gt;My main complaints are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reload times on most weapons is way, way too long.  This is especially true
with the 9mm.&lt;/li&gt;
&lt;li&gt;When you&#39;re reloading, you&#39;re completely defenseless.  You can&#39;t abort the
reload to switch weapons, and you can&#39;t do any sort of melee attack.  You
can just stand there and get hacked to pieces.  L4D got this right with the
&quot;shove.&quot;&lt;/li&gt;
&lt;li&gt;While I&#39;m complaining about weapons, the AK-47 and the LAW are rubbish.
The spread on the AK-47 is so wild that the weapon is almost useless.  The
one time I got the LAW, I couldn&#39;t get it to shoot.  The game even goes so
far as to mock you by saying, &quot;If you&#39;re far enough to get [the LAW], you
don&#39;t need weapon tips.&quot;  That would be true if pressing the shoot button
made it shoot!&lt;/li&gt;
&lt;li&gt;Limited time in the shop between levels.  I understand having limited time
to &lt;em&gt;get to&lt;/em&gt; the shop.  That&#39;s one of the game mechanics.  However, once the
entire team has gotten to the shop, the timer should stop.  The existing
setup punishes people for being unfamiliar with the game.  The first few
times you&#39;re in the shop, it&#39;s difficult to know what to buy.  The
interplay of encumbrance and item weights makes this even more difficult.&lt;/li&gt;
&lt;li&gt;One of the Ten Commandments of an FPS is &quot;thou shalt have a crosshair.&quot;  I
understand that one of the main game mechanics is getting head-shots, but
lack of a crosshair is still weak.  I do have to give them some credit for
fixing my other peeve with all other FPS games... you can use the &quot;sights&quot;
on any weapon.  It used to drive me nuts in Enemy Territory (as an
example), that you couldn&#39;t use the sights on the M1.&lt;/li&gt;
&lt;li&gt;When you die, you get pushed to the next map set and lose all your
stuff.  Nothing is more frustrating than getting to 2 monsters left
on map 3 of 4 and dying.  Well... now it&#39;s an hour until you get to
try that map again.&lt;/li&gt;
&lt;li&gt;I like death metal, but the soundtrack was just painful.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Currently the rating on Steam is 71.  That&#39;s about what I would give it as
well.  For a $15 game, that&#39;s not bad.  The problem is that there are a lot of
other great games out there, and there are a few really good &lt;em&gt;free&lt;/em&gt; games.
I&#39;ll probably play Killing Floor a bit more this weekend.  It may be worth
$15, but I&#39;m not sure it&#39;s worth my time.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-23T04:00:49Z-Killing_Floor_mini_review/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-23T04:00:49Z-Killing_Floor_mini_review/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>OpenGL tutorials</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-12T07:03:20Z-OpenGL_tutorials/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-12T07:03:20Z-OpenGL_tutorials/"/>






	<category term="/tags/OpenGL" />

	<category term="/tags/graphics" />


	<updated>2009-10-12T07:25:02Z</updated>
	<published>2009-10-12T07:03:20Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I just posted two &lt;a href=&quot;http://people.freedesktop.org/~idr/OpenGL_tutorials&quot;&gt;OpenGL
tutorials&lt;/a&gt;.  This
is the start of what I hope will be a long series of tutorials.  Right
now there&#39;s just a &quot;Hello, world!&quot; tutorial for the post-OpenGL 3.1
world (i.e., no immediate mode, no fixed-function) and a more in-depth
tutorial for vertex shader inputs.&lt;/p&gt;

&lt;p&gt;Since I want to produce PDF and HTML output, I&#39;m authoring them in
DocBook (or is it SGML?  WTF?).  It&#39;s mostly working out, but there
are some things that I just can&#39;t seem to get to work right.  The most
frustrating part is that documentation for all of the SGML toolchains
that I can find are crap.  It&#39;s kind of ironic that the documentation
for a document creation tool is so lacking...&lt;/p&gt;

&lt;p&gt;My two biggest peeves are the crap figure handling in the PDF output
and the crap table formatting in the HTML output.  I can fix the HTML
problems with CSS, but how is the tool makeing the output so bad in
the first place?  For the PDFs, seriously, a page break in the middle
of a figure?  Whose genius plan is that?!?&lt;/p&gt;

&lt;p&gt;The other problem that I initial had was the lack of XInclude support
in Jade.  I &quot;fixed&quot; that using xmllint, but this seems like a
fundamental feature to be missing from the tool.&lt;/p&gt;

&lt;p&gt;Before anyone comments, I did consider using LaTeX.  The main problem
I have with LaTeX is the HTML output that it generates make me want to
stab somebody.  Every single time I come across an academics webpage
that has been generated from LaTeX, I shed a lonely tear...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-12T07:03:20Z-OpenGL_tutorials/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-12T07:03:20Z-OpenGL_tutorials/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Chicken fight!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-08T07:13:34Z-Chicken_fight/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-08T07:13:34Z-Chicken_fight/"/>






	<category term="/tags/TV" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2009-10-08T07:13:34Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I never get tired of watching the &quot;chicken fight&quot; skits on Family Guy.  WIN!&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-08T07:13:34Z-Chicken_fight/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-10-08T07:13:34Z-Chicken_fight/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Floating-point &#x27;equality&#x27; for the lose</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-23T01:19:45Z-Floating-point_equality_for_the_lose/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-23T01:19:45Z-Floating-point_equality_for_the_lose/"/>






	<category term="/tags/graphics" />


	<updated>2009-09-24T17:11:50Z</updated>
	<published>2009-09-23T01:19:45Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Well, isn&#39;t that just special?  I&#39;ve been writing some tests for 
&lt;a href=&quot;http://www.opengl.org/registry/specs/NV/fragment_program_option.txt&quot;&gt;&lt;code&gt;NV_fragment_program_option&lt;/code&gt;&lt;/a&gt;
before merging the &lt;code&gt;asm-shader-rework-2&lt;/code&gt; branch to Mesa master.  While
doing that, I came across a neat case on shipping drivers on real
hardware.  These two code sequences produce different results:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    ADDC    R0, R0, |R0|;
    MOV R1 (NE), {1.0};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    ADD R0, R0, |R0|;
    SNE R1, R0, {0.0};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I don&#39;t think the absolute-value operator has anything to do with it,
but that&#39;s how my test case was written.  Gosh... if the &lt;code&gt;ADDC&lt;/code&gt;
doesn&#39;t set the &lt;code&gt;NE&lt;/code&gt; condition code, I&#39;d expect the result in &lt;code&gt;R0&lt;/code&gt; to
be equal to zero.  Have I gone completely mad?!?&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-23T01:19:45Z-Floating-point_equality_for_the_lose/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-23T01:19:45Z-Floating-point_equality_for_the_lose/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Polish noms cometh...</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-13T21:48:59Z-Polish_noms_cometh/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-13T21:48:59Z-Polish_noms_cometh/"/>





	<updated>2009-09-13T21:56:52Z</updated>
	<published>2009-09-13T21:48:59Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Just a friendly reminder... the &lt;a href=&quot;http://www.myspace.com/portlandpolishfest&quot;&gt;Portland Polish
Festival&lt;/a&gt; is coming up the
weekend between &lt;a href=&quot;http://linuxplumbersconf.org/2009/&quot;&gt;LPC&lt;/a&gt; and
&lt;a href=&quot;http://www.x.org/wiki/Events/XDC2009&quot;&gt;XDC&lt;/a&gt;.  It has been getting more
and more crowded every year, but it&#39;s still fun.  How can you say &quot;no&quot;
to perogies and potato pancakes?  nom nom nom nom...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-13T21:48:59Z-Polish_noms_cometh/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-13T21:48:59Z-Polish_noms_cometh/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Hurray!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-09T19:22:00Z-Hurray/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-09T19:22:00Z-Hurray/"/>






	<category term="/tags/graphics" />


	<updated>2009-09-09T22:32:16Z</updated>
	<published>2009-09-09T19:22:00Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Hurray for context-free grammars! &lt;em&gt;sigh...&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I started implementing support for &lt;code&gt;GL_NV_fragment_program_option&lt;/code&gt; to
the Mesa shader assembler.  I quickly discovered that the grammar for
this extension is broken in a pretty fundamental way.  They didn&#39;t
bother to make new keywords, such as &lt;code&gt;LONG&lt;/code&gt;, &lt;code&gt;SHORT&lt;/code&gt;, or the condition
names (e.g., &lt;code&gt;LT&lt;/code&gt;) reserved.  This means that a Bison parser has to
treat the places where these non-reserved reserved words occur as
identifiers.  That by itself is annoying, but I can work around it.&lt;/p&gt;

&lt;p&gt;The real problem is with the &lt;code&gt;KIL&lt;/code&gt; instruction.  In
&lt;code&gt;GL_ARB_fragment_program&lt;/code&gt; the &lt;code&gt;KIL&lt;/code&gt; instruction takes a swizzled
source register as its parameter.  The current fragment is discarded
if the value of that register is less than zero.
&lt;code&gt;GL_NV_fragment_program_option&lt;/code&gt; adds a second form that takes a
swizzled condition code as a parameter.  As a result, the following
shader is ambiguous:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;!!ARBfp1.0
    OPTION  NV_fragment_program;

    TEMP    GT;
    MOVC    GT, fragment.texcoord[0];
    KIL     GT.xxxx;
    MOV     result.color, fragment.texcoord[1];
    END
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;What does the &lt;code&gt;KIL&lt;/code&gt; do?  Does it discard the fragment if X component
of &lt;code&gt;GT&lt;/code&gt; is less than zero, or does it discard the fragment if the X
component of &lt;code&gt;GT&lt;/code&gt; is greater than zero?&lt;/p&gt;

&lt;p&gt;Strong work guys!&lt;/p&gt;

&lt;p&gt;My temptation is to add a new token to the lexer called
&lt;code&gt;USED_IDENTIFIER&lt;/code&gt;.  When the lexer encounters something that it would
currently consider to be an &lt;code&gt;IDENTIFIER&lt;/code&gt;, it will check the symbol
table.  If the symbol is already there, it will return
&lt;code&gt;USED_IDENTIFIER&lt;/code&gt; instead.  Then the places that want to use source
registers will match &lt;code&gt;USED_IDENTIFIER&lt;/code&gt; instead of &lt;code&gt;IDENTIFIER&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;However, this complicates error reporting.  I don&#39;t think I would be
able to generate error messages like &quot;undefined variable &lt;em&gt;foo&lt;/em&gt;&quot;.
Instead you&#39;d get some gook like &quot;syntax error, unexpected &lt;code&gt;IDENTIFIER&lt;/code&gt;,
expecting &lt;code&gt;RESULT&lt;/code&gt; or &lt;code&gt;USED_IDENTIFIER&lt;/code&gt;&quot;.  Meh.&lt;/p&gt;

&lt;p&gt;The big question is whether or not this will match the behavior of
Nvidia&#39;s assembler.  Of course, with an odd, ambiguous corner case
like this, it&#39;s possible the behavior of Nvidia&#39;s assembler has
changed over the years.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-09T19:22:00Z-Hurray/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-09-09T19:22:00Z-Hurray/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>First batch of assembly shader fixes pushed</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-21T21:41:49Z-First_batch_of_assembly_shader_fixes_pushed/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-21T21:41:49Z-First_batch_of_assembly_shader_fixes_pushed/"/>






	<category term="/tags/graphics" />


	<updated>2009-08-21T21:57:49Z</updated>
	<published>2009-08-21T21:41:49Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Just a few moments ago I pushed my asm-shader-rework-1 branch to Mesa
master.  This fixes a couple minor bugs compared to the existing ARB
shader assembler, and it improves performance of the assmebler by
~50x.  We (Intel) are entering the bug fixing phase of our Q3 release,
so I probably won&#39;t work on phase 2 for another month or so.  When I
do, I plan to add support for
&lt;a href=&quot;http://www.opengl.org/registry/specs/NV/fragment_program_option.txt&quot;&gt;&lt;code&gt;NV_fragment_program_option&lt;/code&gt;&lt;/a&gt;
next.  I&#39;ll follow this with support for a couple of the other Nvidia
assmebly extensions.&lt;/p&gt;

&lt;p&gt;This work has even been &lt;a href=&quot;http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=NzQ2OQ&quot;&gt;mentioned on Phoronix.com&lt;/a&gt;.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-21T21:41:49Z-First_batch_of_assembly_shader_fixes_pushed/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-21T21:41:49Z-First_batch_of_assembly_shader_fixes_pushed/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Thesis work started</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-20T23:59:52Z-Thesis_work_started/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-20T23:59:52Z-Thesis_work_started/"/>






	<category term="/tags/graphics" />


	<updated>2009-08-21T00:06:42Z</updated>
	<published>2009-08-20T23:59:52Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;After all these years, I finally started working on my master&#39;s degree
last fall.  This summer I got an idea for my thesis, and I&#39;ve started
work.  As part of that, I wrote a short &lt;a href=&quot;http://web.cecs.pdx.edu/~idr/publications/CPU_vs_GPU_texture_mapping_white_paper.pdf&quot;&gt;white
paper&lt;/a&gt;
describing the project.  Basically, I want to compare the performance
of texture mapping on a modern multicore CPU with a modern integrated
GPU.  I also want to see what the bottlenecks are that limit
performance on a CPU.  I&#39;m pretty sure that discrete GPUs will be
around for a few more years, but I feel like the integrated GPUs days
are (or should be) numbered.  That makes this an important and
interesting area to explore.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-20T23:59:52Z-Thesis_work_started/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-20T23:59:52Z-Thesis_work_started/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>LPC is coming...</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-20T19:43:53Z-LPC_coming/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-20T19:43:53Z-LPC_coming/"/>






	<category term="/tags/graphics" />


	<updated>2009-08-20T19:50:44Z</updated>
	<published>2009-08-20T19:43:53Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;&lt;a href=&quot;http://linuxplumbersconf.org/ocw/proposals/70&quot;&gt;My talk&lt;/a&gt; was accepted
for &lt;a href=&quot;http://linuxplumbersconf.org/2009/&quot;&gt;Linux Plumbers Conference&lt;/a&gt;.
LPC was &lt;em&gt;really&lt;/em&gt; good last year, so I&#39;m looking forward to it again
this year.  I&#39;m a bit bummed, though, that LPC and the OpenGL portion
of the Khornos face-to-face meeting are at the same time.  I can&#39;t be
in two places at once, and LPC wins. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-20T19:43:53Z-LPC_coming/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-20T19:43:53Z-LPC_coming/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Virtual cast</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-14T22:01:19Z-Virtual_cast/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-14T22:01:19Z-Virtual_cast/"/>





	<updated>2009-08-14T22:48:05Z</updated>
	<published>2009-08-14T22:01:19Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Last Sunday night, my wife fell down our basement stairs broke her
right leg.  This isn&#39;t some pansy hair-line fracture.  Heavens no!
She broke the living daylights out of it!  Anyway, Monday morning she
had surgery to insert an adamantium &quot;nail&quot; along her tibia.  This is
in lieu of a hip-to-ankle cast.  Tuesday evening she came home from
the hospital.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/broken_leg/Rose_leg_Sunday.jpg&quot; alt=&quot;Aw, snap!&quot; width=&quot;347&quot; height=&quot;554&quot;&gt;
&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/broken_leg/Rose_leg_Monday.jpg&quot; alt=&quot;Rose&amp;#39;s adamantium leg&quot; width=&quot;335&quot; height=&quot;450&quot;&gt;
&lt;/p&gt;

&lt;p&gt;She&#39;s doing okay now.  Getting her to the potty and only getting 90
minutes of sleep at a time is rough on both of us.  Each day she gets
a little stronger, and getting up gets a little easier.&lt;/p&gt;

&lt;p&gt;The whole point of this is that she&#39;s &lt;em&gt;not&lt;/em&gt; getting a real cast.  That
means there&#39;s nothing for anybody to sign.  What a rip off!  So,
&lt;strong&gt;this&lt;/strong&gt; is her virtual cast.  You can leave messages for her here.
If you have any troubles, drop me an e-mail, and I&#39;ll sort it out.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-14T22:01:19Z-Virtual_cast/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-14T22:01:19Z-Virtual_cast/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2009: Day 4</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-07T23:05:16Z-SIGGRAPH_2009:_Day_4/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-07T23:05:16Z-SIGGRAPH_2009:_Day_4/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2009-08-07T23:05:16Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;CRAZY DAY OF RENDERING TALKS!!!  AHHHHH!!!&lt;/p&gt;

&lt;p&gt;I didn&#39;t think &lt;em&gt;Practical Uses of a Ray Tracer for &quot;Cloudy With a
Chance of Meatballs&quot;&lt;/em&gt; would be interesting to me, and the &lt;em&gt;content&lt;/em&gt;
wasn&#39;t.  However, the presenters mentioned that Sony / Imageworks are
&lt;a href=&quot;http://opensource.imageworks.com/&quot;&gt;open-sourcing a bunch of
projects&lt;/a&gt;, &lt;em&gt;including&lt;/em&gt; the shading
language used in the movie.  Strong work!&lt;/p&gt;

&lt;p&gt;There was quite a bit of information in &lt;a href=&quot;http://www.sci.utah.edu/~bavoil/&quot;&gt;&lt;em&gt;Multi-Layer, Dual-Resolution
Screen-Space Ambient Occlusion&lt;/em&gt;&lt;/a&gt;
that I plan to include in my lectures on AO later this summer.  Their
algorithm use depth peeling, so I&#39;ll have to also cover that if I&#39;m
going to explain their algorithm.  I &lt;em&gt;might&lt;/em&gt; skip that bit.  We&#39;ll
see.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://sglab.kaist.ac.kr/RACBVH/&quot;&gt;&lt;em&gt;RACBVHs: Random-Accessible Compressed Bounding Volume
Hierarchies&lt;/em&gt;&lt;/a&gt; was interesting, but
it wasn&#39;t really what I was expecting.  That&#39;s the bad part of the two
sentence summary of the abstract in the advance program.  The focus of
this work is BVHs for huge data sets.  That is, data sets so large
that the full BVH may not fit in main memory.  Their example had a BVH
of 8GB.  Still, it was worth seeing.  The part that really impressed
me is that the performance hit on small models (i.e., ones that fit in
memory without compression) was only ~3%.&lt;/p&gt;

&lt;p&gt;The &lt;em&gt;Real Fast Rendering&lt;/em&gt; session was, as predicted, full of win. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I have to read the paper for &lt;em&gt;Volumetric Shadow Mapping&lt;/em&gt; because
there&#39;s some bit of the algorithm that I missed.  I get the general
idea, and I like it.  Basically, you trace viewing rays through the
(existing) shadow map to determine fogging.  Cool stuff.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.irit.fr/~Anthony.Pajot/publications.php&quot;&gt;&lt;em&gt;BVH for Efficient Raytracing of Dynamic Metaballs on
GPU&lt;/em&gt;&lt;/a&gt; earns points
for running the presentation from a Linux laptop.  There was a
shocking lack of Linux at the conference. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/sad.png&quot; alt=&quot;:(&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I share &lt;a href=&quot;http://www.realtimerendering.com/blog/hpg-2009-a-closer-look/&quot;&gt;Naty&#39;s skepticism of depth peeling
methods&lt;/a&gt;. &lt;em&gt;Bucket
Depth Peeling&lt;/em&gt; provides some promise to improve things.  The massive
use of MRT (8 targets) and the abuse of the outputs (packing 4 8-bit
values in each 32-bit output component) may limit the use of this technique.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Normal Mapping With Low-Frequency Precomputed Visibility&lt;/em&gt; built on a
bunch of algorithms that I&#39;m completely unfamiliar with.  I don&#39;t know
anything about using spherical harmonics for lighting, for example, so
I didn&#39;t get a lot out of this talk.  Add that to my list of things to
learn about before next SIGGRAPH.&lt;/p&gt;

&lt;p&gt;After lunch, I listened to a couple papers in the &lt;em&gt;Rendering and
Visibility&lt;/em&gt; session.  &lt;em&gt;An Efficient GPU-Based Approach for Interactive
Global Illumination&lt;/em&gt; was really impressive.  Still, they get less than
10 fps for some relatively simple scenes.  It seems like they have a
good grasp of the issues they still need to tackle.  Maybe by the time
they get that done hardware will be fast enough to make this generally
useful.  (Note: They also use spherical harmonics, so mod+1 for me
learning about spherical harmonics.)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Single Scattering in Refractive Media With Triangle Mesh Boundaries&lt;/em&gt;
was pretty interesting.  They&#39;ve made some reasonable simplifying
assumptions for caustics rendering, and they got some good results for
ray tracing.  It seems like something similar to &lt;a href=&quot;http://download.nvidia.com/developer/GPU_Gems_2/GPU_Gems2_ch08.pdf&quot;&gt;displacement
maps&lt;/a&gt;
could be used to achieve this faster.  Hmm... I&#39;ll add that to my list
of things to (eventually) research.&lt;/p&gt;

&lt;p&gt;Something else I noticed... every single real-time related paper
presented results rendered on Nvidia hardware, usually Geforce 280 GTX.&lt;/p&gt;

&lt;p&gt;Nit of the day: If you&#39;re going to take pictures during a talk, &lt;em&gt;turn
off&lt;/em&gt; the fake shutter sound on your digital camera.  And don&#39;t use the
*#%$ing flash either.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-07T23:05:16Z-SIGGRAPH_2009:_Day_4/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-07T23:05:16Z-SIGGRAPH_2009:_Day_4/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Mid-day noms</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-07T18:32:38Z-Mid-day_noms/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-07T18:32:38Z-Mid-day_noms/"/>






	<category term="/tags/travel" />


	<updated>2009-08-07T23:04:57Z</updated>
	<published>2009-08-07T18:29:16Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Yay!  I got to Mother&#39;s for lunch today.  I&#39;m just glad I got there
before the line got too out of hand.  I had to wait outside for a
little bit, but not for as long as these people!&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH09/20090807/Mothers_for_lunch.jpg&quot; alt=&quot;The line at Mother&amp;#39;s waiting for lunch&quot; width=&quot;512&quot; height=&quot;384&quot;&gt;
&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-07T18:32:38Z-Mid-day_noms/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-07T18:32:38Z-Mid-day_noms/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Fix bugs!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T23:34:09Z-Fix_bugs/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T23:34:09Z-Fix_bugs/"/>






	<category term="/tags/travel" />


	<updated>2009-08-06T23:37:31Z</updated>
	<published>2009-08-06T23:34:09Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;So... on my way back to the hotel, I saw this huge bug on the
sidewalk.  WTF is it?  Did it eat Tokyo?!?&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH09/20090806/scary_bug.jpg&quot; alt=&quot;Scary bug image!&quot; width=&quot;512&quot; height=&quot;384&quot;&gt;
&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T23:34:09Z-Fix_bugs/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T23:34:09Z-Fix_bugs/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2009: Day 3</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T23:25:26Z-SIGGRAPH_2009:_Day_3/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T23:25:26Z-SIGGRAPH_2009:_Day_3/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2009-08-06T23:25:26Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;For me, there is one recurring theme every year at SIGGRAPH: I need to
take more math classes.  Good grief!  Anyway... &lt;a href=&quot;http://graphics.cs.lth.se/research/papers/2009/tcu/&quot;&gt;&lt;em&gt;Automatic
Pre-Tessellation
Culling&lt;/em&gt;&lt;/a&gt; was
really interesting, but I was a bit disappointed that Tomas
Akenine-M&amp;ouml;ller wasn&#39;t presenting.  This is not to knock Jacob
Munkberg, who was a fine presenter.  Their idea is pretty straight
forward, and I similar to something I&#39;ve been thinking about for
sometime.  Basically, analyze the shader to partition it into the
parts that calculate the position and the parts that calculate
everything else.  Run the part that calculates the position, perform
culling, and conditionally run the rest.&lt;/p&gt;

&lt;p&gt;The idea I had some time ago was to do similar analysis on shaders to
pull low-frequency calculations up to higher levels.  For example,
detect calculations in the vertex shader that only change per primitive
group (i.e., calculations that only depend on uniforms) and pull them
out of the vertex shader.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Real-Time Hand-Tracking With a Color Glove&lt;/em&gt; was good research, but it
has a ways to go.  They basically store a big-ass database of hand
images.  At run-time, they search the database for an image matching
the image from the camera.  This is a gross simplification, but it&#39;s
the right general idea.  They&#39;re able to match really well, but it
soaks two cores on a quad-core C2D system.  Ouch.  From some of the
discussion after the presentation, I think there&#39;s a lot they can do
to accelerate the database search.  Maybe they&#39;ll have a follow-on
next year.&lt;/p&gt;

&lt;p&gt;Everyone loved &lt;em&gt;Achieving Eye Contact in a One-to-Many 3D Video
Teleconferencing System&lt;/em&gt;, but it was really hard for me to get excited
about it.  Yeah, it&#39;s really cool technology, but it&#39;s just too
fragile.  By fragile I mean that you have to have a bunch of special
hardware setup in a very special way.  They had a demo in the e-tech,
and that&#39;s probably to only instance of this thing that will ever
exist.  Like a couple people at the session commented &quot;it&#39;s just a
head in a box&quot;, but &quot;it&#39;s the best head in the best box&quot;.&lt;/p&gt;

&lt;p&gt;So, I didn&#39;t get to see Tomas Akenine-M&amp;ouml;ller present today, but I
&lt;em&gt;did&lt;/em&gt; get to see Ken Perlin present!  &lt;a href=&quot;http://unmousepad.org/&quot;&gt;&lt;em&gt;The
UnMousePad&lt;/em&gt;&lt;/a&gt; is just plain kick-ass.  It&#39;s a
technology for making arbitrary sized multitouch, pressure sensitive
input devices.  They had 24&quot; (diagonal) versions in the e-tech
display.  I talked to they guys at the e-tech display, and they&#39;re
going to have an SDK, with Mac, Windows, &lt;strong&gt;and Linux&lt;/strong&gt; support in a
month or so.  I think X.org needs to get one for who-t.  I talked to
the guy that has been working on the API, and I think I may have
convinced him to go to XDC.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH09/20090806/Ken_Perlin.jpg&quot; alt=&quot;Ken Perlin&quot; width=&quot;512&quot; height=&quot;384&quot;&gt;

&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH09/20090806/UnMousePad.jpg&quot; alt=&quot;UnMousePad&quot; width=&quot;512&quot; height=&quot;384&quot;&gt;
&lt;/p&gt;

&lt;p&gt;I took a late lunch because I decided to go to AMD&#39;s &lt;em&gt;Next-Generation
Graphics: The Hardware and the APIs&lt;/em&gt; talk.  They were pitching a whole
ton of Shader Model 5 stuff that they&#39;re wanting to add to GLSL.
A lot of the features are mostly useful for video decode.  The neat
thing is that I think i965 hardware can do a lot of it.&lt;/p&gt;

&lt;p&gt;In the afternoon session, &lt;a href=&quot;http://graphics.cs.uiuc.edu/~kircher/publications.html&quot;&gt;&lt;em&gt;Inferred Lighting: Fast Dynamic Lighting
and Shadows for Opaque and Translucent
Objects&lt;/em&gt;&lt;/a&gt; was
excellent.  They came up with an algorithm that, basically, straddles
deferred shading and forward shading.  I did cringe when he explained
that they do alpha materials using screendoors, but it&#39;s pretty much
the only way to do what they wanted to.  It&#39;s a cool enough algorithm
that I&#39;m going to add it to VGP352 next year.&lt;/p&gt;

&lt;p&gt;I was surprisingly interested in the last paper, &lt;em&gt;Heuristics for
Continuity Editing of Cinematic Computer-Graphics Scenes&lt;/em&gt;.  They&#39;re
system does a really good job, and I&#39;m looking forward to the paper.
From the clips they showed, they freely admit that there automated
system isn&#39;t as good as an Academy Award nominated film editor.  &lt;em&gt;lol&lt;/em&gt;.
In any case, automatically generating instant replays was something
that I was thinking about way back when I was working on Dactyl Joust
on the Jaguar.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T23:25:26Z-SIGGRAPH_2009:_Day_3/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T23:25:26Z-SIGGRAPH_2009:_Day_3/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Mother&#x27;s... yum!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T04:04:41Z-Mother_s_yum/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T04:04:41Z-Mother_s_yum/"/>






	<category term="/tags/travel" />


	<updated>2009-08-06T04:24:56Z</updated>
	<published>2009-08-06T04:04:41Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I forgot to mention in my last post... Before I came to New Orleans, I
saw an episode of &quot;Tyler&#39;s Ultimate&quot; called &lt;a href=&quot;http://www.foodnetwork.com/tylers-ultimate/ultimate-french-quarter/index.html&quot;&gt;Ultimate French
Quarter&lt;/a&gt;.
In that episode, he kept talking about this place called
&lt;a href=&quot;http://www.mothersrestaurant.net/&quot;&gt;Mother&#39;s&lt;/a&gt;.  Three or four times he
mentioned how great it was.  So, I decided to give it a try.&lt;/p&gt;

&lt;p&gt;Holy smokes!  It was &lt;em&gt;good&lt;/em&gt;!  Now, this is &lt;strong&gt;not&lt;/strong&gt; high cuisine, but
their baked spaghetti pie really hit the spot.  The cabbage and meat
(pretty sure it was beef...probably left-over corned beef) that came
as a side was to die for.  Not only was this one of the best meals
that I&#39;ve had here, but it was also one of the cheapest... second only
to my lunch today at Subway.&lt;/p&gt;

&lt;p&gt;I&#39;m pretty sure I&#39;m going to have to go there again before I leave
NOLA. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T04:04:41Z-Mother_s_yum/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T04:04:41Z-Mother_s_yum/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2009: Day 2</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T04:03:08Z-SIGGRAPH_2009:_Day_2/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T04:03:08Z-SIGGRAPH_2009:_Day_2/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2009-08-06T04:03:08Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;So, I didn&#39;t miss the &lt;em&gt;The Future of Teaching Computer Graphics for Students in
Engineering, Science, and Mathematics&lt;/em&gt; panel, but I wasn&#39;t exactly
there on time either.  It was both nice and disturbing to hear that
other teachers encounter the same problems that I do.  Hearing &lt;a href=&quot;http://www.cs.utah.edu/~shirley/&quot;&gt;Pete
Shirley&lt;/a&gt; complain that math is &quot;bad&quot;
everywhere in the US was a little surprising, but I guess it shouldn&#39;t
have been.  I have to teach, re-teach, and re-re-teach a &lt;em&gt;lot&lt;/em&gt; of math
in my graphics sequence.  I had thought this problem was localized to
the Art Institute, but I guess not.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH09/20090805/teaching_gfx_panel.jpg&quot; alt=&quot;Teaching graphics panel&quot; width=&quot;512&quot; height=&quot;384&quot;&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;em&gt;Panelists from left to right: Dave Shreiner,
Pete Shirley, Evan Hart, and Ed Angel.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There were two other highlights of the panel.  One was 
&lt;a href=&quot;http://www.cs.unm.edu/~angel/&quot;&gt;Ed Angel&lt;/a&gt; saying, &quot;It will
take you longer to get started with [OpenGL] 3.1, ... but they&#39;re
actually going to have to do something with the math and they&#39;re going
to be stronger for it.&quot;  Yeah, I figured that one out too. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;  That&#39;s
90% of the reason I stopped teaching fixed-function this year.&lt;/p&gt;

&lt;p&gt;The other highlight was the discussion &lt;em&gt;after&lt;/em&gt; the panel that Dave
Shreiner and I had with
&lt;a href=&quot;http://www.cs.brown.edu/~avd/&quot;&gt;Andries van Dam&lt;/a&gt; about
teaching graphics.  Seriously.  That&#39;s like discussing teaching
baseball with Yogi Berra!&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH09/20090805/andries_van_dam.jpg&quot; alt=&quot;Andries van Dam&quot; width=&quot;512&quot; height=&quot;384&quot;&gt;
&lt;/p&gt;

&lt;p&gt;The &lt;em&gt;Capture and Display&lt;/em&gt; session in the afternoon was a lot more
interesting than I thought it would be.  &lt;em&gt;Dense Stereo Event Capture
for the James Bond Film &quot;Quantum of Solace&quot;&lt;/em&gt; was really, &lt;em&gt;really&lt;/em&gt;
cool.  Basically, they used a few of high-speed cameras to record the
actors in a free-fall wind tunnel.  The multiple images per-frame were
then used to create really good models per-frame via a technique
called &quot;shrink wrapping.&quot;  With the approximate models, they could
view the scene from new angles and relight it.  Too bad none of their
work was actually used in the movie.&lt;/p&gt;

&lt;p&gt;The big surprise of the session was &lt;em&gt;ILM&#39;s Multitrack: A New Visual Tracking
Framework for High-End VFX Production&lt;/em&gt;.  They described a new
technique for tracking elements in a video sequence with a moving
camera.  This is used in VFX, for example, to infer the camera
position so that CG elements can be added.  I think it might be time
for an open-source package to do this.  An add-on for Blender,
perhaps?  I like the idea of using this in a demo to combine video
with real-time graphics.  &lt;em&gt;drool&lt;/em&gt;...&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Estimating Specular Roughness From Polarized Second-Order Spherical
Gradient Illumination&lt;/em&gt; was, aside from the crazy-long name, as
interesting as I hoped it would be.  The novel thing from their work
is that their data can be used to generate parameters from real
objects for arbitrary analytic BRDFs.  I really want to build one of
those &lt;a href=&quot;http://www.merl.com/projects/facescanning/&quot;&gt;geodesic lighting
domes&lt;/a&gt; used to capture
BRDF data.  Their technique only requires one camera, so I don&#39;t think
it would be &lt;em&gt;that&lt;/em&gt; hard.&lt;/p&gt;

&lt;p&gt;Unfortunately, I had to miss &lt;em&gt;Creating Natural Variations&lt;/em&gt; because the
OpenGL BoF was at the same time.  Since the BoF was at kind of a bad
time and SIGGRAPH is smaller this year, I wasn&#39;t expecting a good turn
out.  However, it was standing room only.  I suspect the traditional
free beer may have helped.  Anyway, people seemed generally pleased
with the progress that&#39;s been made.  We had a lot of good questions
and comments.  One person even asked if we were considering pixel
transfer shaders.  This was in the &lt;em&gt;old&lt;/em&gt; 3dlabs OpenGL2 proposal, but
I haven&#39;t heard any mention of it since then.  It seems almost
unnecessary when OpenCL is available.  Still... might be worth considering.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T04:03:08Z-SIGGRAPH_2009:_Day_2/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-06T04:03:08Z-SIGGRAPH_2009:_Day_2/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>nom nom nom</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-05T03:51:20Z-nom_nom_nom/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-05T03:51:20Z-nom_nom_nom/"/>






	<category term="/tags/travel" />


	<updated>2009-08-05T03:57:40Z</updated>
	<published>2009-08-05T03:51:20Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Crawfish ettoufee... nom nom nom nom...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-05T03:51:20Z-nom_nom_nom/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-05T03:51:20Z-nom_nom_nom/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2009: Day 1</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-05T02:02:59Z-SIGGRAPH_2009:_Day_1/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-05T02:02:59Z-SIGGRAPH_2009:_Day_1/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2009-08-05T02:02:59Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I managed to get to the 8:30 course, &quot;Real-Time Global Illumination
for Dynamic Scenes&quot;, on time.  Amazing!  It was well worth getting up
early, too.&lt;/p&gt;

&lt;p&gt;After the course I decided to go through the exhibitor hall.  The
previous two times that I have gone to SIGGRAPH the exhibitor hall
took a couple hours to get through.  There have been a ton of booths,
and lots of interesting stuff.  This time... not so much.  I&#39;d say it
was somewhere between a third and half the size of 2008.  I was
particularly disappointed that there was no Disney booth.  After
seeing the &lt;a href=&quot;http://www.flynnlives.com/media/video/0xendgame.aspx&quot;&gt;trailer for the new Tron
movie&lt;/a&gt;, I was
really hoping they&#39;d have some cool stuff.  /sigh.../&lt;/p&gt;

&lt;p&gt;Every year there&#39;s some hot technology that dominates most of the
booths.  The big trend that I noticed this year was stereo displays
with optically tracked 3D input devices.&lt;/p&gt;

&lt;p&gt;I decided that I didn&#39;t want an $8 cheeseburger (fries where $3
extra), so I wandered off for lunch.  I ended up at Mulate&#39;s.  This
wasn&#39;t too noteworthy except two things.  My culinary hero, Alton
Brown, went there for his show &quot;Feasting on Asphalt.&quot;  He raved about
the bread pudding.  I have to admit it was pretty damn good.  This
brings me to point #2.  A po&#39; boy, a lemonade, and the bread pudding
was $27.  Yeah, no kidding.  It is &lt;strong&gt;so expensive&lt;/strong&gt; to eat in this
town.&lt;/p&gt;

&lt;p&gt;Since I still had a pile of time before the technical paper session, I
wandered through the posters and the emerging technology exhibits.
There were a bunch of cool things in each.  The coolest posters also
have papers to be presented later in the week, so I&#39;ll save the
write-up for then.  I especially liked the &quot;Pull NAVI&quot; in the e-tech.
One person wears a helmet with ear clips, and another person operates
a joystick.  When the joystick is moved, the ear clips tug the ears in
that direction... and the person moves in that direction.  lol&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/SIGGRAPH09/20090804/Pull_NAVI.jpg&quot; alt=&quot;Pull NAVI poster&quot; title=&quot;Pull NAVI&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;http://www.cs.cornell.edu/projects/HarmonicFluids/&quot;&gt;&quot;Harmonic
Fluids&quot;&lt;/a&gt; paper was
really interesting, but a lot of the background math was beyond me.
The one problem that I had with it was the use of a 16-core system to
simulate the fluid and generate the sound.  Given that it was so
parallelizable, I was surprised that there was no mention of
implementing it on a GPU.  There was mention of &quot;acceleration&quot; in the
&quot;future work&quot; slide, but that was it.&lt;/p&gt;

&lt;p&gt;The &quot;Directable, High-Resolution Simulation of Fire on the GPU&quot;
presentation blew my freakin&#39; mind.  It turns out that this is the
fire algorithm used in &quot;Harry Potter and the Half Blood Prince&quot; when
Dumbledore burned the inferi.  It&#39;s an incredibly straightforward
algorithm.  That&#39;s not even the cool part.  The cool part is that it
was developed using OpenGL Shading Language (OpenGL 2.1 / GLSL 1.20)
on the presenters laptop.  Yeah, no kidding!&lt;/p&gt;

&lt;p&gt;My final nit... it&#39;s a steam room outside, but it&#39;s a meat locker
inside.  Seriously guys, it doesn&#39;t need to be 67 degrees in the auditoriums!&lt;/p&gt;

&lt;p&gt;I finished up the evening with the computer animation festival.  There
was some &lt;em&gt;really&lt;/em&gt; weird stuff this year.  For the first time ever
there was some real-time animation as well.  The highlight was Will
Wright (literally) in Fight Night 4 K.O.ing Tyson in the first
round. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;  Some of my favorites that I can remember the names of were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Friends?&lt;/li&gt;
&lt;li&gt;Anima&lt;/li&gt;
&lt;li&gt;Alma (really, &lt;em&gt;really&lt;/em&gt; creepy!)&lt;/li&gt;
&lt;li&gt;Project: Alpha&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&quot;Silhouettes of Jazz&quot; gets my honorable mention.  It was a cute idea,
but I would have liked to have seen more done with it.  &quot;Unbelievable
Four&quot; was also pretty good and quite correctly named.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-05T02:02:59Z-SIGGRAPH_2009:_Day_1/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-05T02:02:59Z-SIGGRAPH_2009:_Day_1/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>In one piece!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-04T13:25:04Z-In_one_piece/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-04T13:25:04Z-In_one_piece/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />

	<category term="/tags/travel" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2009-08-04T13:25:04Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I waited to post until I actually got to the conference... but I have
arrived in one piece with &lt;em&gt;no&lt;/em&gt; travel drama!  Yay me!&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-04T13:25:04Z-In_one_piece/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-04T13:25:04Z-In_one_piece/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>OpenGL 3.2 away!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-03T17:46:59Z-OpenGL_3_2_away/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-03T17:46:59Z-OpenGL_3_2_away/"/>






	<category term="/tags/OpenGL" />

	<category term="/tags/graphics" />


	<updated>2010-01-22T15:33:44Z</updated>
	<published>2009-08-03T17:46:59Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;w00t!  OpenGL 3.2 was officially posted today!  This is the third
OpenGL release in the last 12 months:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenGL 3.0 at SIGGRAPH 2008&lt;/li&gt;
&lt;li&gt;OpenGL 3.1 at GDC 2009&lt;/li&gt;
&lt;li&gt;OpenGL 3.2 at SIGGRAPH 2009&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I think at this point we&#39;ve closed most of the function gap between
OpenGL and &quot;the other API.&quot;  Now that we can expose, either through
core GL or through ARB extensions, pretty much all of what the
hardware can do, we can focus on just making OpenGL better.  This was
an intentional decision, and we took a &lt;em&gt;lot&lt;/em&gt; of flak for it.  Lots of
people we pissed that there was no Long&#39;s Peak object model, for
example.  I don&#39;t know that we&#39;ll ever get that &lt;em&gt;exactly&lt;/em&gt;, but I&#39;m
hopeful and excited for the future.&lt;/p&gt;

&lt;p&gt;Given our steady rate of progress and the positive feedback that
we&#39;ve been seeing, I &lt;em&gt;think&lt;/em&gt; the ARB has started to regain some
credibility.  As much as I liked a lot of the design ideas for Long&#39;s
Peak, it underscored one of the most important lessons of software
development: take small steps.  Any large project that tries to do a
massive redesign all in one go (see my previous blog entry about my
GLSL compiler) is going to get nothing but pain.  Big pieces of
software have to be redesigned incrementally.  Trying to do it all at
once fails (always!) because it takes too long and you can&#39;t get
feedback as to what works / doesn&#39;t work.&lt;/p&gt;

&lt;p&gt;/me gets off his soapbox... for now...&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;http://www.opengl.org/registry&quot;&gt;OpenGL 3.2 spec&lt;/a&gt; is available
from the OpenGL registry, and there is an &lt;a href=&quot;http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&amp;amp;Number=261641&quot;&gt;active
discussion&lt;/a&gt;
on the OpenGL message boards.&lt;/p&gt;

&lt;p&gt;P.S.: Don&#39;t ask me what we are planning because a) nothing is decided yet,
and b) I couldn&#39;t say anything even if we did. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-03T17:46:59Z-OpenGL_3_2_away/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-08-03T17:46:59Z-OpenGL_3_2_away/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Rubbish!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-31T05:32:21Z-Rubbish/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-31T05:32:21Z-Rubbish/"/>





	<updated>2009-07-31T05:38:09Z</updated>
	<published>2009-07-31T05:32:21Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Every now and then I get a little discouraged by the state of graphics
on Linux.  Then I try to relax by listening to some music or watching
a video... and I&#39;m reminded of what a total pile of rubbish &lt;em&gt;audio&lt;/em&gt; is
on Linux.  WTF?  Why does &lt;em&gt;nothing&lt;/em&gt; ever just work?  Why do I have to
jump through flaming hoops of death to get audio input working?  Why
can I get sound from my laptops headphone jack but not from the
internal speakers?  For cryin&#39; out loud guys... get your shit together!&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-31T05:32:21Z-Rubbish/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-31T05:32:21Z-Rubbish/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>asm-shader-rework-1 away!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-25T01:22:38Z-asm-shader-rework-1_away/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-25T01:22:38Z-asm-shader-rework-1_away/"/>






	<category term="/tags/graphics" />


	<updated>2009-07-25T01:44:27Z</updated>
	<published>2009-07-25T01:22:38Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I finally pushed my assembly shader (e.g., GL_ARB_vertex_program)
re-work branch today.  I&#39;ve been working on this off-and-on for a
couple of months now.  I finally realized that my grand plan to
rewrite the GLSL compiler was doomed to failure.  I just couldn&#39;t get
enough blocks of time to get it all done.  I kept having to work on
other things (bug fixes).  After each break it took a few days (or
more) to figure out what I was working on and get back into it.  By
the time I got back into it, I had to break away to work on other
things.  &lt;em&gt;FAIL&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;So, now I have a new plan.&lt;/p&gt;

&lt;p&gt;The areas where I really want to work are optimizing IR and generating
final machine code from IR.  Phases 1 and 2 of the asm-shader-rework-1
branch support this.  I&#39;ve rewritten the ARB program parser, that&#39;s
phase 1.  Phase 2 is to add support for some of the later Nvidia
layered extensions.  These extension expose the full instruction set
required to support GLSL.  That&#39;s where the fun beings.&lt;/p&gt;

&lt;p&gt;This is the point, phase 3, where I can start experimenting with IRs.
I can bridge from the assembly code to an IR and back.  Using the full
assembly interfaces I can pick apart bits of complex shaders and dump
them into the IR.  I expect to go through several revisions of the IR
before I move to the next phase.  GPUs are really different from CPUs,
so I expect that an IR that works well here will be different from,
say, what GCC uses.  I really need a test bed for experimentation.&lt;/p&gt;

&lt;p&gt;I don&#39;t want to think about what comes next until I get quite a bit
more along.  My hope is that the current code base will settle down
over the next week or two, and I can merge it into master for the Mesa
7.6 release.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-25T01:22:38Z-asm-shader-rework-1_away/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-25T01:22:38Z-asm-shader-rework-1_away/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>The Eagle is blurry.</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-24T23:40:46Z-The_Eagle_is_blurry/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-24T23:40:46Z-The_Eagle_is_blurry/"/>





	<updated>2009-07-24T23:52:33Z</updated>
	<published>2009-07-24T23:40:46Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I was so excited when I heard that NASA&#39;s Lunar Reconnaissance Orbiter
would orbit the moon close enough to &lt;a href=&quot;http://www.nasa.gov/mission_pages/LRO/multimedia/lroimages/apollosites.html&quot;&gt;photograph the Apollo landing
sites&lt;/a&gt;.
Not only was I excited to be able to see the sites for myself, but I
was excited to, hopefully, silence at least one or two of those
ass-hats who believe the landings were faked.  But I&#39;m not sure this
will convince anyone:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/images/apollo11.jpg&quot; alt=&quot;Apollo 11 image&quot; title=&quot;Apollo 11&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Hmm... maybe the landings &lt;em&gt;were&lt;/em&gt; faked.  Afterall, Buzz, Neil, and the
guys didn&#39;t bring back &lt;strong&gt;any&lt;/strong&gt; green cheese...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-24T23:40:46Z-The_Eagle_is_blurry/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-24T23:40:46Z-The_Eagle_is_blurry/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2009 Preview</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-23T00:16:12Z-SIGGRAPH_2009_Preview/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-23T00:16:12Z-SIGGRAPH_2009_Preview/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2009-07-23T00:16:12Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Yay me!  I get to go to SIGGRAPH again this year.  As usual the
program looks really good, and there appears to not be enough hours in
the day.  Here are my picks:&lt;/p&gt;

&lt;p&gt;
&lt;u&gt;Tuesday&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Real-Time Global Illumination for Dynamic Scenes (8:30am -
10:15am)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The odds of me getting to this course on time are low, but I&#39;m very
interested to hear what they have to say.  This is an area of
real-time graphics that I don&#39;t really know that much about.  I&#39;d like
to fix that.&lt;/p&gt;

&lt;p&gt;&lt;/li&gt;&lt;/p&gt;

&lt;p&gt;&lt;li&gt;&lt;em&gt;Fluid Simulation (3:45pm - 6:00pm)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;p&gt;I&#39;m pretty curious to &lt;em&gt;hear&lt;/em&gt; the results of &quot;Harmonic
Fluids&quot;.  I&#39;m also pretty interested in &quot;Directable, High-Resolution
Simulation of Fire on the GPU&quot;.  The bit about &quot;Simulation resolutions
as high as 2048 can be computed in a &lt;em&gt;few hours&lt;/em&gt; by
parallelizing work among multiple GPUs&quot; (emphasis mine) is a bit
scary, though.&lt;p&gt;
&lt;/li&gt;&lt;/p&gt;

&lt;p&gt;&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;
&lt;u&gt;Wednesday&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;em&gt;The Future of Teaching Computer Graphics for Students in
Engineering, Science, and Mathematics (8:30am - 10:15am)&lt;/em&gt;

&lt;p&gt;This panel is extremely relevant to my work at the Art Institute.
I know three of the four people on the panel, so I know it will be
good.  However, I&#39;d really like to go to the &quot;Build Your Own 3D
Scanner&quot; course that is at the same time.  meh.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;Capture and Display (1:45pm - 3:30pm)&lt;/em&gt;

&lt;p&gt;This session doesn&#39;t have a lot that I&#39;m interested in, but
&quot;Estimating Specular Roughness From Polarized Second-Order Spherical
Gradient Illumination&quot; really caught my attention.&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;Creating Natural Variations (3:45pm - 6:00pm)&lt;/em&gt;

&lt;p&gt;For me, this probably the most interesting session of the whole
conference.  I&#39;m particularly interested in &quot;Procedural Noise Using Sparse
Gabor Convolution&quot; and &quot;Self-Organizing Tree Models for Image
Synthesis&quot;.  Unfortunately, there are a couple papers in the
&lt;em&gt;Imaging and Rendering Pipeline&lt;/em&gt; session, which occurs at the
same time, that I&#39;m also interested in.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;u&gt;Thursday&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Rendering Methods and Systems (8:30am - 10:15am)&lt;/em&gt;

&lt;p&gt;I &lt;em&gt;cannot&lt;/em&gt; miss &quot;Automatic Pre-Tessellation Culling.&quot;
Seriously.  For a real-time graphics enthusiast to miss a SIGGRAPH
presentation by Tomas Akenine-M&amp;ouml;ller is just silly.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;Interacting With Hands, Eyes, and Images (10:30am -
12:15pm)&lt;/em&gt;

&lt;p&gt;I&#39;m getting fed up with using a mouse to interact with objects in
3-space.  Over the last couple years, there have been some interesting
developments in this area.  &quot;Real-Time Hand-Tracking With a Color
Glove&quot; covers one of the more promising (IMHO) areas of current
research.  &quot;The UnMousePad - An Interpolating Multi-Touch
Force-Sensing Input Pad&quot; also seems like it may have some promise.&lt;/p&gt;

&lt;p&gt;This is another case where conflicts defeat me!  I&#39;d also like to
attend &quot;Building Story in Games: No Cut Scenes Required&quot;, but it&#39;s
scheduled at the same time.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;3D and the Cinematic in Games (3:45pm - 5:30pm)&lt;/em&gt;

&lt;p&gt;Most of the papers in this session aren&#39;t too interesting to me,
but &quot;Inferred Lighting: Fast Dynamic Lighting and Shadows for Opaque
and Translucent Objects&quot; hits one of my favorite topic: shadows.
Yeah, I&#39;ll be there.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;u&gt;Friday&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;Friday looks to be the crazy day of rendering overload!  w00t!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Rendering (8:30am - 10:15am)&lt;/em&gt;

&lt;p&gt;This summer is the first time in my graphics classes that I&#39;m
covering ambient occlusion.  &quot;Multi-Layer, Dual-Resolution
Screen-Space Ambient Occlusion&quot; couldn&#39;t come at a better time!  It&#39;s
a good thing that I&#39;m covering AO &lt;em&gt;after&lt;/em&gt; SIGGRAPH. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&quot;RACBVHs: Random-Accessible Compressed Bounding Volume Hierarchies&quot;
should be pretty interesting as well.  This is another topic that I
intend to cover this summer.  I may have to change the reading list
for the class.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;Real Fast Rendering (10:30am - 12:15pm)&lt;/em&gt;

&lt;p&gt;Three of the four talks in this session, &quot;Volumetric Shadow
Mapping&quot;, &quot;Bucket Depth Peeling&quot;, and &quot;Normal Mapping With
Low-Frequency Precomputed Visibility&quot;, are in areas of high interest
for me (apologies to the authors of the fourth paper in the session).
Last year there were quite a few shadow rendering papers, but this
appears to be the only one (and it&#39;s a talk, not a paper) this
year.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;Rendering and Visibility (1:45pm - 3:30pm)&lt;/em&gt;

&lt;p&gt;&quot;Apative Global Visibility Sampling&quot; and &quot;An Efficient GPU-Based
Approach for Interactive Global Illumination&quot; seem like the winners in
this session.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-23T00:16:12Z-SIGGRAPH_2009_Preview/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-07-23T00:16:12Z-SIGGRAPH_2009_Preview/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>L4F FTL</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-06-25T06:48:22Z-L4F_FTL/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-06-25T06:48:22Z-L4F_FTL/"/>






	<category term="/tags/games" />


	<updated>2009-12-05T04:33:38Z</updated>
	<published>2009-06-25T06:48:22Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I really like the game Left4Dead, but it seems to have the &lt;em&gt;worst&lt;/em&gt; on-line
community of any game I have ever played.  I played Versus mode using &quot;Quick
Start&quot; (because all my L4D friends are away on vacation) for a hour tonight.
I that time I saw no less than 15 rage quits, 10 TKers, and was vote-kicked,
for no apparent reason 4 times.  It was pretty bad.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-06-25T06:48:22Z-L4F_FTL/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-06-25T06:48:22Z-L4F_FTL/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Donerail</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/2009-06-21T23:56:23Z-Donerail/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-06-21T23:56:23Z-Donerail/"/>






	<category term="/tags/music" />


	<updated>2009-12-20T06:12:33Z</updated>
	<published>2009-06-21T23:56:23Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I went and saw my friend&#39;s brother&#39;s band, Donerail, play last night.  It was
the first time I&#39;ve seen them play, and they were pretty good.  Ending with
&quot;Mother&quot; was a bit silly. :P  I was hoping to see Dmitri there, but I
understand why he didn&#39;t come.  I&#39;ll probably post some pics later...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-06-21T23:56:23Z-Donerail/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/2009-06-21T23:56:23Z-Donerail/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Got an A!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/got_an_a/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/got_an_a/"/>





	<updated>2009-06-18T03:39:49Z</updated>
	<published>2009-06-18T04:36:57Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Somehow, and I really don&#39;t know how, I got an A in my Theory of Computation
class.  Given how poorly I &lt;em&gt;know&lt;/em&gt; I did on the final, this is more than just
a little surprising.  NO COMPLAINTS HERE!!!&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/got_an_a/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/got_an_a/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Cat barf at dawn</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/cat_barf/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/cat_barf/"/>





	<updated>2009-06-16T17:44:55Z</updated>
	<published>2009-06-16T18:41:36Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;There are just so few things in life more awesome the being woken up at 4AM by
your cat &lt;em&gt;barfing on you&lt;/em&gt;.  Seriously.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/cat_barf/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/cat_barf/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Return of the BLOG</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/return_of_the_blog/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/return_of_the_blog/"/>





	<updated>2009-03-17T05:35:39Z</updated>
	<published>2009-03-17T04:34:07Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;So... my blog is back, and things are very different.  I had been using
some blog software called
&lt;a href=&quot;http://www.kiyuko.org/software/poster&quot;&gt;Poster&lt;/a&gt;.  I liked it.  It was
dead simple and mostly did what I wanted.  However, I had some spam
problems.  I hated it.  It was annoying and mostly made me hate
bloging.  Poster had a built-in captcha, but I could never get it to
work on the fdo server.  It seem to require the mcrypt package for
PHP, but even after installing that (and some following PHP fail), it
didn&#39;t work.&lt;/p&gt;

&lt;p&gt;At keithp&#39;s urging, I have decided to join the cool kids and use
ikiwiki.  To be honest, the jury is still out on the ikiwiki
transition.  It works, and it has a giant pile of features, but it has
a somewhat steeper learning curve.  I&#39;ll figure it out...it will just
take more than 20 minutes.&lt;/p&gt;

&lt;p&gt;One thing that I &lt;em&gt;do&lt;/em&gt; like about ikiwiki is that I can use a regular
text editor and spell checker to write blog posting.  Death to browser
based editors!  Death to &quot;you were idle for 20 minutes while writing
that post, please log back in while I lose everything you wrote&quot;!&lt;/p&gt;

&lt;p&gt;I have moved over all of my postings, with correct dates, from my old
blog.  The comments have, sadly, been lost.  Not counting the spam,
there were only about 10 comments total, so it&#39;s not a significant loss.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/return_of_the_blog/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/return_of_the_blog/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>I has sad.</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/i_has_sad/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/i_has_sad/"/>





	<updated>2009-02-05T23:56:05Z</updated>
	<published>2008-11-11T01:25:07Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Today was the conclusion of a completely miserable weekend.&lt;/p&gt;

&lt;p&gt;Last week we noticed that Fancy Feet, one of our cats, wasn&#39;t really eating.  If we gave her some canned food mixed with dry, she would eat a little bit.  We thought she was just being finicky...you know, &lt;em&gt;a cat&lt;/em&gt;.  On Thursday she stopped eating almost altogether.  If we gave her just canned food she would lick some of the juice, but that was it.  We started measuring her consumption on Thursday.  On Thursday and Friday &lt;em&gt;combined&lt;/em&gt; she ate about half an ounce of food.&lt;/p&gt;

&lt;p&gt;On Saturday morning we took her to &lt;a href=&quot;http://www.northwestvetspecialists.com/&quot;&gt;Northwest Veterinary Specialists&lt;/a&gt;.  She was really dehydrated and had a pre-existing heart murmur.  She stayed there overnight with an IV to rehydrate.  She continued to not eat.  Neither my wife or I really slept at all Saturday night.  I think we finally got to bed around 3:30AM.  The anxiety of not knowing what was wrong with Fancy was just eating us up.&lt;/p&gt;

&lt;p&gt;We brought her home on Sunday.  We made a plan to take her to our regular vet on Monday for an abdominal ultrasound.  Around 11:30PM she started breathing really heavily and in an odd manner.  We took another trip to NWVS.  They didn&#39;t find anything (new) wrong with her.  An x-ray showed that her heart was quite abnormally shaped and her lymph nodes were enlarged.  We finally got back home with Fancy around 3:00AM.&lt;/p&gt;

&lt;p&gt;&lt;p&gt;That brings us to today.  &quot;Giant pile of suck&quot; doesn&#39;t even begin to cover it.  We dropped her off out our regular vet as soon as they opened.  We knew that they were going to have to fit her into their full schedule, so we wanted to get her there early.  She was finally able to get a chest echo around noon and an abdominal ultrasound around 2:30.  The ultrasound showed a number of unmistakable spots on her liver: cancer.&lt;p&gt;&lt;/p&gt;

&lt;p&gt;She had been really miserable for the last few days.  Usually, no matter how agitated she was, if we pet her and kissed her on the top of the head enough she would eventually start purring.  We hadn&#39;t been able to get her to purr since Saturday afternoon.  The only thing left to do was make that horrible, painful choice that almost every pet owner has to make at some point.&lt;/p&gt;

&lt;p&gt;We&#39;re going to miss her a lot.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://people.freedesktop.org/~idr/images/Fancy_and_Minnie_Nov06.jpg&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;That&#39;s Fancy on the left.  The kitty on the right is Minnie.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/i_has_sad/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/i_has_sad/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Out with the old...</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/out_with_the_old/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/out_with_the_old/"/>





	<updated>2009-02-05T23:56:05Z</updated>
	<published>2008-11-05T04:23:57Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Everyone and their uncle has something to say about the election
tonight, so I&#39;ll be brief... Today is a great day for America. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/out_with_the_old/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/out_with_the_old/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Where art thou, Delphi3D.net?</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/where_art_thou_delphi3d_net/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/where_art_thou_delphi3d_net/"/>






	<category term="/tags/graphics" />


	<updated>2009-03-17T06:37:15Z</updated>
	<published>2008-10-03T22:21:55Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Oh nos!  Something seems to have gone wrong with
&lt;a href=&quot;http://www.delphi3d.net/&quot;&gt;Delphi3D.net&lt;/a&gt;!  All I get is &quot;403
Forbidden&quot;.  There haven&#39;t been any updates for years, but the
database of which card / driver combinations support which OpenGL
versions / extensions has been really, really useful to me (and
others) over the years.&lt;/p&gt;

&lt;p&gt;Any ideas what the heck happened?&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/where_art_thou_delphi3d_net/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/where_art_thou_delphi3d_net/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGARPH 2008: Day 4</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_4/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_4/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2008-08-16T01:19:45Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;&lt;p&gt;Meh.  This trip is making me feel &lt;em&gt;old&lt;/em&gt;.  Each day I feel
more and more exhausted.  This morning I woke up in plenty time to get
to the 8:30 session, but I just didn&#39;t feel like going...and slept for
another hour-and-a-half instead.  After getting to the convention
center, I took a long lunch and a walk down
&lt;a href=&quot;http://en.wikipedia.org/wiki/Figueroa_Street&quot;&gt;Figueroa
Street&lt;/a&gt;.
El Pollo Loco is the only fast food restaurant I have ever been to
that had horchatta.  Too bad it was &lt;em&gt;horrible&lt;/em&gt; horchatta.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808151239 - Figueroa Street.jpg&quot; width=&quot;512&quot; height=&quot;341&quot; /&gt;
&lt;/p&gt;

&lt;hr width=&quot;33%&quot; /&gt;

&lt;p&gt;The painting and sketching session was great.  It is the only
session that I have attended that I think keithp or cworth would have
enjoyed.  Both
&lt;a href=&quot;http://artis.imag.fr/Publications/2008/OBWBTS08/&quot;&gt;&quot;Diffusion
Curves: A Vector Representation for Smooth-Shaded Images&quot;&lt;/a&gt;
and 
&lt;a href=&quot;http://graphics.cs.cmu.edu/projects/gradient-paint/&quot;&gt;&quot;Real-Time
Gradient-Domain Painting&quot;&lt;/a&gt; 
seemed right up cworth&#39;s alley.  I think the presenter of the second
paper, Jim McCann, may be a long-lost cousin of anholt.  Their sample
application is also available &lt;a href=&quot;http://gradient-paint.com/&quot;&gt;on-line&lt;/a&gt;.
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808151411 - Jim McCann.jpg&quot; width=&quot;512&quot; height=&quot;288&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://nis-ei.eng.hokudai.ac.jp/~doba/pub_doba.html&quot;&gt;&quot;Feedback
Control of Cumuliform Cloud Formation Based on Computational Fluid
Dynamics&quot;&lt;/a&gt;
wasn&#39;t exactly what I was expecting.  (What&#39;s the deal with crazy-long
names of papers?!?)  The presented algorithm was able to generate
plausible clouds constrained to a 2D contour.  The problem that I had
with it was that the sequence of cloud &lt;em&gt;generation&lt;/em&gt; was not
plausible.  I don&#39;t think that was a goal of their algorithm, but it
does seem like a useful feature.  Anyway...I don&#39;t want to bash their
work because it was good work.&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.mrl.nyu.edu/~gingold/shading/&quot;&gt;&quot;Shading-Based
Surface Editing&quot;&lt;/a&gt;
presented a really interesting tool.  Basically, the artist paints
shading (darker areas) on a lit 3D model.  The algorithm then rotates
surfaces under the stroke to match the shading.  The presenter pointed
out that this tool is really useful for artists that are already
familiar with shading in 2D drawing.  He mentioned in passing that it
could be useful to &lt;em&gt;teach&lt;/em&gt; shading.  I think that particular
point should be explored further.  I can envision a sort of feed-back
based expert system to teach shading.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; /&gt;

&lt;p&gt;The first half of the last session wasn&#39;t too interesting to
me...and I didn&#39;t pay that much attention.&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.cg.tuwien.ac.at/research/publications/2008/LIPP-2008-IEV/&quot;&gt;
&quot;Interactive Visual Editing of Grammars for Procedural Architecture&quot;&lt;/a&gt;
did catch my interest.  Though, it wasn&#39;t so much with the topic of
the paper.  I hadn&#39;t realized that grammar based generation of
geometry had gotten so sophisticated.  It has come a long way since
Logo!  (heh...maybe I am as old as this trip is making me feel).&lt;/p&gt;

&lt;p&gt;I&#39;m such a trooper!  I stayed for
&lt;a href=&quot;http://oregonstate.edu/~cheng/street_sig08/street_project.htm&quot;&gt;
&quot;Interactive Procedural Street Modeling&quot;&lt;/a&gt;...the last technical
paper of SIGGRAPH 2008.  The idea is really simple, but it produces
very effective results.  The user draws some guiding structures on the
blank map.  A tensor field is generated from those guiding structures.
The user can edit that tensor field by adding noise, creating or
moving guiding structures, etc.  Once the user is satisfied, streets
are generated at semi-random positions within the tensor field.
&lt;/p&gt;

&lt;p&gt;It was cool to see a paper about designing procedural buildings
immediately followed by a paper about designing procedural
cities...where those buildings might be.&lt;/p&gt;

&lt;p&gt;I&#39;ll &lt;em&gt;probably&lt;/em&gt; do an update about the poster sessions after
I get back.  A couple of them were really cool, so they deserve some
comment.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_4/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_4/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGARPH 2008: Day 3</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_3/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_3/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2008-08-15T01:25:43Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;The morning session, &quot;Teaching Computer Graphics in Context in
Computer Science,&quot; was not at all what I was expecting.  It was about
teaching graphics in contexts where graphics are actually used (i.e.,
scientific visualization).  Since I&#39;m teaching graphics to game
programmers in a game programming department, this isn&#39;t really an
issue for me.  Meh.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; /&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808141736 - Nokia Theater.jpg&quot; width=&quot;512&quot; height=&quot;288&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;At 10:30 I blew off all the technical sessions and went to the
computer animation festival.  Holy smokes...the Nokia Theater is
impressive!  The place is &lt;em&gt;huge&lt;/em&gt;, and the screen looked great.
Oh, and the animation was pretty cool too.  I especially enjoyed 
&lt;a href=&quot;http://www.youtube.com/watch?v=WFarV-Pm2y8&quot;&gt;&quot;Our
Wonderful Nature,&quot;&lt;/a&gt; 
&lt;a href=&quot;http://www.oktapodi.com/&quot;&gt;&quot;Oktapodi,&quot;&lt;/a&gt; and
&lt;a href=&quot;http://www.cgw.com/ME2/dirmod.asp?sid=&amp;amp;nm=&amp;amp;type=Publishing&amp;amp;mod=Publications%3A%3AArticle&amp;amp;mid=8F3A7027421841978F18BE895F87F791&amp;amp;tier=4&amp;amp;id=4925725FFB5A4BA2B187FD7C362A8B5D&quot;&gt;
&quot;Boldies.&quot;&lt;/a&gt;
I couldn&#39;t find a better link, sorry. The excerpts from the movie
&lt;a href=&quot;http://www.imdb.com/title/tt0997147/&quot;&gt;&quot;Dai Nipponjin&quot;&lt;/a&gt;
were good enough that I&#39;ll have to see if Netflix has the movie.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; /&gt;

&lt;p&gt;After lunch I went to the &quot;Beyond Programmable Shading: In Action&quot;
session.  The most interesting bit was Jon Olick&#39;s (Id Software) talk
about parallel programming in games.  I was especially interested in
the bit about ray casting and voxels in games.  The demo running at 60
- 30 fps of a &lt;strong&gt;7 million&lt;/strong&gt; polygon model directly
exported from Z Brush blew me away.  The progressive levels of detail
in the model were just awesome.  You could zoom all the way in to see
finger prints on the character&#39;s hand.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; /&gt;

&lt;p&gt;In the final afternoon session, the first talk that I saw 
&lt;a href=&quot;http://www.cs.huji.ac.il/~raananf/projects/defog/index.html&quot;&gt;
&quot;Single Image Dehazing,&quot;&lt;/a&gt; was cool, but way, &lt;em&gt;way&lt;/em&gt; over my
head.  I am reminded that I really need some more &lt;em&gt;undergrad&lt;/em&gt;
math.  teh suck.&lt;/p&gt;

&lt;p&gt;The next paper, 
&lt;a href=&quot;http://www.cse.cuhk.edu.hk/~leojia/projects/motion_deblurring/index.html&quot;&gt;
&quot;High-Quality Motion Deblurring from a Single Image,&quot;&lt;/a&gt; also contained a lot of math that was beyond me, but I got a
lot of the general ideas.  I don&#39;t think I can summarize it in a few
sentences.  The purpose is to deblur images where either the camera or
the subject was moving during exposure.  The results that they
achieved were quite good.  Several of the source images were
completely unintelligible, but the deblurred images looked great.
&lt;/p&gt;

&lt;p&gt;They said that their software is available, so
I&#39;ll have to take a look at it.  Maybe after I get back home I&#39;ll try
it on one of my
&lt;a href=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808130948 - Microfacets.jpg&quot;&gt;
pictures&lt;/a&gt; from yesterday.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; /&gt;

&lt;p&gt;&lt;strike&gt;The SIGGRAPH reception is at the Dodger&#39;s game tonight, so I&#39;ll
&lt;em&gt;probably&lt;/em&gt; update this entry after the game...it will depend on
how late it goes / how tired I am.&lt;/strike&gt;&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808142019 - Us at Dodger Stadium.jpg&quot; width=&quot;512&quot; height=&quot;288&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;We went to the game, but we left at the seventh inning stretch.  Rose had a horrible headache, and the noise (and a couple annoying people behind us) was just too much.  We did get to see a homerun go over the fence pretty close to us in the 5th (I think).&lt;/p&gt;

&lt;p&gt;While the &lt;em&gt;game&lt;/em&gt; was fun, getting into and out of the parking lot was a giant pile of suck.  There are no useful signs anywhere, so you have no idea where to park to be close to your seats.  As luck would have it, we parked, literally, at the exact opposite end of the stadium from the SIGGRAPH reception.  Because the stadium is built on a hill, about 80% distance back to the car was up long stretches of stairs.  &lt;em&gt;But wait, there&#39;s more!&lt;/em&gt;  The lot is partitioned into smaller parking areas by number.  We were parked in area 11.  However, once we got around to the correct side of the stadium we could only find parking areas with &lt;em&gt;letters&lt;/em&gt;.  We were by area P.  Of course there were no signs or other directions.  After wandering around for more than 10 minutes, I found someone to ask.  We had to go through a non-obvious gate through a hedge and down a hill to get to area 11.  Genius.  Pure genius.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808142103 - LA from Dodger Stadium.jpg&quot; width=&quot;512&quot; height=&quot;288&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;I did get a couple nice pictures of LA from the lot.  Other than that, I&#39;m seriously getting tired of LA.  I overheard someone at the conference make a keen observation, &quot;Everything in LA is 10 miles from everything else.  It&#39;s kind of stupid.&quot;  Well said.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_3/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_3/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGARPH 2008: Day 2</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_2/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_2/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2008-08-14T06:00:00Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Add one more nit to pick with the iPhone: turning off the &lt;em&gt;ringer
volume&lt;/em&gt; also turns of the &lt;em&gt;alarm clock volume&lt;/em&gt;.  Fail.  So,
I got up late today and missed the whole first technical paper session.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;I ended up going to the Nvidia tech talk about rendering realistic
hair in real-time.  That was actually quite interesting.
Unfortunately a lot of the details of the algorithm presented depend
on new &lt;em&gt;DX11&lt;/em&gt; shader stages.  Still, pretty much all of it
could be done with multiple passes on DX10 or OpenGL 3.0.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; /&gt;

&lt;p&gt;Since I was at the Nvidia sessions, I only caught the last paper,
&lt;a href=&quot;http://www.shuangz.com/projects/aniso/&quot;&gt;
&quot;Modeling Anisotropic Surface Reflectance With Example-Based
Microfacet Synthesis,&quot;&lt;/a&gt; in this session.  I was really impressed with
the results they were able to achieve with a really simple BRDF
measurement rig.  Instead of the usual geodesic dome with a dozen or
more cameras and scores of lights, they had a single camera with 20 or
so lights on a moving track.  You can&#39;t really tell from the picture,
but on the big screen it looked like it was build from Legos.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808130948 - Microfacets.jpg&quot; width=&quot;512&quot; height=&quot;289&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;Seriously.  I could build that rig in my basement.  The real magic
is in the algorithm the extrapolates the &quot;missing&quot; data from the
measured data.  There are, of course, some types of materials where it
fails, but for a lot of stuff it works really well.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; /&gt;

&lt;p&gt;The two shadow mapping papers, as predicted, were the most
interesting to me, even though I missed the entire first paper.
Specifically,
&lt;a href=&quot;http://www.idav.ucdavis.edu/publications/print_pub?pub_id=919&quot;&gt;
&quot;Resolution Matched Shadow Maps&quot;&lt;/a&gt; was a great paper that
was very well presented.  I had avoided hierarchical shadow map
techniques in VGP353 specifically because of the frame-to-frame
variability.  This effectively makes these techniques useless for
games.  However, these guys have managed to eliminate that fault,
speed up the algorithm, &lt;em&gt;and&lt;/em&gt; make it easier to implement.  Can
it even be real?&lt;/p&gt;

&lt;p&gt;In a way, I feel bad for the researchers from
&lt;a href=&quot;http://gamma.cs.unc.edu/logpsm/&quot;&gt;&quot;Logarithmic
Perspective Shadow Maps.&quot;&lt;/a&gt;  Their algorithm is very useful &lt;em&gt;in
theory&lt;/em&gt;, but it relies on a rasterization primitive (logarithmic
rasterization) that will likely never be implemented.  Once hardware
is fast enough to implement their technique generally, it will be fast
enough to do things like &quot;Resolution Matched Shadow Maps&quot; at full
speed.  This will make their technique irrelevant.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; /&gt;

&lt;p&gt;I missed the first few minutes (this is my theme for today) of
&quot;Multiresolution Texture Synthesis,&quot; but I got a lot out of it.  The
technique uses &quot;exmplar&quot; images to roughly describe the synthesized
texture at multiple levels of details.  These exemplars are connected
in a graph that can contain cycles.  This allows textures with
infinite detail.  There was an example, that reminded me of some
infinite zoomer demos on the Amiga, where an image of sand was used to
create an infinite zoom.  Very, very cool.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/research/pubs/view.aspx?tr_id=1277&quot;&gt;&quot;Inverse Texture Synthesis&quot;&lt;/a&gt;
 is a very clever idea.  Most texture
synthesis algorithms take some sort of sample texture (some algorithms
call it an exemplar or an epitome) and use that to generate a larger
image.  Usually the sample texture is cut, either by hand or
algorithmically, from an original texture.  This algorithm starts with
the larger image, generates a novel sample texture, and uses that to generate
a alrger texture.  The sample texture is usually not directly cut from
the original texture, but it is still representitive of the whole
original.  This is generated using a &quot;control map&quot; that describes
different regions of the texture.  One of the examples is a &quot;ripeness&quot;
control map for a banana that corresponds to black versus yellow
regions of the banana.&lt;/p&gt;

&lt;p&gt;The really cool thing about this is that it allows an artist to
generate a novel control map for an object.  A new texture is
generated using the sample texture and the control map that matches
what the artist expects.  (That was worded poorly, but I think you get
what I mean.)&lt;/p&gt;

&lt;p&gt;&quot;Lapped Solid Textures&quot; was also a nice advancement.  It probably
not as directly useful to me, though.  I hope to see games use this
technique to make objects &quot;solid.&quot;  The other interesting thing about
this paper is that the author suggests a number of areas further
research that would be within the reach of undergrads (&lt;em&gt;wink, wink,
nudge, nudge&lt;/em&gt;).  One of those areas being to improve the user
interface for editing the texture exemplars used in this approach.
This differs from the 2D patched used by Hoppe, et al because they are
volumetric.&lt;/p&gt;

&lt;p&gt;In the final paper of the session, 
&lt;a href=&quot;http://graphics.ucsd.edu/~matthias/publications.htm&quot;&gt;&quot;Anisotropic Noise&quot;&lt;/a&gt;
addresses
one of the issues with noise that has bothered me for years.
It is pretty much impossible correctly filter noise that is generated
from textures.  Octave truncation works, but it always ends up with
textures that are &lt;em&gt;both&lt;/em&gt; under-sampled and over-sampled.  FAIL
+ FAIL.  Using some off-line processing to generate some noise
&quot;tiles,&quot; correctly anisotropically filetered noise textures can be
generated.  The hard part is the off-line processing, and the
real-time processing is trivially higher than octave truncation.&lt;/p&gt;

&lt;p&gt;As an added bonus, this algorithm can fix &quot;texture distortion.&quot;
Imagine a terrain where the assigned texture coordinates are the X/Y
values.  Areas with steep slopes have more texels than flat areas, and
this results in stretching.  Using the same anisotropic technique can
fix this problem.  WIN + WIN.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; /&gt;

&lt;p&gt;The OpenGL BoF went really well, I think.  Nobody showed up with
torches or pitchforks.  Of course, the free beer may have helped.  The
most useful part of it for me was the mingling period after all the
presentations.  I talked with quite a few people and, contrary to the
/. reports, nobody was furious.  &lt;em&gt;Whew!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; Added links to &lt;em&gt;most&lt;/em&gt; of the papers.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_2/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_2/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH 2008: Day 1</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_1/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_1/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2008-08-13T05:24:09Z</published>

	<content type="html" xml:lang="en">
	&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808120749 - Outside LACC.jpg&quot; width=&quot;512&quot; height=&quot;288&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In spite of various travel failure, I managed to get to the Convention
Center by about 7:50AM.  Registration opened at 8:00, and I was done
by 8:15...that even includes the time it took me to go back and get
&lt;em&gt;my&lt;/em&gt; conference badge.  I was originally given someone else&#39;s
badge.  Oops.&lt;/p&gt;

&lt;p&gt;While I was waiting in line, I took a quick peek at /. on my phone.
The story about &lt;a href=&quot;http://tech.slashdot.org/tech/08/08/11/2135259.shtml&quot;&gt;developer reaction to OpenGL
3.0&lt;/a&gt; was
depressing, at best.  I knew that people were going to be disappointed
and upset, but I am a little surprised at the level of anger that
people seem to be expressing.  I can only hope that this is being over
exaggerated on /.&lt;/p&gt;

&lt;p&gt;One other random thing...I took a bus to downtown (the cab from
downtown to the hotel was $50 yesterday).  It was an express
&quot;commuter&quot; bus.  The vast majority of the people on it were
30-something / 40-something women.  In the front part of the bus there
were 11 women to 1 man (me).  I didn&#39;t take a census of the rest of
the bus, but the gender distribution appeared to be similarly skewed.
Is it my imagination, or does that seem odd?&lt;/p&gt;

&lt;hr width=&quot;33%&quot; align=&quot;center&quot; /&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808120838 - Factoring Repeated Content Within and Among Images.jpg&quot; width=&quot;512&quot; height=&quot;288&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I was able to make it to the first paper session.  In a lot of
ways, the material in &quot;Factoring Repeated Content Within and Among
Images&quot; reminded me of MPEG macro blocks and motion vectors.  Their
technique applies to still images, however.  For certain types of
images, they are able to achieve very high quality at very good
compression ratios.  In particular, images with very high frequency
information (they used an image of zebras standing in grass) tend to
not work well.  The other advantage of their technique is that
decompression can be very easily implemented in a fragment shader.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;http://phototour.cs.washington.edu/findingpaths&quot;&gt;interactive photo
tourism&lt;/a&gt; software
presented next was, I have to admit, one of the coolest things I&#39;ve
ever seen.  I especially like the ability to use &quot;community&quot; photos to
find paths between sequences of personal photos to create smooth
transitions.  The vacation photo slide show will &lt;em&gt;never&lt;/em&gt; be the
same!&lt;/p&gt;

&lt;hr width=&quot;33%&quot; align=&quot;center&quot; /&gt;

&lt;p align=&quot;center&quot;&gt;
&lt;img src=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808121054 - Larrabee.jpg&quot; width=&quot;512&quot; height=&quot;288&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I was robbed!  Michael Abrash &lt;em&gt;wasn&#39;t&lt;/em&gt; one of the
presenters of the Larrabee paper.  We got Larry Seiler instead (no
offense, Larry).  That&#39;s the end of the bad news.  Let me say this
now: Larrabee is going to change everything.  I&#39;m still a bit in shock
at how awesome the &lt;em&gt;architecture&lt;/em&gt; is.  Having worked on Cell, I
believe that Larrabee will be everything that Cell &lt;em&gt;should
have&lt;/em&gt; been.&lt;/p&gt;

&lt;p&gt;Larrabee fixes two significant limitations of the Cell architecture
with respect to implementing a &quot;standard&quot; graphics pipeline.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A normal memory architecture.  Each core accesses memory via L2
caches is the same programming model that we&#39;ve been using forever.
None of this local storage, software-managed cache nonsense.&lt;/li&gt;

&lt;li&gt;A hardware texture unit.  One of the areas that I was most worried
about with porting Mesa to Cell was texture mapping.  The way that
textures are addressed and accessed was going to take a lot of
instructions on Cell.  On Larrabee, they just have a freakin&#39; texture
unit that can, as the Larry said, &quot;support thousands of in-flight
texture accesses&quot; to hide latency.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, no products, timelines, clock speeds, etc. were
announced.  I don&#39;t know any of that either, so please don&#39;t ask.&lt;/p&gt;

&lt;p&gt;I&#39;m filled with a variety of emotions right now.  On the one hand
I&#39;m really, &lt;em&gt;really&lt;/em&gt; excited for Larrabee and the opportunities
it will bring.  I&#39;m also even more disappointed that I already was
about Cell.  The window for someone to create an OpenGL implementation
for Cell is now closed.  Sure, they could do it, but nobody would
care.  Opportunity lost.  &lt;em&gt;sigh&lt;/em&gt;&lt;/p&gt;

&lt;hr width=&quot;33%&quot; align=&quot;center&quot; /&gt;

&lt;p&gt;The surprise in the last session was the last paper.  I wasn&#39;t
expecting much from &quot;Real-Time Rendering of Textures With Feature
Curves,&quot; but there was some good bits there.  Basically, they define a
normal-map using specially encoded Bezier curves for embossing /
engravings.  The fragment shader then uses this information to
generate normals that preserve the discontinuity in the &quot;trench&quot; of
the engraving.  Using a normal-map texture when there is a
discontinuity can result in some off artifacts in close-up views.
I&#39;ll probably &lt;em&gt;mention&lt;/em&gt;&amp;gt; this work next year in VGP352.  I think
it will be a bit beyond the abilities of my students to implement it.
The algorithm has a number of complex details.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; align=&quot;center&quot; /&gt;

&lt;p&gt;The various hair rendering papers were interesting...but
interesting to me in the same way as quantum physics is interesting.
That is, it&#39;s good to know that people are working on it, and it&#39;s
good to hear about it, but it&#39;s not generally useful in my day-to-day
life.&lt;/p&gt;

&lt;hr width=&quot;33%&quot; align=&quot;center&quot; /&gt;

&lt;p&gt;I went and saw most of the expo floor between sessions.  It wasn&#39;t
really that great. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/sad.png&quot; alt=&quot;:(&quot; /&gt;  About every 4th booth was for an art school.
Of course, The Art Institute was there.  There were also a
&lt;em&gt;lot&lt;/em&gt; of &quot;3D printer&quot; booths.  Yippie.  Most disappointing of
all...there weren&#39;t any good booth hand-outs.  I take that back.
Intel was giving out cool USB hubs, but they wouldn&#39;t give me one
because I work there.  Fail.&lt;/p&gt;

&lt;p&gt;I plan to finish the expo floor tomorrow.  I will also try to look
at the rest of the posters.  I looked at quite a few today as they are
spread all around the conference center.  I&#39;ve written enough for one
day, so I&#39;ll save the poster details for later.  There &lt;em&gt;are&lt;/em&gt;
some cool posters...like the guy doing audio processing and an Nvidia
GPU and audio &lt;strong&gt;output&lt;/strong&gt; from the VGA port.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://people.freedesktop.org/~idr/images/SIGGRAPH08/200808121150 - Ai.jpg&quot; width=&quot;512&quot; height=&quot;288&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; I think I fixed the formatting failure.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_1/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_2008_day_1/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>And let the travel drama begin!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/and_let_the_travel_drama_begin/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/and_let_the_travel_drama_begin/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />

	<category term="/tags/travel" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2008-08-12T02:34:59Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Memo to myself: only stay in hotels with negotiated rates, no matter
how far they are from the convention.  Why?  Because you don&#39;t
negotiate with kidnappers or crap hotels.&lt;/p&gt;

&lt;p&gt;The hotel that I originally booked turned out to be all kinds of crap.
The place looked nice on the inside, but look can be oh-so deceiving.
They didn&#39;t have a room available &lt;em&gt;with a private bathroom&lt;/em&gt;.
Uhm...what?  I called Amex and got a different hotel (10 miles from
the convention center...fail), and took a cab over.  The cabbie told
me that the city give homeless people vouchers to stay at that hotel.
After seeing some of the people that wandered into that place while I
was on hold with Amex, I believe him!  Truth be told, I think it&#39;s a
&lt;em&gt;good&lt;/em&gt; thing they didn&#39;t have a room available!&lt;/p&gt;

&lt;p&gt;All that is behind me now.  I&#39;m going for dinner in a bit, and I&#39;m
going to the conference in the morning.&lt;/p&gt;

&lt;p&gt;So, boys and girls, if Amex doesn&#39;t like a hotel, you probably won&#39;t
either.  And, apparently, don&#39;t travel with me either.  I&#39;m bad
luck.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/and_let_the_travel_drama_begin/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/and_let_the_travel_drama_begin/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>SIGGRAPH or bust!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_or_bust/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_or_bust/"/>






	<category term="/tags/SIGGRAPH" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2008-08-04T20:18:15Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;This year was the first time since 1998 that I went to Europe.  It
will be the first time since 2004 that I will go to SIGGRAPH.  Yay
me!&lt;/p&gt;

&lt;p&gt;The program looks really good this year.  Here&#39;s how a conference
like this works for me.  I plan a bunch of stuff to go see, get really
overwhelmed, and miss a bunch of good stuff. :P  I think the rule,
especially at SIGGRAPH, is that if you&#39;re not overwhelmed, you&#39;re not
doing it right!  Anyway, here&#39;s the plan so far...&lt;/p&gt;

&lt;p&gt;
&lt;u&gt;Tuesday&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;em&gt;Image Collections &amp;amp; Video (8:30am - 10:15am)&lt;/em&gt;

&lt;p&gt;Truth be told, I probably won&#39;t make it to this session.  I&#39;ll
probably either still be asleep or busy with registration and all
that.  If I do make it, I&#39;m most interested in &quot;Factoring Repeated
Content Within and Among Images.&quot;&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;Parallelism (10:30am - 12:15pm)&lt;/em&gt;

&lt;p&gt;There is no way that I&#39;m going to miss a chance to see Michael
Abrash talk.  Back in the early to mid 90&#39;s when he was being
published in Dr. Dobb&#39;s Journal and working on Quake, I totally
idolized him and hung on his every word.  In the graphics classes that
I teach, I still quote, &quot;If it looks good, it is good.&quot;  Combined with
seeing Iron Maiden in concert a couple months ago, this is turning out
to be a summer of re-lived youth.  Now, where&#39;s my Amiga...&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;Rendering Materials (1:45pm - 3:30pm)&lt;/em&gt;

&lt;p&gt;This is what I love about SIGGRAPH!  I consider myself to be
&quot;skilled in the art.&quot;  I try to keep up with new rendering techniques.
Then I see a paper titled &quot;Realistic Rendering of Birefringency in
Uniaxial Crystals.&quot; &lt;em&gt;I have no idea what that even means!&lt;/em&gt;  I
am so there!&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;Hair and Realistic Rendering (3:45pm - 5:30pm)&lt;/em&gt;

&lt;p&gt;&quot;Dual Scattering Approximation for Fast Multiple Scattering in
Hair&quot; seems to be the only paper in this session that focuses on
real-time rendering.  Last year in VGP352 (Lighting and Shading) I
covered a couple fur shaders (fins-and-shells and the fakefur BRDF),
so it might be time to add some decent hair rendering.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;u&gt;Wednesday&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;


&lt;li&gt;&lt;em&gt;Real-Time Rendering (8:30am - 10:15am)&lt;/em&gt;
&lt;p&gt;I have to see &quot;Real-Time, All-Frequency Shadows in Dynamic Scenes.&quot;
Over the past years I have assigned readings from other papers by
these authors in VGP353 (Shadows).  I just might have to add this one
to the list...&lt;/p&gt;

&lt;p&gt;Nvidia has some tech sessions between 9:00am and 11:00am that look
really interesting too.  So many things to see!&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;Faces &amp;amp; Reflectance (10:30am - 12:15pm)&lt;/em&gt;
&lt;p&gt;&quot;Face Swapping: Automatically Replacing Faces in Photographs&quot;
sounds really interesting.  This has popped up a couple times in the
tech news lately, so it&#39;s a very timely issue.  I expect this to be a
pretty full session.&lt;/p&gt;

&lt;p&gt;We spend a lot of time talking about BRDFs in VGP352, so &quot;Modeling
Anisotropic Surface Reflectance With Example-Based Microfacet
Synthesis&quot; also really caught my eye.&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;Global Illumination (1:45pm - 3:30pm)&lt;/em&gt;
&lt;p&gt;Two papers about shadow maps in one session?  The &lt;em&gt;Shape
Analysis&lt;/em&gt; session didn&#39;t stand a chance!&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;Texture (3:45pm - 5:30pm)&lt;/em&gt;
&lt;p&gt;This one was a close call.  There are a few papers in &lt;em&gt;Jiggly
Fluids&lt;/em&gt; that sound interesting, but I don&#39;t think I have a strong
enough background in the area to get much out of them.&lt;/p&gt;

&lt;p&gt;The texture synthesis papers, especially &quot;Inverse Texture
Synthesis&quot; by Yi-Li Wei, et. al. intrigue me.  I saw Yi-Li present &lt;a href=&quot;http://graphics.stanford.edu/papers/tile_mapping_gh2004/&quot;&gt;Tile-Based
Texture Mapping on Graphics Hardware&lt;/a&gt; at SIGGRAPH 2004.  It was the
most memorable, if not favorite, presentation that year.&lt;/p&gt;

&lt;p&gt;&quot;Anisotropic Noise&quot; is also a must-see.  I need to beef-up the
coverage of noise in VGP352, and this might help.&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;OpenGL BoF (6:00pm - 8:00pm)&lt;/em&gt;
&lt;p&gt;This is the whole reason Intel is sending me to SIGGRAPH.  Will
there be a big announcement at the BoF?  Well...you&#39;ll just have to
show up to find out, won&#39;t you? &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;u&gt;Thursday&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;em&gt;Teaching Computer Graphics in Context in Computer Science
(9:00am - 10:00am)&lt;/em&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;TBD. (10:30am - 12:15pm)&lt;/em&gt;
&lt;p&gt;This one is a toss up.  There are a couple papers in both &lt;em&gt;Hair,
Rods &amp;amp; Cloth&lt;/em&gt; and &lt;em&gt;Perception &amp;amp; Hallucination&lt;/em&gt; that
sound interesting, but nothing really jumps out at me.  That probably
means that I won&#39;t go to either.  Expo floor, maybe?&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;TBD. (1:45pm - 3:30)&lt;/em&gt;
&lt;p&gt;Meh.  I might go to AMD&#39;s &quot;GPU-Accelerated Video Encoding: State of
the Art&quot; from 1:00pm to 2:30pm.&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;Deblurring &amp;amp; Dehazing (3:45pm - 5:30pm)&lt;/em&gt;
&lt;p&gt;The two papers about motion deblurring of images sound interesting.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;u&gt;Friday&lt;/u&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Shape Acquisition (8:30am - 10:15am)&lt;/em&gt;
&lt;p&gt;In a previous life, I was very interested in archeology.  I even
went on a dig of an old Roman town (&lt;a href=&quot;http://en.wikipedia.org/wiki/Leptiminus&quot;&gt;Leptiminus&lt;/a&gt;) in
Tunisia.  Because of that, &quot;A System for High-Volume Acquisition and
Matching of Fresco Fragments: Reassembling Theran Wall Paintings&quot;
caught my eye.  I might not stay for the rest of the papers in the
session.&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;TBD. (10:30am - 12:15pm)&lt;/em&gt;
&lt;p&gt;I don&#39;t know what to do here.  The papers in the &lt;em&gt;Differential
Equations&lt;/em&gt; session all sound like they&#39;re over my head, and the
papers in the &lt;em&gt;NPR &amp;amp; Deformation&lt;/em&gt; session don&#39;t sound that
interesting to me.&lt;/p&gt;
&lt;/li&gt;


&lt;li&gt;&lt;em&gt;Painting &amp;amp; Sketching (1:45pm - 3:30pm)&lt;/em&gt;
&lt;p&gt;Cloud rendering is an area that has always interested me but that I have
not gotten into.  &quot;Feedback Control of Cumuliform Cloud Formation
Based on Computational Fluid Dynamics&quot; sounds like it will present
some interesting work in this area.  None of the other papers in the
session sound that interesting to me, though.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;&lt;em&gt;Procedural Modeling &amp;amp; Design (3:45pm - 5:30pm)&lt;/em&gt;
&lt;p&gt;Poor saps!  Presenting the in the last session of the last day is
always a big lose.  I have to see &quot;Interactive Procedural Street
Modeling.&quot;  Three of the authors are local boys from Oregon State
University.  Go Beavers!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whew!  I&#39;m tired already!&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_or_bust/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/siggraph_or_bust/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Love the media</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/love_the_media/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/love_the_media/"/>






	<category term="/tags/Intel-graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2008-07-22T20:15:45Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I guess I must be awesomely famous or something (probably &quot;or
something&quot;).  My new job has &lt;a href=&quot;http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=NjU5NA&quot;&gt;already been
mentioned&lt;/a&gt;
on Phoronix.com.  Unfortunately, the work that I will be doing to
parallelize Mesa won&#39;t be for anything as glamorous as Larrabee.&lt;/p&gt;

&lt;p&gt;In fact, it will be for the complete opposite end of the spectrum.
We&#39;re seeing more and more chips, like Intel&#39;s own Atom, that trade
wide, out-of-order pipelines for simpler, in-order cores with multiple
threads per core.  On those types of architectures, especially when
hardware TNL is not available, Mesa&#39;s performance is really, really
bad.&lt;/p&gt;

&lt;p&gt;There is room for a lot of improvement even on more traditional
systems with hardware TNL and processors with good single-threaded
performance.  It is easy to find apps where lot of time is spent in
the app, a lot of time is spent in the driver, and only one CPU is
utilized.  Sure, the app developer could multi-thread the app, but
why?  That means multi-threaded optimization needs to be done in N
places (for N apps) instead of just one.&lt;/p&gt;

&lt;p&gt;Anyway...I guess I should get back to work now...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/love_the_media/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/love_the_media/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Pictures recovered!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/pictures_recovered/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/pictures_recovered/"/>






	<category term="/tags/travel" />


	<updated>2009-03-17T06:37:15Z</updated>
	<published>2008-07-09T04:45:17Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;As I mentioned in my previous post, my camera and laptop were stolen
while I was recently travelling.  During our trip, both my wife and I
had been copying pictures off our cameras onto the laptop.  Once
copied to the laptop, the pictures were deleted off the cameras.
So...even though my wife&#39;s camera wasn&#39;t stolen, we still lost all
those pictures.  Or so we thought.&lt;/p&gt;

&lt;p&gt;Since cameras use FAT32 file systems, I knew it was &lt;em&gt;possible&lt;/em&gt; the
deleted pictures could be save.  I had her switch to a secondary
memory card for the rest of the trip.  I did a little searching, and I
found a program called
&lt;a href=&quot;http://www.cgsecurity.org/wiki/PhotoRec&quot;&gt;PhotoRec&lt;/a&gt;.  PhotoRec FTW!!!
It managed to find 201 pictures that were deleted!&lt;/p&gt;

&lt;p&gt;The bad news is that the value of the stolen items is less than my
insurance deductible, so I get the shaft. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/sad.png&quot; alt=&quot;:(&quot; /&gt; We booked our trip with
Amex, so we&#39;re going to follow up there...I could have sworn that they
had some sort of &quot;automatic&quot; travel insurance, but I could be wrong.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/pictures_recovered/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/pictures_recovered/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Message of the day: lock the door!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/message_of_the_day_lock_the_door/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/message_of_the_day_lock_the_door/"/>






	<category term="/tags/travel" />


	<updated>2009-03-17T06:37:15Z</updated>
	<published>2008-06-26T11:07:35Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;So...I&#39;m still off on vacation.  I&#39;m in Rome now.  My wife already
posted something to her blog, but I have a rant of my own.  On the
train from Paris to Rome, someone broke into our cabin and stole my
laptop and camera.  The laptop was her old G4 PowerBook and the camera
wasn&#39;t too expensive either, so I&#39;m not too upset about that.
However, I lost all of my pictures from the first 6 days of our
vacation.  I had some really good photos from Paris, especially the
tripod shots from the catacombs. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/sad.png&quot; alt=&quot;:(&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stop reading if you&#39;re Italian.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once we got to Rome, it was like arriving in a 3rd world country.  We
either went to or called 4 police stations to report the theft, and
they were all...closed. &lt;strong&gt;Closed?!?!&lt;/strong&gt; WTF?!?  We finally got to an
open police station today, and there was a couple from England who and
been robbed (1.000€!!!) on the same train.&lt;/p&gt;

&lt;p&gt;I get the distinct impression that the train conductors, who only
speak Italian, are in on it.  The didn&#39;t tell us to lock the doors or
even tell us that there were locks.  Since train theft is obviously
common, it seems obvious to warn people.  Not everyone rides these
trains all the time.  There shouldn&#39;t be anyone getting on or off the
train in the night (at border stops, etc.), so they might also check
people there.&lt;/p&gt;

&lt;p&gt;Needless to say, I was pretty pissed all day yesterday.  Rome may have
been a great nation, but Italy not so much. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/sad.png&quot; alt=&quot;:(&quot; /&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/message_of_the_day_lock_the_door/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/message_of_the_day_lock_the_door/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Good-bye IBM.  Hello Intel!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/goodbye_ibm_hello_intel/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/goodbye_ibm_hello_intel/"/>





	<updated>2009-02-05T23:29:27Z</updated>
	<published>2008-06-18T01:15:01Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;As some folks are likely aware, today was my last day at IBM.  I was
previously at Sequent, who was bought by IBM, since 1997.  I&#39;ve been
working with many of the same people for 11 years.  Am I still a
young-un if I think 11 years is a hella long time to work at one
place?&lt;/p&gt;

&lt;p&gt;I really enjoyed working in IBM&#39;s Linux Technology Center.  It is a
unique and incredible working environment.  I highly recommend the LTC
for folks interested in any aspect of server related Linux work.
However, IBM isn&#39;t a graphics company these days, so the advancement
opportunities for a graphics specialist are limited.  At many times
over the years there wasn&#39;t enough &quot;fundable&quot; graphics work, so I had
to work on other things.  Faced with the choice of changing my
technical focus or move on, I have decided to move on.&lt;/p&gt;

&lt;p&gt;Where am I going?  To Intel, of course.  I&#39;ll be joining keithp,
anholt, and jbarnes at Intel.  It seems they have a lot of graphics
work to do these days, and they have no shortage in sight.  I&#39;m really
excited to join their team.  I&#39;ve already been going over my Mesa &quot;to
do&quot; to see what I might be able to tackle.  There are a lot of
choices. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I&#39;ll be starting at Intel on 6/30.  Between now and then I will be
vacationing with my wife in Europe.  I&#39;m taking a laptop, but I don&#39;t
know how often I&#39;ll be able to / want to check e-mail.  On the way to
the Netherlands (our first stop), I have a &lt;strong&gt;12 hour&lt;/strong&gt;)
lay-over in Houston.  I sure hope they have free wifi...ugh...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/goodbye_ibm_hello_intel/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/goodbye_ibm_hello_intel/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Iron Maiden? Excellent!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/iron_maiden_excellent/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/iron_maiden_excellent/"/>






	<category term="/tags/music" />


	<updated>2009-12-20T06:12:33Z</updated>
	<published>2008-06-05T16:40:32Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I can now comfortably die with a life complete.  On Monday, June 2nd,
I saw Iron Maiden perform live at the White River Amphitheater near
Seattle.  I have, literally, been waiting 22 years to see them live.
When I was in middle school and high school and they came to Portland
for Somewhere In Time and Seventh Son of a Seventh Son, I was broke.
When they came to Portland in 1996 for The X Factor, they canceled at
the last minute.&lt;/p&gt;

&lt;p&gt;This show was, basically, a re-mix of all their class tours from the
80&#39;s and early 90&#39;s.  They even had the giant Eddie mummy with sparks
shooting from his eyes from the World Slavery Tour.  Hopefully without
sounding like too much of an old dork, it was fucking awesome!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://people.freedesktop.org/~idr/images/the_trooper.jpg&quot; width=&quot;640&quot;&gt; &lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/iron_maiden_excellent/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/iron_maiden_excellent/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Game rant</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/game_rant/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/game_rant/"/>






	<category term="/tags/games" />


	<updated>2009-12-05T04:33:38Z</updated>
	<published>2008-05-03T19:05:31Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I recently purchased Mario Kart for the Wii.  It&#39;s a hella good time.
However, it contains on of those mis-features of console games that
makes me hate consoles.  Why do I have to play the single-player game
to &quot;unlock&quot; 50% of the content for multi-player?  I paid for 100% of
the content, so I&#39;d like to be able to play it...without having to pay
for it &lt;em&gt;again&lt;/em&gt; by playing to boring-ass single-player game.
kthnks.&lt;/p&gt;

&lt;p&gt;Unlocking parts of the game was cool when it was unlocking
&lt;strong&gt;a&lt;/strong&gt; bonus level or &lt;strong&gt;a&lt;/strong&gt; bonus character.  Having to unlock a large
portion of the regular game is just insulting.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/game_rant/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/game_rant/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Beta release...finally!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/beta_release_finally/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/beta_release_finally/"/>





	<updated>2009-02-05T23:22:25Z</updated>
	<published>2008-05-02T22:42:12Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Yesterday I &lt;em&gt;finally&lt;/em&gt; made a beta release of the XP10 driver.
The driver uses native mode setting (instead of calling the BIOS),
RANDR 1.2 (thanks to keithp and anholt).  It currently only supports
the VGA output, but that should be resolved shortly.  It also still
has the color byte-ordering issue on big-endian.  In spite of all
that, I think that it&#39;s pretty solid on x86.&lt;/p&gt;

&lt;p&gt;Now, if I could just get a hold of ajax to get this in X.org 7.4 and
Fedora 9...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/beta_release_finally/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/beta_release_finally/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Har-har-har!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/har_har_har/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/har_har_har/"/>





	<updated>2009-02-05T23:19:46Z</updated>
	<published>2008-03-28T17:19:27Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Dear Mr. Weather,&lt;/p&gt;

&lt;p&gt;We received your April Fool&#39;s Day joke a bit early this year.  Thank
you for reminding us that &lt;em&gt;global warming&lt;/em&gt; means weird weather,
not hot weather.  That said, &lt;strong&gt;may we please have spring back
FFS?!?!?!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://people.freedesktop.org/~idr/snow-way.jpg&quot; width=&quot;512&quot; height=&quot;384&quot; /&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/har_har_har/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/har_har_har/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Reason for all the XP10 love</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/reason_for_all_the_xp10_love/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/reason_for_all_the_xp10_love/"/>






	<category term="/tags/XGI" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2007-09-25T18:00:13Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;This week at POWER.org&#39;s &lt;a href=&quot;http://www.power.org/devcon/07/&quot;&gt;Power Architecture Dev Con
&#39;07&lt;/a&gt; IBM showed a system that is
known internally as &lt;em&gt;Bimini&lt;/em&gt;.  At the conference it was shown with X
running doing a continuous loop of kernel compiles.  It&#39;s a 4-way
PowerPC 970MP (2 CPUs, 2 cores per CPU) system targeted at developers.
It has a PCI-Express x16 slot, and that slot ships filled with an XP10
card.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://people.freedesktop.org/~idr/images/Bimini at POWER.org event.jpg&quot;&gt;&lt;/p&gt;

&lt;p&gt;All of this XGI XP10 work that I have been doing over the last few
months has been for this system.  I put in some long hours last week
trying to get the driver into shape for this demo, and I&#39;m pretty
pleased with the result.  There is, however, still quite a bit of work
to be done.  The existing driver does most things (mode setting, DDC,
DPMS, etc.) using BIOS calls.  Obviously, that doesn&#39;t work on
PowerPC!  In my local tree I have single-head CRT mode setting working
without the BIOS, but there&#39;s a lot of ugliness there...it also
doesn&#39;t save / restore the console mode.&lt;/p&gt;

&lt;p&gt;If you&#39;ve looked through the published docs for XP10 at all, you&#39;ve
probably noticed that there is a &lt;strong&gt;lot&lt;/strong&gt; of information about mode
setting missing.  I&#39;m (painfully) aware of that, and I&#39;m working with
XGI to get that resolved.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/reason_for_all_the_xp10_love/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/reason_for_all_the_xp10_love/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>XGI driver 1.5.0 release</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/xgi_driver_1_5_0_release/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/xgi_driver_1_5_0_release/"/>






	<category term="/tags/XGI" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2007-08-28T01:07:46Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;As per the message sent to the xorg-annouse list, I&#39;ve just released
version 1.5.0 of the XGI driver.  This is the driver for the V3XT, Z7,
and various releated chips.&lt;/p&gt;

&lt;p&gt;I should also have a libpciaccess release out pretty soon.&lt;/p&gt;

&lt;p&gt;I&#39;m hoping to get a release for the XP10 out soon, but I&#39;m not sure it
will make it out in time for the X.org 7.3 release.  We&#39;ll see...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/xgi_driver_1_5_0_release/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/xgi_driver_1_5_0_release/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>DRM fences for XP10</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/drm_fences_for_xp10/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/drm_fences_for_xp10/"/>





	<updated>2009-02-05T23:06:11Z</updated>
	<published>2007-08-17T21:26:28Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;It looks like DRM fences are working on XP10.  Using fences instead of
the scheme previously used in the DDX simplified the code &lt;strong&gt;a lot&lt;/strong&gt;.
Hopefully TTM support for the PCI-e GART will be as easy to implement
as fences were.  Somehow I doubt it. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/sad.png&quot; alt=&quot;:(&quot; /&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/drm_fences_for_xp10/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/drm_fences_for_xp10/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>&#x27;Final&#x27; XP10 DRM bug fixed!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/final_xp10_drm_bug_fixed/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/final_xp10_drm_bug_fixed/"/>





	<updated>2009-02-05T23:03:42Z</updated>
	<published>2007-08-15T20:55:29Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Earlier this week I managed to fix the last known bug in the XP10 DRM.
I can now restart the X-server as many times as I like, and
acceleration keeps working. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt; I&#39;m just waiting to see if benh and
airlied have any review comments before I bump the version to 1.0.0
and merge to trunk.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/final_xp10_drm_bug_fixed/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/final_xp10_drm_bug_fixed/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>Acceleration for XP10</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/acceleraation_for_xp10/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/acceleraation_for_xp10/"/>






	<category term="/tags/XGI" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2007-07-22T07:29:47Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;While my wife was spending &lt;em&gt;the whole Saturday&lt;/em&gt; reading Harry
Potter, I was spending &lt;em&gt;the whole Saturday&lt;/em&gt; trying to get
acceleration working on XP10.  I leave it as an exercise for the
reader to determine which of us is the bigger geek.  In any case, it
works now.  DRM changes are pushed to xgi-0-0-2 branch and DDX changes
are pushed to HEAD.&lt;/p&gt;

&lt;p&gt;Next week I get to see if it works on 64-bit if it&#39;s still broken. &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/sad.png&quot; alt=&quot;:(&quot; /&gt;
I&#39;ve changed so many of the internal types to the &quot;correct&quot; things
that I suspect it might Just Work.  I think I hear Nelson laughing at
me somewhere...&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/acceleraation_for_xp10/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/acceleraation_for_xp10/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>I&#x27;m in your kernel module, converting to DRM!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/im_in_your_kernel_module_converting_to_drm/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/im_in_your_kernel_module_converting_to_drm/"/>






	<category term="/tags/XGI" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2007-07-19T19:49:00Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Sorry about the title.  I&#39;ve obviously spent too much time on fark.&lt;/p&gt;

&lt;p&gt;In any case, the DRM xgi-0-0-2 branch contains a version of the XP10
(aka Volari 8300) kernel module converted to the DRM infrastructure.
Since most of the code in the driver supplied by XGI duplicated
existing infrastructure, this nets a &lt;em&gt;reduction&lt;/em&gt; of ~2,700
lines of code.  That reduces the size of the kernel module (source) by
nearly 50%.&lt;/p&gt;

&lt;p&gt;In addition, the HEAD of xf86-video-xgixp (the DDX for the XP10) has
been modified to use the DRM-based kernel module instead of the XGI
supplied monolithic kernel module.&lt;/p&gt;

&lt;p&gt;Baring any unforseen objections by other DRM folks, I&#39;m going to merge
the xgi-0-0-2 branch into DRM trunk on Friday.  This means that it
should find its way into a mainline kernel soon-ish.&lt;/p&gt;

&lt;p&gt;w00t!&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/im_in_your_kernel_module_converting_to_drm/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/im_in_your_kernel_module_converting_to_drm/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>XG40 DRM support in mainline!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/xg40_drm_support_in_mainline/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/xg40_drm_support_in_mainline/"/>






	<category term="/tags/XGI" />

	<category term="/tags/graphics" />


	<updated>2011-01-28T23:11:37Z</updated>
	<published>2007-06-29T22:42:00Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;I just received notice that my (trivial) patch to add support for XG40
chips (as used in Volari V3EX, V3XT, V5, and V8 cards) is in the
mainline tree.  In a practical sense, what does this mean?  Well, if
you have one of those cards you can use the open DRM, open DDX (from
fd.o GIT) with the closed DRI.&lt;/p&gt;

&lt;p&gt;For those who haven&#39;t been keeping up, XGI &lt;em&gt;cannot&lt;/em&gt; open the
code for the DRI driver.  It uses a lot of code license from SGI.
However, this does provide us another step towards creating an open
DRI driver.  The &lt;a href=&quot;https://bugs.freedesktop.org/show_bug.cgi?id=9129&quot;&gt;data books are in fd.o
bugzilla&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Start hacking! &lt;img src=&quot;http://www.paranormal-entertainment.com/idr/blog/archive/../smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/xg40_drm_support_in_mainline/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/xg40_drm_support_in_mainline/comments.atom" type="application/atom+xml" />

</entry>
<entry>
	<title>First post... w00t!</title>

	<id>http://www.paranormal-entertainment.com/idr/blog/posts/first_post_w00t/</id>

	<link href="http://www.paranormal-entertainment.com/idr/blog/posts/first_post_w00t/"/>





	<updated>2009-02-05T22:49:24Z</updated>
	<published>2007-06-28T07:56:00Z</published>

	<content type="html" xml:lang="en">
	&lt;p&gt;Hurray for me. After all these years on teh intarweb, I have a blog. I
have no intention of chronicling my life or some other boring crap
like that. Instead, I intend to use this as a forum to communicate
information about various open source projects that I develop. This
will primarily cover my work on Mesa, X.org X-server, the MGA driver
for X.org, and the various XGI drivers for X.org. There may be other
stuff from time to time, but I suspect that these are the topics most
likely to interest anyone.&lt;/p&gt;

	</content>


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/first_post_w00t/#comments" type="text/html" />


	<link rel="comments" href="http://www.paranormal-entertainment.com/idr/blog/posts/first_post_w00t/comments.atom" type="application/atom+xml" />

</entry>

</feed>

