c434782e3a
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
* Copyright 2005 Blender Foundation. All rights reserved. */
|
|
|
|
/** \file
|
|
* \ingroup texnodes
|
|
*/
|
|
|
|
#include "NOD_texture.h"
|
|
#include "node_texture_util.h"
|
|
|
|
static bNodeSocketTemplate inputs[] = {
|
|
{SOCK_RGBA, N_("Texture"), 0.0f, 0.0f, 0.0f, 1.0f},
|
|
{SOCK_VECTOR, N_("Coordinates"), 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE},
|
|
{-1, ""},
|
|
};
|
|
static bNodeSocketTemplate outputs[] = {
|
|
{SOCK_RGBA, N_("Texture")},
|
|
{-1, ""},
|
|
};
|
|
|
|
static void colorfn(float *out, TexParams *p, bNode *UNUSED(node), bNodeStack **in, short thread)
|
|
{
|
|
TexParams np = *p;
|
|
float new_co[3];
|
|
np.co = new_co;
|
|
|
|
tex_input_vec(new_co, in[1], p, thread);
|
|
tex_input_rgba(out, in[0], &np, thread);
|
|
}
|
|
|
|
static void exec(void *data,
|
|
int UNUSED(thread),
|
|
bNode *node,
|
|
bNodeExecData *execdata,
|
|
bNodeStack **in,
|
|
bNodeStack **out)
|
|
{
|
|
tex_output(node, execdata, in, out[0], &colorfn, data);
|
|
}
|
|
|
|
void register_node_type_tex_at(void)
|
|
{
|
|
static bNodeType ntype;
|
|
|
|
tex_node_type_base(&ntype, TEX_NODE_AT, "At", NODE_CLASS_DISTORT);
|
|
node_type_socket_templates(&ntype, inputs, outputs);
|
|
node_type_size(&ntype, 140, 100, 320);
|
|
node_type_exec(&ntype, NULL, NULL, exec);
|
|
|
|
nodeRegisterType(&ntype);
|
|
}
|