Blender  V3.3
Macros | Typedefs | Functions
sky_model.cpp File Reference
#include "sky_model.h"
#include "sky_model_data.h"
#include <assert.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Macros

#define MATH_PI   3.141592653589793
 
#define MATH_DEG_TO_RAD   (MATH_PI / 180.0)
 
#define DEGREES   *MATH_DEG_TO_RAD
 
#define TERRESTRIAL_SOLAR_RADIUS   ((0.51 DEGREES) / 2.0)
 
#define ALLOC(_struct)   ((_struct *)malloc(sizeof(_struct)))
 

Typedefs

typedef const doubleArHosekSkyModel_Dataset
 
typedef const doubleArHosekSkyModel_Radiance_Dataset
 

Functions

static void ArHosekSkyModel_CookConfiguration (ArHosekSkyModel_Dataset dataset, SKY_ArHosekSkyModelConfiguration config, double turbidity, double albedo, double solar_elevation)
 
static double ArHosekSkyModel_CookRadianceConfiguration (ArHosekSkyModel_Radiance_Dataset dataset, double turbidity, double albedo, double solar_elevation)
 
static double ArHosekSkyModel_GetRadianceInternal (const SKY_ArHosekSkyModelConfiguration configuration, const double theta, const double gamma)
 
void SKY_arhosekskymodelstate_free (SKY_ArHosekSkyModelState *state)
 
double SKY_arhosekskymodel_radiance (SKY_ArHosekSkyModelState *state, double theta, double gamma, double wavelength)
 
SKY_ArHosekSkyModelStateSKY_arhosek_xyz_skymodelstate_alloc_init (const double turbidity, const double albedo, const double elevation)
 

Macro Definition Documentation

◆ ALLOC

#define ALLOC (   _struct)    ((_struct *)malloc(sizeof(_struct)))

Definition at line 105 of file sky_model.cpp.

◆ DEGREES

#define DEGREES   *MATH_DEG_TO_RAD

Definition at line 97 of file sky_model.cpp.

◆ MATH_DEG_TO_RAD

#define MATH_DEG_TO_RAD   (MATH_PI / 180.0)

Definition at line 93 of file sky_model.cpp.

◆ MATH_PI

#define MATH_PI   3.141592653589793

Definition at line 89 of file sky_model.cpp.

◆ TERRESTRIAL_SOLAR_RADIUS

#define TERRESTRIAL_SOLAR_RADIUS   ((0.51 DEGREES) / 2.0)

Definition at line 101 of file sky_model.cpp.

Typedef Documentation

◆ ArHosekSkyModel_Dataset

Definition at line 110 of file sky_model.cpp.

◆ ArHosekSkyModel_Radiance_Dataset

Definition at line 111 of file sky_model.cpp.

Function Documentation

◆ ArHosekSkyModel_CookConfiguration()

static void ArHosekSkyModel_CookConfiguration ( ArHosekSkyModel_Dataset  dataset,
SKY_ArHosekSkyModelConfiguration  config,
double  turbidity,
double  albedo,
double  solar_elevation 
)
static

Definition at line 115 of file sky_model.cpp.

References double(), MATH_PI, and pow().

Referenced by SKY_arhosek_xyz_skymodelstate_alloc_init().

◆ ArHosekSkyModel_CookRadianceConfiguration()

static double ArHosekSkyModel_CookRadianceConfiguration ( ArHosekSkyModel_Radiance_Dataset  dataset,
double  turbidity,
double  albedo,
double  solar_elevation 
)
static

Definition at line 191 of file sky_model.cpp.

References double(), MATH_PI, and pow().

Referenced by SKY_arhosek_xyz_skymodelstate_alloc_init().

◆ ArHosekSkyModel_GetRadianceInternal()

static double ArHosekSkyModel_GetRadianceInternal ( const SKY_ArHosekSkyModelConfiguration  configuration,
const double  theta,
const double  gamma 
)
static

Definition at line 252 of file sky_model.cpp.

References KDL::cos(), exp(), pow(), and sqrt().

Referenced by SKY_arhosekskymodel_radiance().

◆ SKY_arhosek_xyz_skymodelstate_alloc_init()

SKY_ArHosekSkyModelState* SKY_arhosek_xyz_skymodelstate_alloc_init ( const double  turbidity,
const double  albedo,
const double  elevation 
)

◆ SKY_arhosekskymodel_radiance()

double SKY_arhosekskymodel_radiance ( SKY_ArHosekSkyModelState state,
double  theta,
double  gamma,
double  wavelength 
)

Definition at line 272 of file sky_model.cpp.

References ArHosekSkyModel_GetRadianceInternal(), e, interp(), result, and state.

◆ SKY_arhosekskymodelstate_free()

void SKY_arhosekskymodelstate_free ( SKY_ArHosekSkyModelState state)