This repository has been archived on 2023-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
blender-archive/source/blender/nodes/NOD_shader.h
Brecht Van Lommel 27d647dcf8 Cycles: 4 new nodes.
* Tangent: generate a tangent direction for anisotropic shading. Can be either
  radial around X/Y/Z axis, or from a UV map. The default tangent for the
  anisotropic BSDF and geometry node is now always radial Z, for UV tangent use
  this node now.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Tangent

* Normal Map: generate a perturbed normal from an RGB normal map image. This
  is usually chained with an Image Texture node in the color input, to specify
  the normal map image. For tangent space normal maps, the UV coordinates for
  the image must match, and the image texture should be set to Non-Color mode
  to give correct results.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Normal_Map

* Refraction BSDF: for best results this node should be considered as a building
  block and not be used on its own, but rather mixed with a glossy node using a
  fresnel type factor. Otherwise it will give quite dark results at the edges for
  glossy refraction.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Refraction

* Ambient Occlusion: controls the amount of AO a surface receives, rather than
  having just a global factor in the world. Note that this outputs a shader and
  not a color, that's for another time.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Ambient_Occlusion
2012-11-06 19:59:02 +00:00

123 lines
5.9 KiB
C++

/*
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* The Original Code is Copyright (C) 2005 Blender Foundation.
* All rights reserved.
*
* The Original Code is: all of this file.
*
* Contributor(s): none yet.
*
* ***** END GPL LICENSE BLOCK *****
*/
/** \file NOD_shader.h
* \ingroup nodes
*/
#ifndef __NOD_SHADER_H__
#define __NOD_SHADER_H__
#include "BKE_node.h"
extern struct bNodeTreeType ntreeType_Shader;
/* the type definitions array */
/* ****************** types array for all shaders ****************** */
void register_node_type_sh_group(struct bNodeTreeType *ttype);
void register_node_type_sh_forloop(struct bNodeTreeType *ttype);
void register_node_type_sh_whileloop(struct bNodeTreeType *ttype);
void register_node_type_sh_output(struct bNodeTreeType *ttype);
void register_node_type_sh_material(struct bNodeTreeType *ttype);
void register_node_type_sh_camera(struct bNodeTreeType *ttype);
void register_node_type_sh_value(struct bNodeTreeType *ttype);
void register_node_type_sh_rgb(struct bNodeTreeType *ttype);
void register_node_type_sh_mix_rgb(struct bNodeTreeType *ttype);
void register_node_type_sh_valtorgb(struct bNodeTreeType *ttype);
void register_node_type_sh_rgbtobw(struct bNodeTreeType *ttype);
void register_node_type_sh_texture(struct bNodeTreeType *ttype);
void register_node_type_sh_normal(struct bNodeTreeType *ttype);
void register_node_type_sh_gamma(struct bNodeTreeType *ttype);
void register_node_type_sh_brightcontrast(struct bNodeTreeType *ttype);
void register_node_type_sh_geom(struct bNodeTreeType *ttype);
void register_node_type_sh_mapping(struct bNodeTreeType *ttype);
void register_node_type_sh_curve_vec(struct bNodeTreeType *ttype);
void register_node_type_sh_curve_rgb(struct bNodeTreeType *ttype);
void register_node_type_sh_math(struct bNodeTreeType *ttype);
void register_node_type_sh_vect_math(struct bNodeTreeType *ttype);
void register_node_type_sh_squeeze(struct bNodeTreeType *ttype);
void register_node_type_sh_dynamic(struct bNodeTreeType *ttype);
void register_node_type_sh_material_ext(struct bNodeTreeType *ttype);
void register_node_type_sh_invert(struct bNodeTreeType *ttype);
void register_node_type_sh_seprgb(struct bNodeTreeType *ttype);
void register_node_type_sh_combrgb(struct bNodeTreeType *ttype);
void register_node_type_sh_hue_sat(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_brick(struct bNodeTreeType *ttype);
void register_node_type_sh_attribute(struct bNodeTreeType *ttype);
void register_node_type_sh_geometry(struct bNodeTreeType *ttype);
void register_node_type_sh_light_path(struct bNodeTreeType *ttype);
void register_node_type_sh_light_falloff(struct bNodeTreeType *ttype);
void register_node_type_sh_object_info(struct bNodeTreeType *ttype);
void register_node_type_sh_fresnel(struct bNodeTreeType *ttype);
void register_node_type_sh_layer_weight(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_coord(struct bNodeTreeType *ttype);
void register_node_type_sh_particle_info(struct bNodeTreeType *ttype);
void register_node_type_sh_script(struct bNodeTreeType *ttype);
void register_node_type_sh_normal_map(struct bNodeTreeType *ttype);
void register_node_type_sh_tangent(struct bNodeTreeType *ttype);
void register_node_type_sh_ambient_occlusion(struct bNodeTreeType *ttype);
void register_node_type_sh_background(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_diffuse(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_glossy(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_glass(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_refraction(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_translucent(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_transparent(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_velvet(struct bNodeTreeType *ttype);
void register_node_type_sh_bsdf_anisotropic(struct bNodeTreeType *ttype);
void register_node_type_sh_emission(struct bNodeTreeType *ttype);
void register_node_type_sh_holdout(struct bNodeTreeType *ttype);
void register_node_type_sh_volume_transparent(struct bNodeTreeType *ttype);
void register_node_type_sh_volume_isotropic(struct bNodeTreeType *ttype);
void register_node_type_sh_mix_shader(struct bNodeTreeType *ttype);
void register_node_type_sh_add_shader(struct bNodeTreeType *ttype);
void register_node_type_sh_output_lamp(struct bNodeTreeType *ttype);
void register_node_type_sh_output_material(struct bNodeTreeType *ttype);
void register_node_type_sh_output_world(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_image(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_environment(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_sky(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_voronoi(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_gradient(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_magic(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_wave(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_musgrave(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_noise(struct bNodeTreeType *ttype);
void register_node_type_sh_tex_checker(struct bNodeTreeType *ttype);
void register_node_type_sh_bump(struct bNodeTreeType *ttype);
#endif