Hint Brushes - Just a Suggestion?

Discuss the construction of maps and the tools to create maps for 3D games.
Post Reply
jitspoe
Posts: 217
Joined: Mon Jan 17, 2005 5:27 am

Hint Brushes - Just a Suggestion?

Post by jitspoe »

I decided to do some experiments with hint brushes and discovered they don't behave quite like I would expect.

Here's a shot of a little L-shaped map in the editor:

Image

The selected brush is the hint brush I'm focusing on.

I compiled the map using Geoffrey DeWan's Quake2 Compiling utilities.

Here's a look at it in-game:

Image

It sort of does what I expect. It effectively hides most of the detail around the corner, which is the effect I want, but it doesn't split exactly on the hint brush. It splits the barrel in the way I would expect. It's cut in half diagonally. Part of the floor near the barrel is cut like this. Other parts of the floor are not split at all, though. The ceiling is also not split along the hint brush.

I suppose "hint" is an accurate name, if it's just a suggestion to the compiler, but it would be nice to make it behave exactly as expected. Sometimes large chunks of maps that should be hidden by properly placed hint brushes are visible.

Is this how it's supposed to work? If not, are there any utils out there that handle it properly? If not, any ideas on how to fix it?
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: Hint Brushes - Just a Suggestion?

Post by goldenboy »

I think hint brushes don't cut brushes, they cut *leafs*. In other words, a hint textured surface *forces the creation of a portal*. I'm not sure if splitting the BSP in the same places follows logically from this.

http://www.quake3world.com/forum/viewtopic.php?t=3620

If the hint brushes roughly do what they're supposed to (prevent too much of the map from being rendered), then I wouldn't worry tbh.

I don't know much about quake 2 compilers, is there a reason you're using Quake 2 format?

By the way, you shouldn't even need hint brushes if you build your map with proper vis blocking in mind.
jitspoe
Posts: 217
Joined: Mon Jan 17, 2005 5:27 am

Re: Hint Brushes - Just a Suggestion?

Post by jitspoe »

Hint brushes can make a huge difference. It's frustrating when you build a map with blatant vis blockers, and a huge amount of detail behind that solid wall you built is still being rendered. In my example, the entire map is rendered from almost every point.

As for why I'm using the Quake2 map format, I'm using a Quake2-based engine. :)
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: Hint Brushes - Just a Suggestion?

Post by goldenboy »

I guess I just don't know much about Q2 tech.

I use hint brushes in q3bsp extensively and they usually do what they should do.
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: Hint Brushes - Just a Suggestion?

Post by qbism »

Are any of these issues?
Non-rectangular hint brushes
Hint brushes share an edge with each other
Hint brush shares edge with desired vis-blocking corner (vs. offset a bit)
jitspoe
Posts: 217
Joined: Mon Jan 17, 2005 5:27 am

Re: Hint Brushes - Just a Suggestion?

Post by jitspoe »

I've tried a bunch of different configurations: wedges, trapezoids, rectangles, overlapping solid geometry, being flush with solid geometry, etc. They all exhibit similar behaviors (splitting, but not always).

Quake3 compilers are a lot more intelligent with the splitting. Not sure how difficult it would be to incorporate Q3 formats into this engine.

That link was pretty interesting, by the way. Can you specify a single plane for the hints? I need to implement something to display the portals as well. That could make the splits a lot less mysterious.
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: Hint Brushes - Just a Suggestion?

Post by goldenboy »

Yeah, to my knowledge you texture only one face of the brush with "hint" and the rest with "skip". This gives you one clean hint plane to force-create a vis portal with. At least this is how I'm doing it.

Unfortunately I really have no experience with doing anything like this in Quake 2. I'm not sure what the issue is with the splitting. In my experience, hint-created portals will block most of what's behind them, as long as the player can't currently see the portal. Quake 3 (and DP/FTE) has a command to display the entire level as a wireframe, and this will show you what's being rendered and what isn't. Hint portals work quite well for me, but IIRC they don't actually always cut the brushwork right at the portal. So you might have some surfaces rendered beyond the portal if they're partly visible.

But I haven't seen a case where a hint portal does almost nothing. That seems weird. It should always do something.

Then again, hint brushes might just work completely different in Quake 2.

Edit: here is a Q2 hint brush tutorial I found.

http://files.volved.com/qsr/qoole250_cd ... t/hint.htm

It seems from this that your hint brush must bisect the entire brushwork of a corridor. *shrug* So hint brushes in Quake 2 seem to be slightly different from hint brushes in Quake 3.

Edit 2: Adding Q3 support to an engine is probably no easy task, since you'd technically have to support all the shader stuff as well. FTE supports both Q2 and Q3, so have a look.
jitspoe
Posts: 217
Joined: Mon Jan 17, 2005 5:27 am

Re: Hint Brushes - Just a Suggestion?

Post by jitspoe »

Adding skip to all the surfaces but one had some interesting effects. It seemed to make the hint brush split more accurately, but I guess it didn't break the portals up correctly or something, as stuff was still visible around the corner.

I need to implement something that will display the portals. I see DarkPlaces has that functionality with r_showportals, but the data structures are considerably different. Anybody know if this has been implemented in a Quake2 engine?
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: Hint Brushes - Just a Suggestion?

Post by goldenboy »

GTKRadiant can show you the portals/leaves with a plugin called prtview. Install netradiant and the Quake 2 gamepack. No guarantees for it to work with Quake 2 maps though.

FTE runs Q2 and might have a similar function, I don't know.
Post Reply