About Me

Hi. I'm Josh Ols. Lead Graphics Developer for RUST LTD.

Contact:
crunchy.bytes.blog[at]gmail[dot]com

View Joshua Ols's profile on LinkedIn

Meta
« Self-Shadowed Bump maps | Main | OGL -> D3D »
Monday
Jan182010

Cheap specular lighting

Just the other day I read an interesting presentation from Midway, documenting their work on "Mortal Kombat vs. DC Universe". In it, they describe the various rendering tricks and engine changes they used to get Unreal Engine 3 running at 60Hz. One such trick that peaked my interest was how they approximate specular lighting.

Basically, they just treat the eye vector like a directional light, and use it to calculate lighting like normal. Then, they multiply the result by the current ambient color/intensity. This approach gives them specular highlights that are cheap, always visible, and look like they are influenced by the environment.

This is especially convenient because the equation reuses calculations from other parts of the shader. It uses NdotE that was calculated for rim-lighting, and ambient lighting calculated from SH. So it produces a passable approximation to specular lighting that fits in well with environment lighting, and doesn't require having actual lights present.

PrintView Printer Friendly Version

EmailEmail Article to Friend

References (4)

References allow you to track sources for this article, as well as articles that were written in response to this article.
  • Response
    Response: best indexer tool
    Terrific Web site, Continue the fantastic job. Thank you!
  • Response
    855 You'll need nine dim strips and 8 white strips to the weave. The only real steady that continues to be inside our kid's lives, 12 months in, calendar year out, louis vuitton jeans denimlouis vuitton for under $100 appears being their practically phobic distaste for walking.
  • Response
    Response: see more hints
    Crunchy Bytes - Journal - Cheap specular lighting
  • Response
    Crunchy Bytes - Journal - Cheap specular lighting

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
All HTML will be escaped. Hyperlinks will be created for URLs automatically.