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

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

 <name>blogtest</name>

</author>

 


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

<subtitle type="html">blogtest</subtitle>
<generator uri="http://ikiwiki.info/" version="3.12">ikiwiki</generator>
<updated>2010-07-29T17:30:49Z</updated>
<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="graphics" />
	 
	  <category term="siggraph" />
	 
	
	<updated>2010-07-29T17:30:49Z</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 &quot;OpenGL
4.0 for 2010&quot; 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/./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; 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/./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="graphics" />
	 
	  <category term="siggraph" />
	 
	
	<updated>2010-07-29T06:25:23Z</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 new trailer (I want one of
those lightcycle throw pillows).  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="graphics" />
	 
	  <category term="siggraph" />
	 
	
	<updated>2010-07-27T05:50:40Z</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/./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="graphics" />
	 
	  <category term="opengl" />
	 
	
	<updated>2010-07-21T20:50:55Z</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="graphics" />
	 
	  <category term="siggraph" />
	 
	
	<updated>2010-07-16T06:16:36Z</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/./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/./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="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/#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="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>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="graphics" />
	 
	  <category term="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="graphics" />
	 
	  <category term="opengl" />
	 
	
	<updated>2010-03-22T18:50:41Z</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>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="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>

</feed>
