Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Three.js - sphere that glows

I have a problem. I want to make a sphere which works like a source of light (sun). I found out that meshPhongMaterial has an option like emissive: color and shininess: intensity but I did not manage to code the sun. Does anyone know how to do it? Thank you for answers!

like image 599
karlosss Avatar asked May 03 '13 13:05

karlosss


2 Answers

meshPhong material has parameters 'emissive' and 'shininess' that affect the calculations within material shader, but those won't give you the effect that you want, they are just used for calculating final color.

You can put spotlight, for example, at the exact position as the sphere, so it would lighten up object around it. However, if you want to achieve the effect of glowing sphere, you would have to write post-processing shader:

  • Render sphere to framebuffer 1.
  • Render same sphere colored yellow (or some other bright color) to framebuffer 2.
  • Blur content in framebuffer 2 as post-processing effect.
  • Blend original image (framebuffer 1) and blurred framebuffer 2 together to produce the final image.

Also, some examples don't use actual post-processing to achieve glowing, but they use trick.

You render sphere and then render some quad with "glow aura" texture in the back. Visit: http://threegraphs.com/charts/sample/world/ to see how you can maybe simulate glow and create eclipse-like circle around sphere.

like image 104
Dragan Okanovic Avatar answered Sep 18 '22 12:09

Dragan Okanovic


If you are looking to create a glow-style effect, I have a written a number of examples at http://stemkoski.github.io/Three.js/ that may be helpful, including:

http://stemkoski.github.io/Three.js/Selective-Glow.html
with accompanying blog post
http://stemkoski.blogspot.com/2013/03/using-shaders-and-selective-glow.html

as well as the more atmospheric-style glow effects

http://stemkoski.github.io/Three.js/Atmosphere.html
and
http://stemkoski.github.io/Three.js/Shader-Halo.html

Hope this helps!

like image 45
Stemkoski Avatar answered Sep 20 '22 12:09

Stemkoski