Jump to content
  • Advertisement
Sign in to follow this  
CuppoJava

OpenGL Has this technique been done and what is it called?

This topic is 4397 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I was wondering if the following rendering technique has been thought of already, and if so, what is the name of it. My goal is to create an engine capable of static scenes like this: http://www.splutterfish.com/sf/gallery_view.php?photo_id=825&screen=1&cat_id=2&action=images Anyway, the basic idea goes like so: In a static scene, if all the objects are perfectly diffuse, then it is possible to prerender the scene in a 3D package, and save the results as textures which can be later mapped to each surface in OpenGL. Because the objects are perfectly diffuse, the surfaces should look exactly the same no matter at what angle they are viewed. To extend this thinking, for objects that are not perfectly diffuse: Surfaces will look different depending on the angle at which they are viewed. Therefore, for a given point on a surface, that point can be prerendered from a number of different angles, and cache the results. Now when the scene is drawn in real-time, for a given point, we choose the color of that point based on the angle of the viewer, and interpolate amongst the cached prerendered results. So, does this technique sound possible? Perhaps when coupled with an effective data-structure? And does it sound similar to any techniques that are already out there? Thanks for taking the time to help, -Cuppo

Share this post


Link to post
Share on other sites
Advertisement
I will go out on a leg and say this is an environment-mapping variation of lightmaps. I believe some of the metallic walls in Unreal Tournament 2003 had a specular shine embedded in their texture.

Share this post


Link to post
Share on other sites
the idea with perfectly diffuse is called lightmapping(as ToohrVyk already mentioned). Extending the idea to non-diffuse surfaces the way you describe it will need way too many memory i think.

I think there are easier solutions for that:

As most surfaces are not perfectly diffuse you can do sth like color=diffuse+specular or sth similar. SO you can encode the diffuse component in a texture(lightmap) and render to environment maps from several spots within your map, so you can use them for reflections.

I think with HDRI and Lightmapping you can get pretty realistic images(for static scenes).

regards,
m4gnus

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!