Jump to content
  • Advertisement
Sign in to follow this  
Basic_314

What's the technique that FF8 uses to render polygons onto bitmaps?

This topic is 4885 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

In the FF7, FF8, and FF9 games, there are bitmap backgrounds in which 3d polygonal chracters interact and move around. Is there a name to that technique? [Edited by - Basic_314 on January 5, 2005 8:27:37 PM]

Share this post


Link to post
Share on other sites
Advertisement
They're probably not static bitmaps per se, but bitmaps but overlaid with extra information that the game developers probably added on with custom in-house editors; information such as collision data, etc.

Share this post


Link to post
Share on other sites
I'd just call it rendering to a texture. I don't recall a catchy name for it. I guess that doesn't mean there isn't one, though :o)

Share this post


Link to post
Share on other sites
The old resident evil games used this method as well. It seems to be that they take a simplified mesh from the original 3d scene and move around that. The bitmapped backgrounds are just drawn over in layers.

Share this post


Link to post
Share on other sites
I believe that the bitmaps are drawn with a z-buffer, so that it overlaps appropriately with the 3D characters. I'm not sure how this is implemented, however.

Edit: This came from one of my books that was commenting on "Grim Fandango", a game that uses a technique that may be the same as used by FF.

"The 3D characters could walk behind objects in 3D sets, which could be achieved easily as layered sprites but with today's hardward a pre-rendered depth buffer would be a better choice. Modern art tools like 3D Studio Max give artists the option of rendering the depth buffer along with the RGB channels, so generating this data is a piece of cake."

(Taken from Game Coding Complete by Mike McShaffry)

Hope that helps.

Share this post


Link to post
Share on other sites
Yeah, the Microsoft program 3D Movie Maker did that effect. Here's an example of what the effect looks like:
Background image:


Objects are correctly covered up by it, even though it's a 2D bitmap:


The key to this effect is this, the ZBMP:


The ZBMP is saved along with the background image (MBMP), and when the scene is loaded, the ZBMP is written to the ZBUFFER before (3D) rendering starts.
3DMM is a software renderer (so it works differently than modern stuff), but in OpenGL, I'd do it like this:

1. Disable depth testing.
2. glDrawPixels of the background image (format=GL_RGB)
3. glDrawPixels of the ZBMP (format=GL_DEPTH_COMPONENT)
4. Enable depth testing
5. Draw 3D objets.

Dunno how fast that'd be, glDrawPixels isn't exactly a speed demon.

As for a name, I've not heard a name for this technique. Maybe something like "Pre-Rendered backgrounds with ZBuffer".

Share this post


Link to post
Share on other sites
well, I know for sure Final Fantasy games did not use 3d data to the extent that 3D Movie Maker does, but they use collision data that the engine uses to decide what objects get rendered first, etc.

Share this post


Link to post
Share on other sites
Dunno about that, I've not had the chance to pull apart a Final Fantasy game yet.
An alternate method comes to mind:
1. Draw the 2D background with glDrawPixels (depth=off)
2. Render a simplified 3D version of the background with color-writing off but depth testing on.
3. Render 3D objects. (color=on, depth=on)

It would probably be faster on modern hardware (where glDrawPixels isn't fast), but harder to make (you can't just export RGB+Depth images)

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.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!