Making Semi-transparent textures: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
m (re-org: textures)
No edit summary
Line 9: Line 9:
  {
  {
  glass
  glass
  noshadows
  translucent // avoids implicit opaque black stage used for filling the depth buffer
   
   
  {
  {
  blend  add  
  blend  add  
  map models/darkmod/props/textures/lamp_glass_lit
  map models/darkmod/props/textures/lamp_glass_lit
  rgb 1
 
  }
  }
  }
  }
Line 23: Line 23:




You can clearly see the texture, but you can also nicely see through it.  Imagine this as a window.  And no vertex shaders necessary, so it shouldn't have conflicts with water (though I haven't tested it).  The only downside is that you can't apply a normalmap or specular to the texture--if you do it becomes opaque.  But for glass that wouldn't be important anyway. I think this might be a cool way to provide transparent windows but still keep the warm glowy effect.  You wouldn't be able to use it for all window textures (since any frame or crosspiece in the texture would also become transparent unless they were straight black) but it will be very effective for some models, and might be useful in other places I haven't thought of yet (an underwater overlay comes to mind).
You can clearly see the texture, but you can also nicely see through it.  Imagine this as a window.  And no vertex shaders necessary, so it shouldn't have conflicts with water (though I haven't tested it).  With the "translucent" keyword, you can also add a specular and bumpmap to the texture if you wish.   I think this might be a cool way to provide transparent windows but still keep the warm glowy effect.  You wouldn't be able to use it for all window textures (since any frame or crosspiece in the texture would also become transparent unless they were straight black) but it will be very effective for some models, and might be useful in other places I haven't thought of yet (an underwater overlay comes to mind).


An example of it in models (the two outside ones).
An example of it in models (the two outside ones).

Revision as of 23:37, 5 March 2008

written by Springheel


I don't know if people already know about this, but it's news to me.

When I was working on the lantern textures, I noticed that if I used the following shader the texture turned out to be transparent.

textures/darkmod/metal/flat/lamp_glass_lit_transparent     //glass is partially transparent
{
	glass
	translucent // avoids implicit opaque black stage used for filling the depth buffer

	{
		blend   add 
		map	models/darkmod/props/textures/lamp_glass_lit
		
	 }
}

Better yet, it wasn't totally transparent--you could still see the texture itself, but you could see through it. The effect was pretty neat, so I tried it on a simple brush in a map. Here's the result.

transparency1.jpg


You can clearly see the texture, but you can also nicely see through it. Imagine this as a window. And no vertex shaders necessary, so it shouldn't have conflicts with water (though I haven't tested it). With the "translucent" keyword, you can also add a specular and bumpmap to the texture if you wish. I think this might be a cool way to provide transparent windows but still keep the warm glowy effect. You wouldn't be able to use it for all window textures (since any frame or crosspiece in the texture would also become transparent unless they were straight black) but it will be very effective for some models, and might be useful in other places I haven't thought of yet (an underwater overlay comes to mind).

An example of it in models (the two outside ones).

lamps3.jpg

Pinkdot pointed out that the "blend add" effect will brighten whatever the player sees through the texture. This would work well for looking into well-lit homes or for stained glass. By using the same technique, but replacing "add" with "filter" you can get semi-transparent textures that darken what you see through them, perfect for looking outside or into unlit homes.

transparency2.jpg

It's possible to put the lit texture on one side of a brush and the unlit on the other and have both work, so windows could have the proper appearance depending on whether you are looking inside or outside.