Blender V2.61 - r43446
Classes | Defines | Typedefs | Enumerations

kernel_types.h File Reference

#include "kernel_math.h"
#include "svm/svm_types.h"

Go to the source code of this file.

Classes

struct  differential3
struct  differential
struct  Ray
struct  Intersection
struct  ShaderClosure
struct  ShaderData
struct  KernelCamera
struct  KernelFilm
struct  KernelBackground
struct  KernelSunSky
struct  KernelIntegrator
struct  KernelBVH
struct  KernelData

Defines

#define OBJECT_SIZE   16
#define LIGHT_SIZE   4
#define FILTER_TABLE_SIZE   256
#define __SOBOL__
#define __INSTANCING__
#define __DPDU__
#define __UV__
#define __BACKGROUND__
#define __CAUSTICS_TRICKS__
#define __VISIBILITY_FLAG__
#define __RAY_DIFFERENTIALS__
#define __CAMERA_CLIPPING__
#define __INTERSECTION_REFINE__
#define __SVM__
#define __EMISSION__
#define __TEXTURES__
#define __HOLDOUT__
#define __MULTI_CLOSURE__
#define __TRANSPARENT_SHADOWS__
#define __SVM__
#define __EMISSION__
#define MAX_CLOSURE   8

Typedefs

typedef enum ClosureLabel ClosureLabel
typedef enum ShaderFlag ShaderFlag
typedef enum LightType LightType
typedef struct differential3 differential3
typedef struct differential differential
typedef struct Ray Ray
typedef struct Intersection Intersection
typedef enum AttributeElement AttributeElement
typedef struct ShaderClosure ShaderClosure
typedef struct ShaderData ShaderData
typedef struct KernelCamera KernelCamera
typedef struct KernelFilm KernelFilm
typedef struct KernelBackground KernelBackground
typedef struct KernelSunSky KernelSunSky
typedef struct KernelIntegrator KernelIntegrator
typedef struct KernelBVH KernelBVH
typedef struct KernelData KernelData

Enumerations

enum  ShaderEvalType { SHADER_EVAL_DISPLACE, SHADER_EVAL_BACKGROUND }
enum  PathTraceDimension {
  PRNG_FILTER_U = 0, PRNG_FILTER_V = 1, PRNG_LENS_U = 2, PRNG_LENS_V = 3,
  PRNG_BASE_NUM = 4, PRNG_BSDF_U = 0, PRNG_BSDF_V = 1, PRNG_BSDF = 2,
  PRNG_LIGHT = 3, PRNG_LIGHT_U = 4, PRNG_LIGHT_V = 5, PRNG_LIGHT_F = 6,
  PRNG_TERMINATE = 7, PRNG_BOUNCE_NUM = 8
}
enum  PathRayFlag {
  PATH_RAY_CAMERA = 1, PATH_RAY_REFLECT = 2, PATH_RAY_TRANSMIT = 4, PATH_RAY_DIFFUSE = 8,
  PATH_RAY_GLOSSY = 16, PATH_RAY_SINGULAR = 32, PATH_RAY_TRANSPARENT = 64, PATH_RAY_SHADOW_OPAQUE = 128,
  PATH_RAY_SHADOW_TRANSPARENT = 256, PATH_RAY_SHADOW = (PATH_RAY_SHADOW_OPAQUE|PATH_RAY_SHADOW_TRANSPARENT), PATH_RAY_MIS_SKIP = 512, PATH_RAY_ALL = (1|2|4|8|16|32|64|128|256|512),
  PATH_RAY_LAYER_SHIFT = (32-20)
}
enum  ClosureLabel {
  LABEL_NONE = 0, LABEL_CAMERA = 1, LABEL_LIGHT = 2, LABEL_BACKGROUND = 4,
  LABEL_TRANSMIT = 8, LABEL_REFLECT = 16, LABEL_VOLUME = 32, LABEL_OBJECT = 64,
  LABEL_DIFFUSE = 128, LABEL_GLOSSY = 256, LABEL_SINGULAR = 512, LABEL_TRANSPARENT = 1024,
  LABEL_STOP = 2048
}
enum  ShaderFlag { SHADER_SMOOTH_NORMAL = (1 << 31), SHADER_CAST_SHADOW = (1 << 30), SHADER_AREA_LIGHT = (1 << 29), SHADER_MASK = ~(SHADER_SMOOTH_NORMAL|SHADER_CAST_SHADOW|SHADER_AREA_LIGHT) }
enum  LightType { LIGHT_POINT, LIGHT_DISTANT, LIGHT_AREA }
enum  AttributeElement {
  ATTR_ELEMENT_FACE, ATTR_ELEMENT_VERTEX, ATTR_ELEMENT_CORNER, ATTR_ELEMENT_VALUE,
  ATTR_ELEMENT_NONE
}
enum  ShaderDataFlag {
  SD_BACKFACING = 1, SD_EMISSION = 2, SD_BSDF = 4, SD_BSDF_HAS_EVAL = 8,
  SD_BSDF_GLOSSY = 16, SD_HOLDOUT = 32, SD_VOLUME = 64, SD_SAMPLE_AS_LIGHT = 128,
  SD_HAS_SURFACE_TRANSPARENT = 256, SD_HAS_VOLUME = 512, SD_HOMOGENEOUS_VOLUME = 1024
}

Define Documentation

