Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 28 Sep 2007
Offline Last Active Jul 06 2013 02:34 PM

#5074811 Global illumination techniques

Posted by skytiger on 02 July 2013 - 01:03 PM


#5074810 Normal artifacting exposes underlying topology

Posted by skytiger on 02 July 2013 - 12:57 PM

I solved this problem using catmull-rom interpolation for the terrain heightfield

combined with runtime calculation of normals using bspline interpolation

bspline has C2 continuity ... no artifacts!


but it is expensive ...



#5073056 Career Advice after a bad job....

Posted by skytiger on 26 June 2013 - 02:42 PM

I had a colleague who used to "spy" for the boss

The boss never asked him to do this, but he found it interesting to listen ...


I worked closely with the spy and he would report my conversations to the boss

Over time a clear picture emerged:

- me: could keep a secret, wouldn't hurt anybody

- him: deliberately shared secrets in order to hurt others


Anyway it was fun feeding him "secrets" to repeat to the boss ...


after a couple of years passed I was promoted to a highly paid manager position

and he was still sweeping the floor, earning 1/5 of my salary


if you spy and tell stories about Person A to Person B

Person B will expect you to do the same to them ...

#5072539 Question About Fluid simulation

Posted by skytiger on 24 June 2013 - 11:51 AM

This is the guy responsible for the most gorgeous fluid effects in films:


Also check out his lighthouse video:


#5061232 What's the true worth of an initial game idea?

Posted by skytiger on 12 May 2013 - 02:29 AM

If the initial idea successfully describes how to entertain people in a way that can actually be implemented - it would be the *most* valuable contribution


Everything else is just manual labour


This is the kind of thing gamedev.net should be full of:



#5061063 What's the true worth of an initial game idea?

Posted by skytiger on 11 May 2013 - 08:02 AM

You need artists and nerds to make video games

unfortunately neither artists nor nerds have the right personality for making entertaining video games ...


You need gamers to buy video games

unfortunately gamers are generally boring people

so the video game industry makes boring games for boring people to buy


That is why current video games are so boring


Making video games is 100x more fun than playing them

#5060491 Radiance (radiometry) clarification

Posted by skytiger on 09 May 2013 - 01:41 AM

Also the radiance equation is only valid for theta [0,90)

between 0 degrees and LESS than 90 degrees

So interpolating between a valid value and an invalid value makes no sense


these are equivalent because at 90 degrees or greater the radiance equation doesn't apply at all


radiance = flux / cos(90)

radiance = flux / cos(180)


it makes no sense to ask "what is the radiance of a surface I can not see"

#5060487 Radiance (radiometry) clarification

Posted by skytiger on 09 May 2013 - 12:50 AM

You are missing the concept of "brightness" which is "flux density"

Same number of photons/sec in a smaller area appears brighter

That is what the projected area term of the radiance equation is all about ...

#5059673 Radiance (radiometry) clarification

Posted by skytiger on 06 May 2013 - 02:04 AM

emitter doesn't matter since it's defined to emit equally in all directions


Yes, but it's defined to emit LIGHT equally in all directions




If the incident radiance was the same in both cases the surface would be Lambertian ... but it isn't


From wiki:


In optics, Lambert's cosine law says that the radiant intensity or luminous intensity observed from an ideal diffusely reflecting surface or ideal diffuse radiator is directly proportional to the cosine of the angle θ between the observer's line of sight and the surface normal


My surface above is NOT Lambertian as the radiant intensity is not proportional to the cosine ... it is constant


In the radiance equation we are dividing by cosine, as the view angle approaches 90º the radiance approaches infinity ...

#5059382 Radiance (radiometry) clarification

Posted by skytiger on 05 May 2013 - 01:33 AM

Imagine a surface which radiates light equally in all directions from all points


if we measure the radiance of the surface from two positions

one opposite the surface

and one at a 45 degree angle




would the measured radiance be the same?


#5051836 Luminance

Posted by skytiger on 10 April 2013 - 09:24 AM

