Most Popular Posts and Tags

I have added a per­ma­nent page with a sum­mary of the most pop­u­lar posts on this blog. I also tried to add mean­ing­ful tags to all posts. Here are the most impor­tant tags:

Con­tent type tags

  • down­load — a down­load is avail­able is this post
  • gem — a code snip­pet or other copy-​paste thing is available
  • math — posts that are heavy on math formulae

Topic tags

So, where are the stars?

In my pre­vi­ous rant about dynamic expo­sure in Elite Dan­ger­ous (which hon­estly applies to any other space game made to date), I made a rough cal­cu­la­tion to pre­dict the bright­ness of stars as they should real­is­ti­cally appear in pho­tos taken in outer space. My pre­dic­tion was, that,

  • for an illu­mi­na­tion of sim­i­lar strength to that on earth,
  • if the sun­lit parts are prop­erly exposed,
  • and with an angu­lar res­o­lu­tion of about 2 arc min­utes per pixel,

then the pixel-​value of a promi­nent star should be in the order of 1 to 3 (out of 255, in 8-​bit sRGB encod­ing). Since then I was curi­ous to find some real world val­i­da­tion for that fact, and it seems I have now found it.


Con­tinue read­ing


The ‘mod­ern’ look­ing sans-​serif font I use recently in \LaTeX equa­tions on this blog is called ‘Com­puter Mod­ern Bright’, and actu­ally is not so mod­ern at all: Designed by Wal­ter Schmidt in 1996, it is still to date the only free sans-​serif font avail­able for \LaTeX with full math sup­port. Type-​1 ver­sions of this font are avail­able in the cm-​super pack­age, but I didn’t need to install any­thing, because appar­ently, Quick­La­TeX has them already. The only thing to do was adding just one line to the preamble:

\usepackage{cmbright}   % computer modern bright

I also turned on the SVG images fea­ture that was added with ver­sion 3.8 of Quick­La­tex, so the equa­tions are no longer pixel­lated on retina dis­plays or when zoom­ing in! Neat, huh?

Elite Dangerous: Impressions of Deep Space Rendering

I am a backer of the upcom­ing Elite Dan­ger­ous game and have par­tic­i­pated in their pre­mium beta pro­gramme from the begin­ning, pos­i­tively enjoy­ing what was there at the early time. ‘Pre­mium beta’ sounds like an oxy­moron, pay­ing a pre­mium for an unfin­ished game, but it is noth­ing more than pur­chas­ing the same backer sta­tus as that from the Kick­starter cam­paign.

I came into con­tact with the orig­i­nal Elite dur­ing christ­mas in 1985. Com­pared with the progress I made back then in just two days, my recent per­for­mance in ED is lousy; I think my com­bat rat­ing now would be ‘com­pe­tent’.

But this will not be a game­play review, instead I’m going to share thoughts that were inspired while play­ing ED, mostly about graph­ics and shad­ing, things like dynamic range, sur­face mate­ri­als, phase curves, ‘real’ pho­tom­e­try, and so on; so … after I loaded the game and jumped through hyper­space for the first time (actu­ally the sec­ond time), I was greeted by this screen fill­ing disk of hot plasma:


Con­tinue read­ing

X-​Plane announces Physically Based Rendering

I always won­dered when X-​Plane would jump on the PBR band­wagon. I like X-​Plane, I think its the best actively-​developed (*) flight sim­u­la­tor out there, but I always felt that shad­ing could be bet­ter. For instance, there is this unre­al­is­tic ‘Lambert-​shaded’ world ter­rain tex­ture, which becomes too dark at sun­set; another is the dreaded ‘con­stant ambi­ent color’ that plagues the shad­ing of objects.

