esselfortium Posted September 6, 2008 I discovered tonight that Boom's TRANMAP lumps (precalculated translucency tables) are effectively 256x256 flats, meaning they can be edited in Photoshop, Paint.NET, or any other decent image editor that supports layers. This means that they can be manually created and used for all sorts of cool things that basic translucency can't do. With it I've created Boom-compatible additive blending, grayscaling effects, color inversion, hue-shifting, and all sorts of other useful things. They work perfectly in PrBoom and Eternity, but ZDoom completely ignores the TRANMAP lumps, totally breaking the effects. (I've put in a feature request for this, since it seems most people just use ZDoom for everything regardless of intended port.) A few examples: http://sl4.poned.com/screens/tranmap-fx/etrn425.png Hue shift, inversion, and grayscale http://sl4.poned.com/screens/tranmap-fx/etrn413.png Additive blending http://sl4.poned.com/screens/tranmap-fx/etrn411.png Grayscale http://sl4.poned.com/screens/tranmap-fx/etrn419.png Inverted midtextures and stuff behind them http://sl4.poned.com/screens/tranmap-fx/etrn418.png Inverted stuff behind midtextures only The screenshots were taken in Eternity, but this feature was in Boom itself. I used http://sl4.poned.com/screens/tranmap-fx/tranmaps/TRANS100.bmp as a base, a 0% opacity table. To create a tranmap, open TRANS100.bmp in your image editor of choice, and create a new layer with those same color bars from TRANS100.bmp in it (just copy and paste, or duplicate the layer). Then rotate it 90 degrees counter-clockwise (putting the purples on the right), and set its opacity to the amount of translucency you want. Changing the brightness or coloring of the horizontal bars will affect what's behind the midtexture, and changing the vertical bars in the transparent layer will affect the transparent midtexture itself. Now import it into your wad with whatever lump name you want, and use the Save As Doom Flat menu item in XWE to put it into the correct format. To use it in a map, tag all the lines you want to make translucent, but do not set special 260 (translucent line) on them. Put a line in a dummy sector somewhere that has special 260 and that sector tag, with your tranmap lump's name as its middle texture. If you've done it right and you're using a Boom-compatible port that's not ZDoom, it should work. Here are a few sample tranmaps. They need to be converted to Doom flats in XWE before you can use them: http://sl4.poned.com/screens/tranmap-fx/tranmaps/TRANSB_W.png - Turns everything behind the midtexture into grayscale, without actually making the midtexture itself visible. http://sl4.poned.com/screens/tranmap-fx/tranmaps/TRANSBW2.png - Makes the midtexture and everything behind it grayscale. http://sl4.poned.com/screens/tranmap-fx/tranmaps/TRANSAD2.png - Bright additive blending. http://sl4.poned.com/screens/tranmap-fx/tranmaps/TRANSIN2.png - Inverts the colors of everything behind the midtexture, without displaying the midtexture itself. http://sl4.poned.com/screens/tranmap-fx/tranmaps/TRANSIN3.png - Inverts the colors of the midtexture and everything behind it. http://sl4.poned.com/screens/tranmap-fx/tranmaps/TRANSINV.png - Inverts the midtexture only, but not what's behind it. Have fun! 2 Share this post Link to post
Death-Destiny Posted September 6, 2008 Cool. More toys to play with the next time I make a Boom map. Thanks a ton Essel! I still play maps in the ports they're intended for, so I can appreciate this. =D 0 Share this post Link to post
Graf Zahl Posted September 6, 2008 Just a note: OpenGL ports can not recreate such effects at all for obvious technical reasons so anyone using GZDoom or PrBoom's GL renderer won't be able to use it. 0 Share this post Link to post
TomoAlien Posted September 6, 2008 Cool, i've made some effects with it (Red glass effect, tinter, invulnerability sphere effect). Nice find Essel. 0 Share this post Link to post
andrewj Posted September 6, 2008 Graf Zahl said:OpenGL ports can not recreate such effects at all for obvious technical reasons so anyone using GZDoom or PrBoom's GL renderer won't be able to use it. You could support some of these effects (those that are possible in GL) by performing an analysis of the TRANMAP lump being used. But there's probably no one in the world willing to write that analysis code :) 0 Share this post Link to post
TomoAlien Posted September 6, 2008 Ajapted said:You could support some of these effects (those that are possible in GL) by performing an analysis of the TRANMAP lump being used. But there's probably no one in the world willing to write that analysis code :) It would require use of Pixel Shaders since they can do that. 0 Share this post Link to post
Graf Zahl Posted September 6, 2008 Ajapted said:You could support some of these effects (those that are possible in GL) by performing an analysis of the TRANMAP lump being used. But there's probably no one in the world willing to write that analysis code :) I think you nailed the problem. ;) TomoAlien said:It would require use of Pixel Shaders since they can do that. No, they can't. Pixel shaders don't control the blending with the background, only how the source data is generated. And besides, the destination is always true color so the TRANMAP data would have no reference of what color index to use for it. 0 Share this post Link to post
TomoAlien Posted September 6, 2008 Graf Zahl said:No, they can't. Pixel shaders don't control the blending with the background, only how the source data is generated. And besides, the destination is always true color so the TRANMAP data would have no reference of what color index to use for it. Stupid me. 0 Share this post Link to post
leileilol Posted September 6, 2008 Heretic and Hexen has tranmaps as well, IIRC 0 Share this post Link to post
Use Posted September 6, 2008 Yes, secret technology developed for a secret doom project full of secrets.... o.- 0 Share this post Link to post
entryway Posted December 20, 2012 Firefox can't find the server at sl4.poned.com :( Do you still have these screnshots locally? 0 Share this post Link to post
Mad Butcher Posted December 20, 2012 All the images are at archive.org. http://wayback.archive.org/web/*/http://sl4.poned.com/* 0 Share this post Link to post
wesleyjohnson Posted December 21, 2012 I have done some tranmap analysis in DoomLegacy, to support RGB draw modes and opengl rendering. The analysis can detect average translucency, can draw translucent and opaque pixels. Other effects will be lost. More strange uses of these tranmaps will require that the ports have a normal tranmap application before RGB conversion. This will not work with textures and sprites that already are RGB, nor with RGB draw screens, which creates a conflict. At least we still have a palette draw mode, which should be able to handle these. 0 Share this post Link to post
hawkwind Posted December 21, 2012 Graf Zahl said:Just a note: OpenGL ports can not recreate such effects at all for obvious technical reasons so anyone using GZDoom or PrBoom's GL renderer won't be able to use it. Ditto for Risen3D 0 Share this post Link to post
Memfis Posted March 7, 2013 I don't know if this is the correct place to ask but... I'm looking at orange sky through translucent waterfall texture and I see some purple pixels: Do I need some custom TRANMAP to get rid of them? If so, how do I make it? The map is for prboom-plus -complevel 9 (I don't mind if it will not work in opengl) 0 Share this post Link to post
Gez Posted March 7, 2013 The problem probably doesn't happen in OpenGL anyway. 0 Share this post Link to post