particle billboards

274118c207abd3d2c3d28bd4b424fd7a
0
jar 101 Jun 01, 2006 at 16:17

OK, so I want to render my particle system and have decided to use billboards instead of point sprites (see this thread to know why).
The question I have is: Why seems everybody to apply the billboard size in _camera_-space instead of world-space? Doing this in camera-space seems odd to me: This will not take viewer distance into account (billboards have same size regardless of distance to viewer), right? This is maybe ok for small particles, but what about things like smoke, clouds and so on? In this case I would expect the smoke particles of a burning house in the distance to be smaller than if it were near.
Also, the point sprite interface of D3D allows exactly this IIRC: One can provide params for a distance function.

Am I missing something?

Thanks in advance,
jar

4 Replies

Please log in or register to post a reply.

A8433b04cb41dd57113740b779f61acb
0
Reedbeta 167 Jun 01, 2006 at 17:07

The perspective effect will make the distant billboards appear smaller. Camera space is still 3D, you know…you’re rendering quads in space and they will naturally be smaller when they are farther away.

274118c207abd3d2c3d28bd4b424fd7a
0
jar 101 Jun 01, 2006 at 17:46

Ah, ok, got it! I mixed it up with _screen_ space. Shame on me. Now it makes sense ;-)

Thanks a lot!

A3dd48e1deb889dd2b4d5e129550e9fd
0
Hyde 101 Jun 14, 2006 at 12:56

Slightly off-topic:

About pointsprites and billboards. I believe the point of pointsprites is that they should provide a quick way of rendering small points, i.e. ‘thick’ pixels if you wish. So if you wish to draw big billboards of some kind, you will sometimes get into trouble with size-restrictions on some cards and you should make your own quads from triangle(s) instead.

Regarding the thread referenced in the original post: I never really got any good answers there to my question there, and after a while I gave up using point-sprites for my purposes. It seems most people, including the people who wrote the damn d3d-documentation, do not know anything much about the more subtle use of point sprites. If you try to do anything at all fancy with programmable shaders and pointsprites, there’s a good chance you will encounter some strange, unexpected problems.

After dx10 pointsprites will be a thing of the past anyway, or so I’ve heard..

6673a7d3bfd3d1db5e05c5676cc040b6
0
Goz 101 Jun 14, 2006 at 13:18

@Hyde

After dx10 pointsprites will be a thing of the past anyway, or so I’ve heard..

Yay to geometry shaders!