This is the first step along the way of creating an alternative lightmapping solution. What I managed to do was port my bsp extractor to work for the halo 2 tags as well which to my surprise most BSP information is also stored in the lightmap tags. Heres a shot of what my BSP extractor was able to extract from the example_example_lightmap.scenario_structure_lightm ap tag allone.
So what makes having this model so nifty? Well, mental ray has the feature called texture baking which bakes on the lighting from a render onto a set of textures based on their UVs. With this, we can fully light up the scene as if we were to render it and bake all of the lighting onto a set of textures which corresponds to the lightmap bitmap that was originally assigned to it. Mental ray is also capable of photon mapping, as well as many other nifty lighting features and the ability to render them at any texture resolution for very high res lightmaps allowing fine shadowing details generated in a small fraction of the time it would take Sapien to render a low quality preview. The only trade off is more work to do in the 3d application such as placing lights, scenery objects, sky dome image for image based lighting etc. Maya has some nifty tools that make texture baking a piece of cake (no pun intended).
So far it seems to work pretty well for extracting the base BSP model, but I am still having trouble getting the BSP instances properly generated and placed when extracting. So for right now, this will work perfectly for maps without geometry instances, but will require more work for maps with them since they have to be manually placed after extracted. This tool also works with Halo 1 bsp tags as well, but that one has some bugs as well to work out. What I plan to do when I have this instead read the scenario tag instead and place all the scenery objects accordingly and also extract the lightmap bitmaps automatically as well.
Bookmarks