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.
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.
Oh, the technical term btw. is irradiance volumes.
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.
works great for spheres, and it's a bit shonky for everything else.
smash, yep, and sphere+tubulenceNOise is cool for 3d looking smoke.
hornet, I don't fund the pointclouds rendeing by ati...
hornet, I don't fund the pointclouds rendeing by ati...
iq - it's the global illumination one.
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).
aaah ok!
( ( point cloud ) lighting) != ( point (cloud lighting ) ) ...
!
( ( 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?
lighting a cloud (e.g. in a volume texture) from a point (dot-light) perhaps?
Perhaps, or someone pointing in a lit cloud.
point cloud of lights
lighting of a cloud of point
a cloud of light-emitting points
...
lighting of a cloud of point
a cloud of light-emitting points
...
even more clouds (foggy even), lighting a BOX of matches.
oh, this is hilarious :) I will not try to enlighten the point, you are all living in a cloud!!! :)