Should NoDraw be put on all nonvisible faces?

Should NoDraw be put on all nonvisible faces?

Re: Should NoDraw be put on all nonvisible faces? Posted by CPS on Thu Dec 9th 2004 at 4:38am
CPS
60 posts
Posted 2004-12-09 4:38am
CPS
member
60 posts 6 snarkmarks Registered: Nov 21st 2004 Location: USA
Is this a good thing to do, or are there disadvantages too it? I am guessing that it would save a lot of polygons, is this true? Thank you for any info on this.
Re: Should NoDraw be put on all nonvisible faces? Posted by Joe-Bob on Thu Dec 9th 2004 at 4:53am
Joe-Bob
180 posts
Posted 2004-12-09 4:53am
Joe-Bob
member
180 posts 77 snarkmarks Registered: Dec 3rd 2004
It can't hurt, and here a couple more uses, such as:

Water - Only the top surface is a water texture, the rest are nodraws.

Shattering Glass - All faces except the visible one should be nodraws.

Large Models - Brushes behind some models can't be seen anyway, so why draw it?

The most common use in HL2 that I've observed is the nodrawing
of the tops of buildings. You can only see them if you noclip up
them.

Remember though, the outside of the map isn't rendered anyway. It probably won't help anything there.
Re: Should NoDraw be put on all nonvisible faces? Posted by CPS on Mon Dec 13th 2004 at 6:51am
CPS
60 posts
Posted 2004-12-13 6:51am
CPS
member
60 posts 6 snarkmarks Registered: Nov 21st 2004 Location: USA
So lets say that I have a func_detail pole, and the player would not see the ends of the pole because it touches the ground and another object, should nodraw be put on the top and bottom of it?
Re: Should NoDraw be put on all nonvisible faces? Posted by Nanodeath on Mon Dec 13th 2004 at 6:55am
Nanodeath
356 posts
Posted 2004-12-13 6:55am
356 posts 66 snarkmarks Registered: Nov 11th 2004 Occupation: Student - Bioengineering Location: Seattle, WA, USA
From what I understand it isn't necessary to put it where players will never be able to see. Such as...the outside of the skybox. So while it would be beneficial to put it on top of the pole, I don't think it's necessary to put it on the bottom. Though I may be wrong, as this is a func_detail and not a normal brush...
Re: Should NoDraw be put on all nonvisible faces? Posted by Captain P on Mon Dec 13th 2004 at 8:27am
Captain P
1370 posts
Posted 2004-12-13 8:27am
1370 posts 1995 snarkmarks Registered: Nov 6th 2003 Occupation: Game-programmer Location: Netherlands
There's a difference between never seen and never rendered. When
something is rendered but never seen, you should apply the nodraw
texture to it (like indeed a face behind a model, where the model
totally hides the face).

When something is never rendered (thus also never seen), you don't have
to apply the nodraw, since it doesn't improve performance. However,
there's still a reason why to apply the nodraw texture: why compile
faces that are never seen? It takes up time and filesize while it's
unnecessary...

As for the pole, both top and bottom faces are generated. They're not
always rendered as usually the player looks at the back of the face, in
wich case it isn't rendered. Should the player get to a lower level,
while the pole is still in the visible packet list, then the bottom
face would be rendered (but not seen because other faces are in the
way).

The compilers generally discard all faces that don't touch the inside
of the map, so it has indeed no use on the outside of a skybox (Skybox?
That's another story. Never use it unless you know what you're doing.).
Entity faces however aren't discarded, that's why it doesn't apply to
the bottom of this pole.
Re: Should NoDraw be put on all nonvisible faces? Posted by Nanodeath on Mon Dec 13th 2004 at 9:56am
Nanodeath
356 posts
Posted 2004-12-13 9:56am
356 posts 66 snarkmarks Registered: Nov 11th 2004 Occupation: Student - Bioengineering Location: Seattle, WA, USA
<DIV class=quote>
<DIV class=quotetitle>? quoting Captain P</DIV>
<DIV class=quotetext>
... Entity faces however aren't discarded, that's why it doesn't apply to the bottom of this pole.
</DIV></DIV>
Thanks, that clears that part up for me. And as for the rest of it...I'm not that articulate :wink: plus I didn't know the technical aspect of it.
Re: Should NoDraw be put on all nonvisible faces? Posted by Myrk- on Mon Dec 13th 2004 at 2:11pm
Myrk-
2299 posts
Posted 2004-12-13 2:11pm
Myrk-
member
2299 posts 604 snarkmarks Registered: Feb 12th 2002 Occupation: CAD & Graphics Technician Location: Plymouth, UK
My understanding aswell is that you should put it everywhere the player cannot see, that way it compiles quicker I find.