GSOC 2013 paint
[blender.git] / source / blender / makesdna / DNA_lamp_types.h
index c321c9feea71dbc1f738f74235f369742a7b86f8..b7aae005e3b403ae4298f730465b1e36b753521f 100644 (file)
@@ -1,8 +1,4 @@
-/**
- * blenlib/DNA_lamp_types.h (mar-2001 nzc)
- *
- * $Id$ 
- *
+/*
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -17,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
  *
  * ***** END GPL LICENSE BLOCK *****
  */
-#ifndef DNA_LAMP_TYPES_H
-#define DNA_LAMP_TYPES_H
 
+/** \file DNA_lamp_types.h
+ *  \ingroup DNA
+ */
+
+#ifndef __DNA_LAMP_TYPES_H__
+#define __DNA_LAMP_TYPES_H__
+
+#include "DNA_defs.h"
 #include "DNA_ID.h"
 
 #ifndef MAX_MTEX
 #define MAX_MTEX       18
 #endif
 
-struct MTex;
-struct CurveMapping;
 struct AnimData;
+struct bNodeTree;
+struct CurveMapping;
 struct Ipo;
+struct MTex;
 
 typedef struct Lamp {
        ID id;
@@ -62,8 +65,8 @@ typedef struct Lamp {
        short falloff_type;
        short pad2;
        
-       float clipsta, clipend, shadspotsize;
-       float bias, soft, compressthresh, pad5[3];
+       float clipsta, clipend;
+       float bias, soft, compressthresh, bleedbias, pad5;
        short bufsize, samp, buffers, filtertype;
        char bufflag, buftype;
        
@@ -73,7 +76,7 @@ typedef struct Lamp {
        float area_size, area_sizey, area_sizez;
        float adapt_thresh;
        short ray_samp_method;
-       short pad1;
+       short shadowmap_type;
        
        /* texact is for buttons */
        short texact, shadhalostep;
@@ -81,40 +84,42 @@ typedef struct Lamp {
        /* sun/sky */
        short sun_effect_type;
        short skyblendtype;
-    float horizon_brightness;
-    float spread;
-    float sun_brightness;
-    float sun_size;
-    float backscattered_light;
-    float sun_intensity;
+       float horizon_brightness;
+       float spread;
+       float sun_brightness;
+       float sun_size;
+       float backscattered_light;
+       float sun_intensity;
        float atm_turbidity;
-    float atm_inscattering_factor;
-    float atm_extinction_factor;
-    float atm_distance_factor;
+       float atm_inscattering_factor;
+       float atm_extinction_factor;
+       float atm_distance_factor;
        float skyblendfac;
        float sky_exposure;
-       short sky_colorspace, pad4;
-       
-       /* yafray: photonlight params */
-       int YF_numphotons, YF_numsearch;
-       short YF_phdepth, YF_useqmc, YF_bufsize, YF_pad;
-       float YF_causticblur, YF_ltradius;
-       /* yafray: glow params */
-       float YF_glowint, YF_glowofs;
-       short YF_glowtype, YF_pad2;
-       
-       struct Ipo *ipo;                                // XXX depreceated... old animation system
+       float shadow_frustum_size;              /* BGE Only */
+       short sky_colorspace;
+       char pad4[2];
+
+       struct Ipo *ipo  DNA_DEPRECATED;  /* old animation system, deprecated for 2.5 */
        struct MTex *mtex[18];                  /* MAX_MTEX */
-       short pr_texture, pad[3];
-       
+       short pr_texture, use_nodes;
+       char pad6[4];
+
        /* preview */
        struct PreviewImage *preview;
+
+       /* nodes */
+       struct bNodeTree *nodetree;
 } Lamp;
 
 /* **************** LAMP ********************* */
 
 /* flag */
 #define LA_DS_EXPAND   1
+       /* NOTE: this must have the same value as MA_DS_SHOW_TEXS, 
+        * otherwise anim-editors will not read correctly
+        */
+#define LA_DS_SHOW_TEXS        4
 
 /* type */
 #define LA_LOCAL               0
@@ -142,9 +147,10 @@ typedef struct Lamp {
 #define LA_SHAD_RAY            8192
 /* yafray: lamp shadowbuffer flag, softlight */
 /* Since it is used with LOCAL lamp, can't use LA_SHAD */
-#define LA_YF_SOFT             16384
+/* #define LA_YF_SOFT          16384 */ /* no longer used */
 #define LA_LAYER_SHADOW        32768
 #define LA_SHAD_TEX     (1<<16)
+#define LA_SHOW_CONE    (1<<17)
 
 /* layer_shadow */
 #define LA_LAYER_SHADOW_BOTH   0
@@ -191,7 +197,7 @@ typedef struct Lamp {
 
 
 /* ray_samp_type */
-#define LA_SAMP_ROUND  1
+// #define LA_SAMP_ROUND       1  // UNUSED
 #define LA_SAMP_UMBRA  2
 #define LA_SAMP_DITHER 4
 #define LA_SAMP_JITTER 8
@@ -200,6 +206,9 @@ typedef struct Lamp {
 #define LAMAP_COL              1
 #define LAMAP_SHAD             2
 
+/* shadowmap_type */
+#define LA_SHADMAP_SIMPLE      0
+#define LA_SHADMAP_VARIANCE    1
 
-#endif /* DNA_LAMP_TYPES_H */
+#endif /* __DNA_LAMP_TYPES_H__ */