Particles and Billboards – Interactive 3D Graphics
One cool thing you can do with a square that has a transparency map is to create a bunch of these and have them move around. When a large number of objects like this move around we call them particles. This demo has 100,000 particles. One particular useful way to display particles is as if they’re 2D objects flat on the screen. The objects are actually in a 3D world, however. As the camera moves, these objects are reoriented so that they always face forward. In this example, we see squares moving about with each square always facing the viewer. You can then apply texture with an alpha channel to get an interesting look. By using transparency mapping, you can put whatever you want on a particle. Here are a bunch of dots moving around. An advantage of particles is that they can directly represent 3D scan to data. For example, here’s some movement data captured using a connect as displayed with particles. Some researchers and developers are actively looking at how to use particles as basic building blocks instead of triangles. Here’s an example from Markus Shuetz on his potree.org site that shows a realistic view made entirely of particles. This data was captured by a laser scan system by Faro Technologies. One advantage of particle systems is that data can be captured by a scanner and then directly viewed. No processing is needed to reconstruct any triangles or meshes. This program is running in the browser with more particles flowing in and filling in the gaps the longer you view it. That’s one advantage of particles, you can stream them in as you wish, bit by bit. With triangles, you tend to send in either some simplified mesh or the whole object, causing objects to pop into existence. The particles themselves can be made to look more realistic. You can use any texture you want when you’re doing transparency mapping. By using a sphere texture instead of a circle, these particles are more convincing as 3D objects. Weather is a common use for particle systems for making snow flakes or rain drops. For phenomena like rain, particles can have a lifetime where they’re created, fall through the sky, and when they hit the ground, they disappear. Particles usually face the viewer. This idea of having objects always face forward is called billboarding. It allows us to make 2D textures seem more like 3D objects, as we’ve seen. This demo shows a popular use for transparent textures on billboards, simulating clouds. This demo was by the main author of Three.js in fact. Larger billboards of cloud shapes are combined and overlapped to give the illusion of puffiness. I have to conclude with one of the cliches of computer graphics, the lens flare. It’s so easy to add this effect, that it’s been in many games, though there probably have been more games with crates. The sparkling patterns that simulate interaction of light with the cameras parts are all transparent textures whose position are computed on the fly.