Generate a MegaTexture

From Mod Wiki
Revision as of 16:09, 7 December 2007 by MoP (talk | contribs) (straight copy of megabuild article for use with the new SDK launcher)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The ETQW SDK Launcher includes all the settings required to generate a MegaTexture. It includes options for MegaGen (to render the raw texture tiles), Renderlight (to bake lighting info into the tiles) and MakeMegaTexture (which compiles the tiles into a compressed .mega file). It's a one-stop shop for compiling MegaTextures!

Overview

The MegaBuild application can be found in the "Utilities" folder of the main ETQW directory. Look for MegaBuild.exe and run it.

Using MegaBuild

MegaBuild main window

Find ETQW.exe

Firstly you need to select a valid game executable to launch the commands from.

  • Go to File -> Find EXE... (or hit CTRLSHIFTO).
  • Browse to the SDK directory and select ETQW.exe or ETQWx64.exe if you have a 64 bit version of Windows.


Find the Retail Game

  • Go to File -> Find Base Game Path....
  • Browse to your game's install directory.


Choose a Save Path

  • Go to File -> Find Save Path....
  • Browse to the folder that you would like to save your files to.


Load a Surface Tree

Now you will need to load a Surface Tree (.sft) file which contains the texture and surface information you want to render into your MegaTexture.

  • Go to File -> Open (or hit CTRLO).
  • Browse to your maps directory and select your mapname.sft file.


MegaGen Settings

MegaGen is the first stage of making a MegaTexture. The settings are fairly straightforward.

  • Resolution sets the width and height in pixels of your final MegaTexture. For ET:QW we used a ratio of 1 pixel to 1 game unit, so a terrain which is 32,768 units across would use a MegaTexture with a resolution of 32,768.
  • Video Cache. 128 is a good value.
  • Memory Cache. Give it as much as your computer will allow! For a computer with 2GB of RAM, 1536 is a good value here.


RenderLight Settings

RenderLight bakes atmospheric lighting information into your MegaTexture. Depending on the settings used here, MakeMegaTexture will either output a 3-channel (RGB) or 4-channel (RGBA) MegaTexture.

  • Bake lighting - When checked, this option will bake the atmospheric sunlight into the MegaTexture.
  • Bake ambient - When checked, this option will bake the ambient atmospheric light into the MegaTexture.
  • Leaving both Bake lighting and Bake ambient un-checked will produce a 4-channel MegaTexture, which is larger size on disk but contains more accurate surface bump information.


MegaTexture Settings

MakeMegaTexture is the process which compiles the output of the previous processes into a compressed .mega file.

  • Best Quality denotes using the best quality. You should usually leave this enabled.
  • Luminance Error denotes the brightness compression quality, where lower amounts mean better quality but larger file sizes.
  • Chrominance Error denotes the colour compression quality, where lower amounts mean better quality but larger file sizes.
  • Alpha Error denotes the alpha compression quality, where lower amounts mean better quality but larger file sizes.


For our retail Megatextures, we used 3-channel settings, with all the Error settings at 1, for best quality. If you are making a 4-channel Megatexture, we would recommend the Error settings at around 20-30 for each value. Lower values might greatly increase the file size, while higher values might result in very blurred Megatextures.


Run the Processes

Once you have set up all of the options for your MegaTexture, you can set the MegaBuild processes going.

  • Tasks -> Run Checked... (or pressing F5) will run all of the selected processes.
  • If this is the first time you're compiling a MegaTexture, check all 3 boxes for MegaGen, RenderLight and MegaTexture.
  • You can un-check any processes you don't want to run at this time. For example if you want to re-compile some tiles from RenderLight with different MegaTexture settings, un-check MegaGen and RenderLight, leave MegaTexture checked, and then select Run Checked or hit F5.
    • Alternately, you can just click the "Make MegaTexture" button in the MegaTexture field.


Components

These are the individual processes that MegaBuild calls from the game.

MegaGen

MegaGen is the in-game tool for generating uncompressed, un-lit MegaTexture tiles. It loads a Surface Tree, analyses the nodes and texture layers, and renders out sets of 4096x4096 pixel diffuse and local normal-map textures.

For a full explanation, see MegaGen.

RenderLight

RenderLight bakes lighting into a set of diffuse tiles outputted from MegaGen, based on the map's atmosphere settings and using the local normal-map tiles to bake in accurate fine detail.

For a full explanation, see RenderLight.

MakeMegaTexture

The MakeMegaTexture console command loads the tiles outputted by RenderLight, then compiles and compresses them to generate the final MegaTexture.

For a full explanation, see MakeMegaTexture.