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
particle billboards
Started by jar, Jun 01 2006 04:17 PM
4 replies to this topic
#1
Posted 01 June 2006 - 04:17 PM
#2
Posted 01 June 2006 - 05:07 PM
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.
reedbeta.com - developer blog, OpenGL demos, and other projects
#3
Posted 01 June 2006 - 05:46 PM
Ah, ok, got it! I mixed it up with _screen_ space. Shame on me. Now it makes sense ;-)
Thanks a lot!
Thanks a lot!
#4
Posted 14 June 2006 - 12:56 PM
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..
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..
0, 1/2, 2/3, 3/4, 4/5, ...
#5
Posted 14 June 2006 - 01:18 PM
Hyde said:
After dx10 pointsprites will be a thing of the past anyway, or so I've heard..
Yay to geometry shaders!
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











