gbXML Viewer Sun Range Next Generation - Update 2018-06-17

‘Aragog’ gbXML Viewer currently has the ability to depict a Sun range for any date of the year with a maximum of 16 Suns in any rendering.

The current results are moderately acceptable but in no way compare with professional tools such as Radiance. The objective of the current exercise

  • Depict the shadows for a gbXML or Radiance .rad files given any reasonable number of Sun positions
  • Produce results that are reproducible and verifiable
  • Do all this in a manner that is fast, easy and simple

There are two parts to the solition:

  • Draw the shadows on the ground
  • Draw the shade and shadows on the building

We are currently tackling the first part. Good progress is being made. So here are some first visual results. Random boxes in 3D space are used to generate the objects to shadow. Coming soon: the ability to open and add gbXML files into the model.

Shadows calculated as one position per minute for a total of 720 sun positions projected onto a 512 x 512 pixel bitmap applied to a Three.js mesh as a material with anistropy of 4

Sun Range Bitmap Daily R1

Draws a Sun for every 1 to 60 minutes per 12 hour day for each of the twelve months

Sun Range Bitmap Yearly R1

Compare with the current capabilities


Today we have able to add some ‘real’ geometry to cast the shadows. Here is a view of gbXML geometry


There are about 70 Sun positions. The models has over 450 surfaces being used for calculations. The ground plane texture with the shadows is a 256 x 256 pixel bitmap.

And here is a view with geometry from a Radiance .RAD file (thanks Mostapha):


There’s a Sun position every minute for 12 hours (720 positions!). The bitmap is 512 x 512. This image took about ten minutes to create. ;-(

Coming up next will be the tricky part: calculating the shadow and shade on the building model itself. Fingers crossed we figure out a way to do this.

Sun Range Bitmap Read Me

Starting to add the geometry for the number of shadow incidents per time period

Sun Range Bitmap Daily R3


  • Fifty randomly position planes with 2x2 vertices per plane
  • 128x128 pixel ground plane bitmap. 14 hours at 15 minute intervals
  • Light and darkness on plane/ green and red arrows at vertices: both indicate the number of shadow events at each vertex


Coming up next: shadow events on actual gbXML and RAD files

1 Like