pouët.net

point cloud lighting.. is this possible?

category: general [glöplog]
alienus - so, if I understand you correctly, you have a point-cloud, and want to illuminate each point with the light of the scene, but you fail because you have no normal.

The most immediately obvious solution would be to average over the environment-lighting - ie. calculate the lighting a given number of times, with the normal set to varying directions (you should sample over the entire sphere to get the right lighting).

If you want not only to calculate the average lighting in the point, but also the lighting coming from a given direction (or reflected back in a given direction - e.g. the one you're looking from) you should take a look at spherical harmonics.

ATI (humus) implemented a realtime dx10 point-cloud rendering technique rendering the environment into cubemaps.
added on the 2008-02-05 14:24:13 by hornet hornet
Oh, the technical term btw. is irradiance volumes.
added on the 2008-02-05 14:30:44 by hornet hornet
another very cheapo (give or take the extra texture lookup) solution is to use a small normal map for the sprite and rotate it by the camera direction - or, more efficiently, rotate the light direction by the inverse camera transform to get into "normalmap space", and dot that by the looked up normalmap value per pixel.
works great for spheres, and it's a bit shonky for everything else.
added on the 2008-02-05 14:48:23 by smash smash
smash, yep, and sphere+tubulenceNOise is cool for 3d looking smoke.
hornet, I don't fund the pointclouds rendeing by ati...
added on the 2008-02-05 18:50:40 by iq iq
added on the 2008-02-05 22:28:44 by hornet hornet
oh, that's a sh demo, not a point cloud renderer (I wanted to compare performance to mine)... To avoid the confusion, a point cloud is a set of xyz values that represet geometry (a scene), normally adquired by laser scanning (it has nothing to do with clouds, or indirect lighting probes). Regular "small" point clouds have around 250 million points after filtering, de-noising and consolidation (several scans must be aligned together). Alienus wanted to know how to shade such point clouds... I have only used diffuse and AO, but both need fast neighborhood queries, and apparently he doesn't want to relay on that... Anyway Alienus, for fast rendering of point clouds you need a kdtree/octree anyway.. so finding the closest points to a given sample is "for free" (implementation wise).
added on the 2008-02-06 01:03:59 by iq iq
aaah ok!

( ( point cloud ) lighting) != ( point (cloud lighting ) ) ...

!
or, lighting a cloud of points is not like point-lighting a cloud!
I never understood the point (cloud lighting) in the first place. What is it supposed to mean?
added on the 2008-02-06 22:05:18 by Hatikvah Hatikvah
lighting a cloud (e.g. in a volume texture) from a point (dot-light) perhaps?
added on the 2008-02-06 22:12:07 by Gargaj Gargaj
Perhaps, or someone pointing in a lit cloud.
added on the 2008-02-06 22:18:22 by Hatikvah Hatikvah
point cloud of lights
lighting of a cloud of point
a cloud of light-emitting points
...
added on the 2008-02-06 22:21:18 by bdk bdk
even more clouds (foggy even), lighting a BOX of matches.
added on the 2008-02-06 23:06:07 by gentleman gentleman
oh, this is hilarious :) I will not try to enlighten the point, you are all living in a cloud!!! :)
added on the 2008-02-07 00:05:47 by iq iq

login