Q 3A Shader Editor

 
 
C  ontents
 
   
 
B  ackground
Textures in Quake3:Arena are no longer a simple texture combined with a lightmap, but are fully scripted entities which can be used to control practically every option OpenGL exposes when it comes to texture positioning, transformation, blending and whatnot. To facilitate the creation and editing of such scripts, this tool will parse a script and present it as a Windows GUI which is easier to understand and navigate than the bare C-like text files.

The current version supports :

  • Opening and browsing through the PAK files; reading of Targa and JPEG images directly from the PAK without extraction of temporary files
  • Realtime preview of the shader in an OpenGL, hardware accelerated subwindow
  • Easy editing of the frames in an animation
  • Support for the rgbgen, alphagen, ... keywords, including a dialog box for easy specification of the waveform to be used, with realtime preview of the resulting grey values
  • Support for the blending functions
  • Support for the tcmod commands, including scrolling, rotation, turbulence, stretching
  • Support for the tcgen commands, including environment mapping and projected textures
  • Support for unlimited layers per shader (although Q3A may have a limit) with option to preview the entire shader, the shader up to the current layer, or the current layer only
  • Support for the exotic stuff like skyparms, fogparms ...
  • Saving of shaders into a syntactically correct .shader file, immediately ready for map editing
  • Support for deformVertexes
  • Parsing of existing shaders
 
   

 
R  eleases
Since this program, and the tech behind it, is of use to the company I work for, Larian Studios, they agreed to pay me to work on this, while at the same time allowing me to release this tool for free on the net. If you agree that this is pretty damn cool, be sure to visit the site :)

This program is freeware : you can distribute and copy it at will as long as you do so at no charge, except for charges to cover the carrying media. The software may be repacked as part of a package as long as the original ZIP file is included unmodified.

If you happen to use this tool for production work, credit would be cool ;)

Here is the list of daily changes

Version 0.7, 31/07/2000

    Highlights :
  • Full support for cut/copy/paste of entire shaders or individual stages
  • Much faster loading of textures, making for nearly-instant browsing of the shaders
  • More flexible GUI : use a texture as the preview backdrop; proper keyboard support; etc; plus a host of bugfixes

Q3ASE.zip ??? bytes

There is now also a tutorial by fatmanfat (updated 12/06/2000).

Version 0.6, 12/06/2000

    Highlights :
  • Parsing, at last, of existing shader files both from directory or from PAKfiles
  • Smart caching allows browsing and previewing even when hundreds of shaders are open
  • Cool extras such as aspect preserving window resizing, readonly protection of the id files, multiple lightmaps for a more realistic preview of the shaders, etc

Version 0.5, 05/05/2000

    Highlights :
  • Supports every existing keyword, except for q3map_backshader (requires parser)
  • Realtime preview of deformVertexes
  • Custom preview modes for editing skies, fog, and entering polar coordinates

Version 0.4.1 Beta, 12/04/2000
Fixes the broken Spinning Cube & Cascade preview modes

Version 0.4 Beta, 10/04/2000

    Highlights :
  • Totally redesigned GUI makes for a much more productive, streamlined environment : treeviews and context sensitive popup menus replace the flip a switch jungle
  • Practically pixel-perfect imitation of the in-game Q3A shader stages
  • A truckload of bugfixes and minor enhancements for more stability and better speed

Version 0.3 Beta, 16/02/2000

    Highlights :
  • You can type a shader name, and pick a qer_editor image and lightimage; this means this release is the first to output complete, valid shaders which can go into the game unmodified
  • Added support for all the surfaceparm keywords
  • Use of tabsheets for less cluttered and easier to navigate controls
  • Better preview window stretches textures for more in-game like appearance
  • A few bugfixes, notably a more reliable preview in the texture browser

Version 0.2 Beta, 06/02/2000

    Highlights :
  • Much improved file loading : correct handling of alpha channel; stable loading of large JPEGs; workaround for the Q3A jpg/tga extension bug; realtime preview in the texture browser; option to add pakfiles as well as directories
  • Full support for alphaGen, $lightmap, $whiteimage, alphaFunc
  • Tool assists in checking shader validity : missing lightmaps, correct detail textures
  • Easy shuffling around of layers
  • Preview window supports 32bit bitdepths
  • A few bugfixes


Version 0.1 Beta, 01/02/2000
Enough functionality is here to use this tool as a shader designer. It's not strong enough yet to load and edit existing shaders, or to produce complete shaders in itself. It is very handy though for visually combining the layers (the actual creative part of shader design) and toying around with the FX. The Save button dumps the layers in text format, so wrapping it up with the usual shader stuff should allow you to use the shaders in new maps.
Alot is still missing, and not much testing was done :) Released strictly under the "release early, release often" motto.

If it complains about "msvcp60.dll not found", put this file (115795 bytes) in your c:\windows\system.

Sites : Email : rat@planetquake.com Using this email alias instead of rat@larian.com should provide faster response.

 

 
C  redits
  • Logo : David 'dines' Durrenberger from the third dimension
  • Additional graphics : Eutectic, fatmanfat
  • Quality Assurance : Eutectic -- the person to thank for the streamlined GUI and accuracy of the renderer
  • Beta testing : my thanks to Paul Jaquays for some tips; Jason "Phoenix" Wilkins for debunking the broken tcMod and a few other quirks; the Curry team for allowing me to l33ch their TreeView idea =); Ken Proudfoot, Maj, Fatman Fat for bugreports;
  • Tutorial : Fatmanfat
  • Programming : Bert Peers
  • Special thanks to John Carmack for helping us reach the final word on how tcMod turb interacts with the other tcMod code
  • This program uses : the Independent JPEG group's library; ZLib
 
 
Back to my homepage