tornavis/source/blender/makesdna/DNA_world_types.h

111 lines
2.3 KiB
C

/* SPDX-License-Identifier: GPL-2.0-or-later
* Copyright 2001-2002 NaN Holding BV. All rights reserved. */
/** \file
* \ingroup DNA
*/
#pragma once
#include "DNA_ID.h"
#include "DNA_defs.h"
#ifdef __cplusplus
extern "C" {
#endif
struct AnimData;
struct Ipo;
struct LightgroupMembership;
struct bNodeTree;
#ifndef MAX_MTEX
# define MAX_MTEX 18
#endif
/**
* World defines general modeling data such as a background fill,
* gravity, color model etc. It mixes rendering data and modeling data. */
typedef struct World {
DNA_DEFINE_CXX_METHODS(World)
ID id;
/** Animation data (must be immediately after id for utilities to use it). */
struct AnimData *adt;
/* runtime (must be immediately after id for utilities to use it). */
DrawDataList drawdata;
char _pad0[4];
short texact, mistype;
float horr, horg, horb;
/**
* Exposure is a multiplication factor. Unused now, but maybe back later.
* Kept in to be upward compatible.
*/
float exposure, exp, range;
/**
* Some world modes
* bit 0: Do mist
*/
short mode;
char _pad2[6];
float misi, miststa, mistdist, misthi;
/** Ambient occlusion. */
float aodist, aoenergy;
/** Assorted settings. */
short flag;
char _pad3[6];
/** Old animation system, deprecated for 2.5. */
struct Ipo *ipo DNA_DEPRECATED;
short pr_texture, use_nodes;
char _pad[4];
/* previews */
struct PreviewImage *preview;
/* nodes */
struct bNodeTree *nodetree;
/* Lightgroup membership information. */
struct LightgroupMembership *lightgroup;
/** Runtime. */
ListBase gpumaterial;
} World;
/* **************** WORLD ********************* */
/* mode */
#define WO_MIST (1 << 0)
#define WO_MODE_UNUSED_1 (1 << 1) /* cleared */
#define WO_MODE_UNUSED_2 (1 << 2) /* cleared */
#define WO_MODE_UNUSED_3 (1 << 3) /* cleared */
#define WO_MODE_UNUSED_4 (1 << 4) /* cleared */
#define WO_MODE_UNUSED_5 (1 << 5) /* cleared */
#define WO_AMB_OCC (1 << 6)
#define WO_MODE_UNUSED_7 (1 << 7) /* cleared */
enum {
WO_MIST_QUADRATIC = 0,
WO_MIST_LINEAR = 1,
WO_MIST_INVERSE_QUADRATIC = 2,
};
/* flag */
#define WO_DS_EXPAND (1 << 0)
/* NOTE: this must have the same value as MA_DS_SHOW_TEXS,
* otherwise anim-editors will not read correctly
*/
#define WO_DS_SHOW_TEXS (1 << 2)
#ifdef __cplusplus
}
#endif