the rorydriscoll rendering equation is very good

I am going to digest everything you and Hodgman have said

when I return I will be a full fledged radiometric butterfly instead of the maggot I am now

thanks for your efforts

#5049263 Anyone here a self-taught graphics programmer?

Posted by skytiger on 02 April 2013 - 12:56 PM

The feeling when confusion turns to clarity is addictive

Crafting a complex "machine" that works

to me it feels like I am building a locomotive - so many wheels and levers and cogs turning at high speed

And the rush when you overcome the multiple layers of bugs and bugs in debuggers and design flaws and flawed documentation and get it to work anyway

Software development feels like xmas morning every day

#5048615 Gamma from sRGB Texture to Human Brain

Posted by skytiger on 31 March 2013 - 10:51 AM

I created a real linear gradient in photoshop, then converted it to LAB color space, then saved

and compared with sRGB linear gradient ... there is a very slight difference in the darker shades


Also here is a blogpost about projecting LAB onto a Cylinder so you can create perceptually correct gradients:



#5048604 Gamma from sRGB Texture to Human Brain

Posted by skytiger on 31 March 2013 - 09:57 AM

Can you explain what you mean there?

We use "gamma correction" to mean going from a linear colour space to a curved one, or vice versa.

If the texture is saved in the (curved) sRGB colour space, but we want it to be in a linear RGB space so we can perform math on it, then we need "gamma correction" (meaning, we apply the sRGB->linear curve).


The purpose of "gamma correcting" an albedo texture in Photoshop is to preserve detail in the dark areas which humans are sensitive to

it has NOTHING to do with monitor gamma


This human response curve is "Lightness" which is standardized by CIE as "how a standard human perceives Luminance"

and is the basis for the CIELAB color space


So DCC tools should be "Lightness correcting" to preserve information (avoid banding) according the the CIE transfer function for human perception


They don't have to concern themselves with Monitor gamma at all!

That is taken care of by sRGBWrite (or similar) at the end of the pipeline


HLSL shaders should be doing this:


float3 linear = LightnessDecode(tex2D(s, t));


(a sudden thought)


float3 linear = CIELABDecode(tex2D(s, t));


not this:


float3 linear = GammaDecode(tex2D(s, t));



The difference is probably so minor, nobody would notice


But at least gamma makes sense to me now ...

#5048402 Anyone here a self-taught graphics programmer?

Posted by skytiger on 30 March 2013 - 04:06 PM

When I as 13 I enjoyed BBC Basic and 6502 Assembly

By 16 I lost interest in video games

I had short Wipeout phase and a Doom phase


When I was 35 I discovered GTA San Andreas

I was between jobs / countries so I played this game in my friend's flat for 8 hours a day

when my friend came back from work we went out on the town

good times


That got me interested in 3D for the first time


I ended up in a small village in the UK with nothing but an old laptop

And after writing Space Invaders, Pac Man, Asteroids etc. I figured out on a piece of paper

how perspective works and wrote my first 3D "engine" in VB6 that could render lines with perspective


Later I discovered opengl.dll and my first fixed function triangle appeared on screen


I realised there was something "wrong" with Matrix math related to rotations, but with no

real maths education I didn't know how to express it ... all the oranges in the house ended up

with arrows scrawled in black marker ... it was 3 years until I discovered Quaternions, how I love them!


I learnt DirectX properly by creating an industrial application using CSharp + Managed DirectX running on Windows Embedded

it was a mission critical 247 application ... so I had no choice but to get it right ...

That has run on PCs without a reboot now for 4 years ... must have the memory leaks under control.


When XNA came out I got heavily into 3D and entered a game into Dream Build Play

but I fell in love with HLSL and Graphics programming and I have filled up my brain up reading everything I can.


What I love the most is thinking in 3D and trying to find solutions to hard but interesting problems without researching

and then comparing my "invention" to what everyone else is doing ...


Make a living in industrial software and working on a game which I will self-publish and promote