mfn / GtkRadiant

Note: this has been long dormant, please check
https://github.com/TTimo/GtkRadiant
Other
13 stars 3 forks source link

Alt+4 doesn't filter trans #28

Open mfn opened 14 years ago

mfn commented 14 years ago

In 1.4 alt+4 filters everything trans more or less, all clips, etc....

mfn commented 14 years ago

I need proper verification on this, if someone can help out

AEonZR commented 14 years ago

This is indeed the case, in v1.4 the filter works, in v1.6 is "simply" does nothing.

Hipshot-zz commented 14 years ago

In 14 it filters everything that contains qer_trans [N], as long as all faces has that on a brush.

So if I want my nodraw to filter, I just add qer_trans 1 to the shader. It filters it even if its opaque in radiant. If I don't every brush that has nodraw on it, even if another face is a trans decal, will still be shown.

mfn commented 14 years ago

Picked up from a wily duck:

If you use View > Filter > Hints/Triggers/[few others] the appropriate brushes are not filtered.

AEonZR commented 14 years ago

This is really bad... quite a few other things do not work...

Working Filters: World, Entities, Caulk, Clips, Structural, Patches, Detail, Botclip.

Broken Filters: Translucent, Liquids, Lights, Hints, Models, Triggers

Untested: Area Portals, Paths Cluster Portals, Lightgrid

The untested filters are elements I never or at least in my present map do not use.

mfn commented 14 years ago

Am I still correct that this is a general 1.6 issue, not my modifications so far?

AEonZR commented 14 years ago

Indeed, tested

Broken Filters: Translucent, Liquids, Lights, Hints, Models, Triggers

with the last official release v1.6.1... they don't work there either.

0bsidian commented 14 years ago

I also want to note here that how GtkRadiant 1.4 and 1.5 handle editor transparency is a little different. There are 2 shader directives which GtkRadiant (should) read to display transparency, qer_trans and qer_alphaFunc.

1.4 only supports qer_trans with a normalized value indicating opacity. If the editorImage has an alpha channel, it will set the transparent (black) pixels of the alpha channel to 0 and the opaque (white) pixels to the qer_tran normalized value. So a chainlink fence texture with an alpha channel can have "qer_trans 0.9999" set in the shader will appear properly masked. IIRC, a qer_trans value of 1 will (perhaps incorrectly) force the editor to display the entire texture as opaque, ignoring the alpha channel, so you have to set a number approaching 1 (eg. 0.9999) for it to work.

qer_alphaFunc does not seem to work with 1.4.

In 1.5, qer_trans changes the entire surfaces opacity value, ignoring the alpha channel.

qer_alphaFunc (usually used with "gequal 0.5") is properly supported by 1.5 and is used when you have an alpha channel in the editorImage that you want to appear as a mask in the editor. qer_alphaFunc does NOT get filtered with qer_trans.

IMO, GtkRadiant 1.5 has the better (shader correct) implementation of this. I don't know if there is any way that you can elegantly do some sort of backward compatibility with shaders written for 1.4. It probably won't matter too much in the end since worst case scenario, masks won't appear properly in the editor, but nothing in-game will be affected.