Null Texture
Kalopsia
Join Date: 2003-05-15 Member: 16331Members, Reinforced - Shadow
<div class="IPBDescription">Is this right ?</div> just making sure before i do too much with it. This is how i use it:
>Make a brush with null on all sides
>Side that needs correct texture replace it
>and adjust new texture, leave all other sides null
is that ok or not ?
>Make a brush with null on all sides
>Side that needs correct texture replace it
>and adjust new texture, leave all other sides null
is that ok or not ?
Comments
I usually go about creating everything with normal tex's and then going around and texturing unnecesary sides with the null texture. The most usefull use of the null texture is on the sides of entities that you dont see due to them being against walls and such.
The sides of normal brushes doesn't really matter since if they are not in the viewable world, they are cut during the compile process.
On a solid you will see trough it (hall of mirrors), same with brush entities, its just invisible or better, not existing.
It does not add to r_speeds, does not reflect light (but might block it) , the whole face is deleted in the end.
sweet then i will continue to do so then.
Yep, it does block light <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
Some tall guy, that is interesting, I will do some experimentation myself to see if there is any truth to it. As far as I know there really should e no difference between just texturing unnecesary faces with null, and doing it the way you suggested.
Note that brush-entities don't have a lot of faces removed when they're compiled into a map, so using NULL on brush entities, especially pipes and glass and illusionary effects and such, is one effective way of kicking r_speeds down.
The inadequacy of the sky texture for this purpose is the reason why Merl added the NULL texture to the tools--as mentioned in <a href='http://www.chatbear.com/board.plm?a=viewthread&t=535,1004138143,15692&id=81015&b=653&v=flatold' target='_blank'>this VERC thread</a> where Merkaba talks about sky causing a framerate hit even with its lowered r_speeds. If you want to see sky, use sky. If you want to optimize r_speeds by removing textures from unseen locations, use NULL--that's what it's there for.
I don't remember being angry when I wrote it, but I guess it's a little terse <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->.
Please don't take it personally--I just wanted to make absolutely sure that there wasn't any confusion on the topic. I'm sorry if it read like an attack. The bottom line is you can't get more efficient than doing nothing, which is what happens when a face is covered in null--the face is removed from the map during compilation, and engine doesn't have to do anything during runtime.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> I may be doing this wrong but I've applied the null texture to various points (where solid bit sof architecture meet the floor/roof etc) and it has no effect on r_speeds at all... <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
NULL still splits the world like other textures--using it won't keep one face from cutting into another. Either turn one part of the intersecting geometry into a func_wall or use a 1 unit gap to prevent the split.
NULL should be used for faces that the player won't be able to see under normal conditions--coating the backs of pipes that the player won't see, for instance. The w_poly count measures faces drawn during each frame, and the engine is smart enough to skip drawing faces that are pointing away from the player (a.k.a. backfaces)--if you NULL out backs of pipes that the player can't ever see, you probably won't see a change in the r_speeds number looking at the front of those pipes. If the engine draws the back of the pipe from another room (use gl_wireframe 2 in console with cheats on to check this), that's where you'll see an r_speeds improvement.
Even skipped faces that don't contribute to the w_poly counter are taking up a little time during rendering, though -- since NULL faces don't exist in the final BSP, a map that uses them will still be more efficient with identical w_poly counts since the engine doesn't have to test and skip as many backfaces.