Now in this post on the X-​Plane devel­oper blog, Ben announces that Phys­i­cally Based Ren­der­ing is a future devel­op­ment goal, yay! Then he goes on to say that, while sur­face shad­ing will be a solved prob­lem™ because of PBR, oth­ers like par­tic­i­pat­ing media (clouds, atmos­phere) would still need magic tricks for the fore­see­able future. Con­tinue read­ing

Journey into the Zone (Plates)

I have exper­i­mented recently with zone plates, which are the 2-​D equiv­a­lent of a chirp. Zone plates make for excel­lent test images to detect defi­cien­cies in image pro­cess­ing algo­rithms or dis­play and cam­era cal­i­bra­tion. They have inter­est­ing prop­er­ties: Each point on a zone plate cor­re­sponds to a unique instan­ta­neous wave vec­tor, and also like a gauss­ian a zone plate is its own Fourier trans­form. A quick image search (google, bing) turns up many results, but I found all of them more or less unus­able, so I made my own.

Zone Plates Done Right

I made the fol­low­ing two 256×256 zone plates, which I am releas­ing into the pub­lic so they can be used by any­one freely. Con­tinue read­ing

Ego mecum conjungi …

… Twit­ter!


So out of a whim I just embar­rassed myself and tried to write in (prob­a­bly wrong) latin that I joined twit­ter. You can fol­low me under: @aries_code.

If you won­der how this came about, this was my train of thought:

  • Twit­ter has some­thing to do with birds
  • Birds have fancy latin species names
  • The species name for Spar­row is Spasser domes­ti­cus
  • This doesn’t sound too fancy …
  • How do you say ‘I joined twit­ter’ in latin anyway?

But then I dis­cov­ered that I am onto some­thing: Accord­ing to one argu­ment, the brand name of Twit­ter should have been ‘Titi­a­tio’, had it existed in antiq­uity. And accord­ing to another argu­ment, latin should be an ideal twit­ter lan­guage, because it is both short and expressive.

But I digress. If you are into com­puter graph­ics, then you know of Johann Hein­rich Lam­bert, the eponym of our beloved Lam­bert­ian ref­electance law. The book where he estab­lished this law, Pho­tome­tria, is writ­ten entirely in latin — now this is hardcore!

So, now you know what to do if you want to stand out in your next SIGGRAPH paper …

Yes, sRGB is like µ-​law encoding

I vaguely remem­ber some­one mak­ing a com­ment in a dis­cus­sion about sRGB, that ran along the lines of

So then, is sRGB like µ-​law encoding?

This com­ment was not about the color space itself but about the spe­cific pixel for­mats nowa­days branded as ‘sRGB’. In this case, the answer should be yes. And while the tech­ni­cal details are not exactly the same, that anal­ogy with the µ-​law very much nails it.

When you think of sRGB pixel for­mats as noth­ing but a spe­cial encod­ing, it becomes clear that using such a for­mat does not make you auto­mat­i­cally “very picky of color repro­duc­tion”. This assump­tion was used by hard­ware ven­dors to ratio­nal­ize the deci­sion to limit the sup­port of sRGB pixel for­mats to 8-​bit pre­ci­sion, because peo­ple “would never want” to have sRGB sup­port for any­thing less. Not true!Screen Shot 2014-03-06 at 19.02.54I’m going to make a case for this later. But first things first.

Con­tinue read­ing

Spellforce 2 Demons of the Past

Spell­force 2 was released in 2006 and will be 8 years old by april. Nev­er­the­less, the third add-​on of the series shipped a month ago. Talk about a long seller!

Of course I’m attached to SF2 because I wrote many parts of its engine back then. This time I was briefly involved to help the devel­op­ers include my attribute-​less nor­mal map algo­rithm. The orig­i­nal SF2 did not have any nor­mal maps, and there­fore none of the orig­i­nal art assets comes with tan­gent space infor­ma­tion. This is an ideal sce­nario to pimp up the visu­als with­out touch­ing the geom­e­try, sim­ply by mak­ing a shader change and adding nor­mal maps. Con­tinue read­ing