From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Sky Generator Project. Summer of Code 2006

[ Proposal page ] [ Contact info ] [ Back to the GSoC2006 ]

Introduction

Sunlight and skylight together with cloud effects are widely used in 3d applications to provide beautiful and realistic views in outdoor scenes. Sky generator (SG) is a general name for functionality intended to enable these features. Although simulation can be computationally expensive, it can be approximated in order to receive enough quality in acceptable time.

Current Blender’s world object provides simple shading model allowing in some cases to substitute skylight. SG is intended to extend world object and provide accurate atmospheric effects in Blender, allowing users to avoid usage of external tools for these purposes. more...

Development plan

The project consists of four big parts, which can be called Sky, Clouds and Animation. Each part is independent from another so will be implemented as separate ‘project-in-project’. Modeling part, introduced in proposal, was decided to spread on first two. It will help to keep integrity in each sub-project.

Sky

[Technical doc]

Sky is physical-based skylight, sunlight and aerial perspective model for Blender. It provides realistic visualization of world’s sky dome. And atmospheric aerial perspective effect (‘fog’, desaturation and color shift of distant objects). More information can be found in references of proposal doc.

Sky background

Sky background is calculated at every pixel of rendering image, using camera orientation and atmosphere parameters. The process does not uses separate buffers for storing full sky color image, thus can be used with different resolution modes without drawbacks in quality.

Sun object

Sun will have own representation as scene object by SunLamp (lamp with 'Sun' mode on). User will be able both to change its position manually or use geographical coordinates and time/date properties. While rendering sun will be shown as halo object. Also support of multiple suns is supposed. Influence of several stars will be calculated as:

result = W1 * param1 + W2 * param2 + ...

Where Wi - is weight factor for each sun, parami - necessary parameter (e.g. color).

Clouds

[Technical doc]

Clouds will be built on base of particles and containers (See http://www.ofb.net/~eggplant/clouds/). Container - is a mesh (or set of meshes) that holds single cloud object mass. So artists will be able to create clouds with necessary shapes and place in proper places in the scene. Particles (that represent cloud parts) will be arranged inside of container meshes. Freecy clouds will be considered separately.

Animation

As we have defined scene objects, animation of them will be quite straightforward.