Cycles:
[blender.git] / source / blender / nodes / NOD_shader.h
1 /*
2  * ***** BEGIN GPL LICENSE BLOCK *****
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software Foundation,
16  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  *
18  * The Original Code is Copyright (C) 2005 Blender Foundation.
19  * All rights reserved.
20  *
21  * The Original Code is: all of this file.
22  *
23  * Contributor(s): none yet.
24  *
25  * ***** END GPL LICENSE BLOCK *****
26  */
27
28 /** \file NOD_shader.h
29  *  \ingroup nodes
30  */
31
32 #ifndef __NOD_SHADER_H__
33 #define __NOD_SHADER_H__
34
35 #include "BKE_node.h"
36
37 extern struct bNodeTreeType *ntreeType_Shader;
38
39
40 /* the type definitions array */
41 /* ****************** types array for all shaders ****************** */
42
43 void register_node_tree_type_sh(void);
44
45 void register_node_type_sh_group(void);
46 void register_node_type_sh_forloop(void);
47 void register_node_type_sh_whileloop(void);
48
49 void register_node_type_sh_output(void);
50 void register_node_type_sh_material(void);
51 void register_node_type_sh_camera(void);
52 void register_node_type_sh_value(void);
53 void register_node_type_sh_rgb(void);
54 void register_node_type_sh_mix_rgb(void);
55 void register_node_type_sh_valtorgb(void);
56 void register_node_type_sh_rgbtobw(void);
57 void register_node_type_sh_texture(void);
58 void register_node_type_sh_normal(void);
59 void register_node_type_sh_gamma(void);
60 void register_node_type_sh_brightcontrast(void);
61 void register_node_type_sh_geom(void);
62 void register_node_type_sh_mapping(void);
63 void register_node_type_sh_curve_vec(void);
64 void register_node_type_sh_curve_rgb(void);
65 void register_node_type_sh_math(void);
66 void register_node_type_sh_vect_math(void);
67 void register_node_type_sh_squeeze(void);
68 void register_node_type_sh_dynamic(void);
69 void register_node_type_sh_material_ext(void);
70 void register_node_type_sh_invert(void);
71 void register_node_type_sh_seprgb(void);
72 void register_node_type_sh_combrgb(void);
73 void register_node_type_sh_sephsv(void);
74 void register_node_type_sh_combhsv(void);
75 void register_node_type_sh_hue_sat(void);
76 void register_node_type_sh_tex_brick(void);
77
78 void register_node_type_sh_attribute(void);
79 void register_node_type_sh_geometry(void);
80 void register_node_type_sh_light_path(void);
81 void register_node_type_sh_light_falloff(void);
82 void register_node_type_sh_object_info(void);
83 void register_node_type_sh_fresnel(void);
84 void register_node_type_sh_wireframe(void);
85 void register_node_type_sh_wavelength(void);
86 void register_node_type_sh_blackbody(void);
87 void register_node_type_sh_layer_weight(void);
88 void register_node_type_sh_tex_coord(void);
89 void register_node_type_sh_particle_info(void);
90 void register_node_type_sh_hair_info(void);
91 void register_node_type_sh_script(void);
92 void register_node_type_sh_normal_map(void);
93 void register_node_type_sh_tangent(void);
94 void register_node_type_sh_vect_transform(void);
95
96 void register_node_type_sh_ambient_occlusion(void);
97 void register_node_type_sh_background(void);
98 void register_node_type_sh_bsdf_diffuse(void);
99 void register_node_type_sh_bsdf_glossy(void);
100 void register_node_type_sh_bsdf_glass(void);
101 void register_node_type_sh_bsdf_refraction(void);
102 void register_node_type_sh_bsdf_translucent(void);
103 void register_node_type_sh_bsdf_transparent(void);
104 void register_node_type_sh_bsdf_velvet(void);
105 void register_node_type_sh_bsdf_toon(void);
106 void register_node_type_sh_bsdf_anisotropic(void);
107 void register_node_type_sh_emission(void);
108 void register_node_type_sh_holdout(void);
109 void register_node_type_sh_volume_transparent(void);
110 void register_node_type_sh_volume_isotropic(void);
111 void register_node_type_sh_subsurface_scattering(void);
112 void register_node_type_sh_mix_shader(void);
113 void register_node_type_sh_add_shader(void);
114
115 void register_node_type_sh_output_lamp(void);
116 void register_node_type_sh_output_material(void);
117 void register_node_type_sh_output_world(void);
118
119 void register_node_type_sh_tex_image(void);
120 void register_node_type_sh_tex_environment(void);
121 void register_node_type_sh_tex_sky(void);
122 void register_node_type_sh_tex_voronoi(void);
123 void register_node_type_sh_tex_gradient(void);
124 void register_node_type_sh_tex_magic(void);
125 void register_node_type_sh_tex_wave(void);
126 void register_node_type_sh_tex_musgrave(void);
127 void register_node_type_sh_tex_noise(void);
128 void register_node_type_sh_tex_checker(void);
129 void register_node_type_sh_bump(void);
130
131 #endif
132
133