20 #include "../node_shader_util.h"
25 {
SOCK_VECTOR,
N_(
"Vector"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f,
PROP_NONE,
SOCK_HIDE_VALUE},
26 {
SOCK_FLOAT,
N_(
"W"), 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f},
27 {
SOCK_FLOAT,
N_(
"Scale"), 5.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f},
28 {
SOCK_FLOAT,
N_(
"Detail"), 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 16.0f},
29 {
SOCK_FLOAT,
N_(
"Dimension"), 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
30 {
SOCK_FLOAT,
N_(
"Lacunarity"), 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
31 {
SOCK_FLOAT,
N_(
"Offset"), 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f},
32 {
SOCK_FLOAT,
N_(
"Gain"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
71 int dimensions =
tex->dimensions;
74 static const char *
names[][5] = {
78 "node_tex_musgrave_multi_fractal_1d",
79 "node_tex_musgrave_multi_fractal_2d",
80 "node_tex_musgrave_multi_fractal_3d",
81 "node_tex_musgrave_multi_fractal_4d",
86 "node_tex_musgrave_fBm_1d",
87 "node_tex_musgrave_fBm_2d",
88 "node_tex_musgrave_fBm_3d",
89 "node_tex_musgrave_fBm_4d",
94 "node_tex_musgrave_hybrid_multi_fractal_1d",
95 "node_tex_musgrave_hybrid_multi_fractal_2d",
96 "node_tex_musgrave_hybrid_multi_fractal_3d",
97 "node_tex_musgrave_hybrid_multi_fractal_4d",
102 "node_tex_musgrave_ridged_multi_fractal_1d",
103 "node_tex_musgrave_ridged_multi_fractal_2d",
104 "node_tex_musgrave_ridged_multi_fractal_3d",
105 "node_tex_musgrave_ridged_multi_fractal_4d",
110 "node_tex_musgrave_hetero_terrain_1d",
111 "node_tex_musgrave_hetero_terrain_2d",
112 "node_tex_musgrave_hetero_terrain_3d",
113 "node_tex_musgrave_hetero_terrain_4d",
void node_type_gpu(struct bNodeType *ntype, NodeGPUExecFunction gpu_fn)
void nodeSetSocketAvailability(struct bNodeSocket *sock, bool is_available)
void node_type_socket_templates(struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs)
void node_type_update(struct bNodeType *ntype, void(*updatefunc)(struct bNodeTree *ntree, struct bNode *node))
void node_type_init(struct bNodeType *ntype, void(*initfunc)(struct bNodeTree *ntree, struct bNode *node))
void node_type_size_preset(struct bNodeType *ntype, eNodeSizePreset size)
void node_type_storage(struct bNodeType *ntype, const char *storagename, void(*freefunc)(struct bNode *node), void(*copyfunc)(struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node))
struct bNodeSocket * nodeFindSocket(const struct bNode *node, eNodeSocketInOut in_out, const char *identifier)
#define NODE_CLASS_TEXTURE
void nodeRegisterType(struct bNodeType *ntype)
#define SH_NODE_TEX_MUSGRAVE
void BKE_texture_mapping_default(struct TexMapping *texmap, int type)
void BKE_texture_colormapping_default(struct ColorMapping *colormap)
#define SHD_MUSGRAVE_MULTIFRACTAL
#define SHD_MUSGRAVE_RIDGED_MULTIFRACTAL
#define SHD_MUSGRAVE_HYBRID_MULTIFRACTAL
#define SHD_MUSGRAVE_HETERO_TERRAIN
#define TEXMAP_TYPE_POINT
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
bool GPU_stack_link(GPUMaterial *mat, struct bNode *node, const char *name, GPUNodeStack *in, GPUNodeStack *out,...)
void *(* MEM_callocN)(size_t len, const char *str)
static int node_shader_gpu_tex_musgrave(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
static void node_shader_init_tex_musgrave(bNodeTree *UNUSED(ntree), bNode *node)
static bNodeSocketTemplate sh_node_tex_musgrave_out[]
static void node_shader_update_tex_musgrave(bNodeTree *UNUSED(ntree), bNode *node)
void register_node_type_sh_tex_musgrave(void)
static bNodeSocketTemplate sh_node_tex_musgrave_in[]
void node_shader_gpu_tex_mapping(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *UNUSED(out))
void sh_node_type_base(struct bNodeType *ntype, int type, const char *name, short nclass, short flag)
void node_shader_gpu_default_tex_coord(GPUMaterial *mat, bNode *node, GPUNodeLink **link)
void node_sock_label(bNodeSocket *sock, const char *name)
void node_copy_standard_storage(bNodeTree *UNUSED(dest_ntree), bNode *dest_node, const bNode *src_node)
void node_free_standard_storage(bNode *node)
Compact definition of a node socket.