#define __BACKGROUND__

Definition at line 56 of file kernel_types.h.

#define __CAMERA_CLIPPING__

Definition at line 60 of file kernel_types.h.

#define __CAUSTICS_TRICKS__

Definition at line 57 of file kernel_types.h.

#define __DPDU__

Definition at line 54 of file kernel_types.h.

#define __EMISSION__

Definition at line 76 of file kernel_types.h.

#define __EMISSION__

Definition at line 76 of file kernel_types.h.

#define __HOLDOUT__

Definition at line 67 of file kernel_types.h.

#define __INSTANCING__

Definition at line 53 of file kernel_types.h.

#define __INTERSECTION_REFINE__

Definition at line 61 of file kernel_types.h.

#define __MULTI_CLOSURE__

Definition at line 71 of file kernel_types.h.

#define __RAY_DIFFERENTIALS__
#define __SOBOL__

Definition at line 52 of file kernel_types.h.

#define __SVM__

Definition at line 75 of file kernel_types.h.

#define __SVM__

Definition at line 75 of file kernel_types.h.

#define __TEXTURES__

Definition at line 66 of file kernel_types.h.

#define __TRANSPARENT_SHADOWS__

Definition at line 72 of file kernel_types.h.

#define __UV__

Definition at line 55 of file kernel_types.h.

#define __VISIBILITY_FLAG__

Definition at line 58 of file kernel_types.h.

#define FILTER_TABLE_SIZE   256

Definition at line 31 of file kernel_types.h.

Referenced by camera_sample(), and filter_table().

#define LIGHT_SIZE   4

Definition at line 30 of file kernel_types.h.

Referenced by LightManager::device_update_points(), and regular_light_sample().

#define MAX_CLOSURE   8
#define OBJECT_SIZE   16

Typedef Documentation

typedef enum ClosureLabel ClosureLabel
typedef struct differential differential
typedef struct differential3 differential3
typedef struct Intersection Intersection
typedef struct KernelBVH KernelBVH
typedef struct KernelCamera KernelCamera
typedef struct KernelData KernelData
typedef struct KernelFilm KernelFilm
typedef struct KernelSunSky KernelSunSky
typedef enum LightType LightType
typedef struct Ray Ray
typedef struct ShaderClosure ShaderClosure
typedef struct ShaderData ShaderData
typedef enum ShaderFlag ShaderFlag

Enumeration Type Documentation

Enumerator:
ATTR_ELEMENT_FACE 
ATTR_ELEMENT_VERTEX 
ATTR_ELEMENT_CORNER 
ATTR_ELEMENT_VALUE 
ATTR_ELEMENT_NONE 

Definition at line 208 of file kernel_types.h.

Enumerator:
LABEL_NONE 
LABEL_CAMERA 
LABEL_LIGHT 
LABEL_BACKGROUND 
LABEL_TRANSMIT 
LABEL_REFLECT 
LABEL_VOLUME 
LABEL_OBJECT 
LABEL_DIFFUSE 
LABEL_GLOSSY 
LABEL_SINGULAR 
LABEL_TRANSPARENT 
LABEL_STOP 

Definition at line 139 of file kernel_types.h.

enum LightType
Enumerator:
LIGHT_POINT 
LIGHT_DISTANT 
LIGHT_AREA 

Definition at line 167 of file kernel_types.h.

Enumerator:
PATH_RAY_CAMERA 
PATH_RAY_REFLECT 
PATH_RAY_TRANSMIT 
PATH_RAY_DIFFUSE 
PATH_RAY_GLOSSY 
PATH_RAY_SINGULAR 
PATH_RAY_TRANSPARENT 
PATH_RAY_SHADOW_OPAQUE 
PATH_RAY_SHADOW_TRANSPARENT 
PATH_RAY_SHADOW 
PATH_RAY_MIS_SKIP 
PATH_RAY_ALL 
PATH_RAY_LAYER_SHIFT 

Definition at line 117 of file kernel_types.h.

Enumerator:
PRNG_FILTER_U 
PRNG_FILTER_V 
PRNG_LENS_U 
PRNG_LENS_V 
PRNG_BASE_NUM 
PRNG_BSDF_U 
PRNG_BSDF_V 
PRNG_BSDF 
PRNG_LIGHT 
PRNG_LIGHT_U 
PRNG_LIGHT_V 
PRNG_LIGHT_F 
PRNG_TERMINATE 
PRNG_BOUNCE_NUM 

Definition at line 92 of file kernel_types.h.

Enumerator:
SD_BACKFACING 
SD_EMISSION 
SD_BSDF 
SD_BSDF_HAS_EVAL 
SD_BSDF_GLOSSY 
SD_HOLDOUT 
SD_VOLUME 
SD_SAMPLE_AS_LIGHT 
SD_HAS_SURFACE_TRANSPARENT 
SD_HAS_VOLUME 
SD_HOMOGENEOUS_VOLUME 

Definition at line 242 of file kernel_types.h.

Enumerator:
SHADER_EVAL_DISPLACE 
SHADER_EVAL_BACKGROUND 

Definition at line 85 of file kernel_types.h.

enum ShaderFlag
Enumerator:
SHADER_SMOOTH_NORMAL 
SHADER_CAST_SHADOW 
SHADER_AREA_LIGHT 
SHADER_MASK 

Definition at line 157 of file kernel_types.h.