POV-Ray : Newsgroups : povray.advanced-users : Reverse engineering scene settings from rendered images : Reverse engineering scene settings from rendered images Server Time
5 May 2024 15:48:58 EDT (-0400)
  Reverse engineering scene settings from rendered images  
From: SharkD
Date: 7 Jul 2008 21:25:00
Message: <web.4872c105646cdb1df7bf1c280@news.povray.org>
Can anyone suggest any methods of reverse engineering basic scene settings
(light color/intensity, texture diffuse/ambient, etc.) from existing, rendered
images?

The source code to a commercial video game (Jagged Alliance 2) was released
several years ago, and as part of the overhaul of the game, some members of the
community would like to add new sprites. However, the company that made the game
didn't release any of the assets used to create the artwork. I am wondering if
there are ways of determining basic scene information from the existing images?

For some things, such as the physical proportions of objects, camera and
lighting angles, this is trivial as the information can be calculated
geometrically. However, the more subtle aspects prove to be a more difficult
challenge.

I'd like to mention that there are certain characteristics of the game sprites
(images) that should make this task easier. Namely, the base sprites are made
up of primary colors only. E.g., they are made up only of varying shades of
red, green, cyan, magenta, etc. Any other colors besides these primaries are
substituted later by the game's own rendering engine. I have a hunch (but have
no idea how to test it) that some of the missing information can be determined
by comparing the range of light to dark shades of these primaries. Something
along the lines of analyzing the image's histogram and determining where the
maximum and minimum shades of each color occur, I think.

That's about as far as my hunch has taken me. Can anyone think of any strategies
that are more complete?

Thanks very much!

-Mike


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.