You see that i run out of topics by talking about tricks which aren’t existing. Do you know that, if a game looks better in your imagination than it actual does? I had a nice detail in my mind which i saw in Bioshock. So i revisited the game and…it wasn’t made how i thought. :(

So what now? Forget about it or mention it anyway? Maybe someone could use at least the idea…let’s see:

When i saw this door in Biohock for the first time, i immediatelly noticed: the reflections are well  done. And today i think: they still are! Look how great the wood differs from the glass. And how the two structures of the glass pop out. ♥ But i had something different in my memory…

Source: Bioshock

…because a specular map only controls the intensity of the specular, but not the size of the spot. The smoother a surface, the smaller the light source reflection. If a surface is rough, you get a bigger and smoother reflection. Below you find a link to a polycount thread with a link to the Valve Wiki for more information.

More Info: HERE

My point is, that i thought that Bioshock would not only control the specular strength but also the size of the spot (smaller on the glass, bigger on the wood). But after short look into the game and their textures it was clear: they don’t (there was no extra control texture).

Source: Bioshock (left: diffuse, right: specular)

I wrote this article anyway because of three things:
  1. Maybe i could inspire you to think about the specular issue in general. It’s very interesting how light works and how we try to press this complex phenomenon in game engines.
  2. I think even with a standard specular map, the door is a really great example how well specular can (and should) be used for different materials.
  3. Something which speaks against the idea of controlling the reflection size (besides of the setup effort): You have to store the information somewhere. Regardless if you do it per vertex color, in a texture mask, in a color channel or per object: you need extra resources.

I would love to hear your opinion about this article. Because it’s not about an awesome trick but on the other hand it is definitely a great example. So feel free to contact me and tell me your opinion!

12 thoughts on “Bioshock – Glossiness

    1. Simon

      Thanks a lot for this link! Very interesting! I guess we control size and intensity separately because the calculation isn’t very accurate in some games and this is the only way to tweak it out, would be my thought…

      Reply
  1. Anonymous

    But you need to abstract away from microfacets in CG, so only having intensity and deriving gloss from that is a really limited and strange way of working.

    Reply
    1. Anonymous

      That’s certainly the way one should go about it, but I fail to see how this removes the need for a gloss map?

      Reply
    2. Simon

      Really interesting links! Thank you for sharing! As more a i read about it, i wonder why this isn’t standard implementation for the specular :D

      Reply
  2. Anonymous

    I spotted a cool trick in Doom3. Doom3 has a fixed gloss falloff which was fairly wide. But they managed to have sharp speculars on fleshy bits by simply having very tight highlights painted into the specular maps. That’s totally unrealistic, but it looked perfectly convincing. They cheated the trick even further in Rage by prebaking static specular highlights into stuff (!!) and it didn’t look wrong at all. They also did the same thing with really wide specular reflections in some spots. There’s something interesting at work… It seems if you make speculars really sharp or really wide you can get away with a lot.

    That reminds me of an old not well known trick by 2D animators called the ‘scribble cell’; you scribble some random lines and use those as a mask for a second drawing with white dots, which pan across the scene. Through the gliding in and out of existance due to the scribble mask it looks like tight specular reflections on water.

    Reply
    1. Simon

      About Doom 3: I checked out the ID DevNet but only found textures from Quake 4. There i couldn’t see the white spots in the specular (only some in the diffuse) but maybe that because they didn’t do it like you said in Q4 or the resolution of the texture in the article i too low. I have to checkout the D3 textures…sounds interesting! Here’s the link to the dev net (textures in the lower part of the article):
      http://www.iddevnet.com/quake4/ArtReference_CreatingModels

      Reply
    1. Simon

      Wow, this cell trick is awesome! I think this is worth a small article here on the blog…i really like this trick, even maybe i’m the only person which didn’t know it :D awesome! It look so great…to be honest, exactly this is something i thought about sometimes in the past…how to get these nice animated sparkles into water. :)

      Reply
    2. Anonymous

      We did something similar to this for specular in The Chronicles of Spellborn. I’m not in touch with the technical artist/programmer anymore or I’d ask him how it was done, but basically: our specular texture masked a small scribbly texture that moved somehow (with the camera vector?) so you got some quite convincing motion within the specular highlights. We’d really only have thin highlights painted into the specular texture, never large areas.
      It worked really well on dark metals like gold!

      Reply

Leave a Reply to joker-ru Cancel reply

Your email address will not be published. Required fields are marked *