PDA

View Full Version : Request: _decal target


Matt
23rd September 2003, 17:01
Or something like _decal style...

I'm thinking about really high detailed terrain, and I thought about how much easier it would be to place things like patches of dirt, or a little stone path, or something if I just used _decal, the only problem is, decal will pass through everything.

If we had a _decalstyle and say your terrain is set up like

_decalstyle "terrain"

and the _decals are set up as

_decal
_decaltarget "terrain"

Then it wouldn't hit say, a house or a tree that's on the terrain, just the ground itself.

I think everyone would benefit from this.

ydnar
23rd September 2003, 22:25
That's a great idea. Not too hard, either.

I'll see what I can do...

y

Matt
24th September 2003, 03:47
Seriously man, it's too bad you chose an opensource route because you'd be so rich from Q3Map2... I'd pay for your stuff, to be honest.

Set up a paypal account and see what happens.

Valhue2
24th September 2003, 04:46
*Me slaps Matt w/ rotten Trout.. but realizes that Matt lives in Phx too.. Me retreats back out of the sun to work on PC tan!*

Common now.. Paypal? Hopefully ydnar shoudnt get that desperate. If he does, then he should apply for a job in the games industry and get paid for it that way.

V^2

ydnar
24th September 2003, 08:22
Had a PayPal account for ages. If you really, really want to, you can donate (https://www.paypal.com/cgi-bin/webscr?return=http://shaderlab.com/&item_name=ydnar&business=ydnar@shaderlab.com&cmd=_xclick) to the ydnar beer fund.

:beer:

SCDS_reyalP
24th September 2003, 22:02
Seriously man, it's too bad you chose an opensource route because you'd be so rich from Q3Map2... I'd pay for your stuff, to be honest.

Set up a paypal account and see what happens.
If id hadn't gone the opensource route, ydnar would never have got a chance to touch q3map. :poke:

Anyway, it was my impression that he has a job in the games industry, with some obscure company in the UK. :moo:

damocles
24th September 2003, 22:40
To expand the idea, how about a target/targetname kind of approach. Say you target the _decal entity to a func_group or terrain group etc (any brushwork entity) and it only applies itself to the targetted entity. If the target is a null then it does the usual projection.

Emon
24th September 2003, 22:47
I have another idea. How about a func_* with a key like "decalShadow" where all shadows cast on the object become decals, and are merged with the entity? Then you could have shadows move with entities without the hassle of making your own decal. I can't see it being that hard, either.

chavo_one
25th September 2003, 00:06
Anyway, it was my impression that he has a job in the games industry, with some obscure company in the UK. :moo:

I was wondering about this, by the way, because ydnar's name is no longer on the SD employee's page, and he hasn't had a SD avatar for a while now. Ydnar, I imagine you're doing work for all of the Id partners now?

Matt
25th September 2003, 03:36
I have another idea. How about a func_* with a key like "decalShadow" where all shadows cast on the object become decals, and are merged with the entity? Then you could have shadows move with entities without the hassle of making your own decal. I can't see it being that hard, either.

That's not needed, the original thing I posted in the first post, would do all that work.

One thing I wanted this for, was to do large cloud shadows going across multiple surfaces, without having to add lines to every shader.

ydnar
25th September 2003, 05:24
I have another idea. How about a func_* with a key like "decalShadow" where all shadows cast on the object become decals, and are merged with the entity? Then you could have shadows move with entities without the hassle of making your own decal. I can't see it being that hard, either.

That's not needed, the original thing I posted in the first post, would do all that work.

One thing I wanted this for, was to do large cloud shadows going across multiple surfaces, without having to add lines to every shader.

Well, you'd actually want to add lines to your shaders. Projecting a decal over large amounts of surfaces will double the amount of geometry to store and draw. One additional shader pass is the cheapest way to do it.

y

Emon
25th September 2003, 05:34
Bu'twat about the lightmap decalizer?

Hewster
27th September 2003, 14:50
Or something like _decal style...

I'm thinking about really high detailed terrain, and I thought about how much easier it would be to place things like patches of dirt, or a little stone path, or something if I just used _decal, the only problem is, decal will pass through everything.

If we had a _decalstyle and say your terrain is set up like

_decalstyle "terrain"

and the _decals are set up as

_decal
_decaltarget "terrain"

Then it wouldn't hit say, a house or a tree that's on the terrain, just the ground itself.

I think everyone would benefit from this.

mm me like this idea a lot :)

Matt
12th October 2003, 04:07
I have another idea. How about a func_* with a key like "decalShadow" where all shadows cast on the object become decals, and are merged with the entity? Then you could have shadows move with entities without the hassle of making your own decal. I can't see it being that hard, either.

That's not needed, the original thing I posted in the first post, would do all that work.

One thing I wanted this for, was to do large cloud shadows going across multiple surfaces, without having to add lines to every shader.

Well, you'd actually want to add lines to your shaders. Projecting a decal over large amounts of surfaces will double the amount of geometry to store and draw. One additional shader pass is the cheapest way to do it.

y

That wouldn't be the same thing at all, and for some scenarios, I would sacrifice FPS for the effect.

Look at it this way:

If I wanted to project cloud shadows over the entire map, and I wanted them to be distorted in some areas (like on steep slopes) then I would NEED to do it as a decal projection. Otherwise, it would literally take years to properly stretch and position each shader, where the decal would do it correctly. Also, if I only wanted those cloud shadows on buildings, but not the terrain around them, I could group them and have the decal be targeted only at them. Get it?

rgoer
12th October 2003, 04:30
If lightmap shadows were converted to _decal entities, then you could get "static" shadows falling onto dynamic-but-stationary brush entities, like func_rotating entities. That could be cool, maybe. Could also be a huge pain in the ass.

ydnar
12th October 2003, 20:40
To do interesting projected cloud texture effects on certain areas of a map, try using tcGen vector (http://shaderlab.com/slrl/?p=notes/quake_3/shaders/2001-12-18_vector_01.sl).

y