Blender  V2.93
Functions | Variables
node_shader_vector_rotate.cc File Reference
#include "../node_shader_util.h"

Go to the source code of this file.

Functions

static const char * gpu_shader_get_name (int mode)
 
static int gpu_shader_vector_rotate (GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
 
static float3 sh_node_vector_rotate_around_axis (const float3 vector, const float3 center, const float3 axis, const float angle)
 
static float3 sh_node_vector_rotate_euler (const float3 vector, const float3 center, const float3 rotation, const bool invert)
 
static const blender::fn::MultiFunctionget_multi_function (blender::nodes::NodeMFNetworkBuilder &builder)
 
static void sh_node_vector_rotate_expand_in_mf_network (blender::nodes::NodeMFNetworkBuilder &builder)
 
static void node_shader_update_vector_rotate (bNodeTree *UNUSED(ntree), bNode *node)
 
void register_node_type_sh_vector_rotate (void)
 

Variables

static bNodeSocketTemplate sh_node_vector_rotate_in []
 
static bNodeSocketTemplate sh_node_vector_rotate_out []
 

Function Documentation

◆ get_multi_function()

static const blender::fn::MultiFunction& get_multi_function ( blender::nodes::NodeMFNetworkBuilder builder)
static

◆ gpu_shader_get_name()

static const char* gpu_shader_get_name ( int  mode)
static

◆ gpu_shader_vector_rotate()

static int gpu_shader_vector_rotate ( GPUMaterial mat,
bNode node,
bNodeExecData UNUSEDexecdata,
GPUNodeStack in,
GPUNodeStack out 
)
static

◆ node_shader_update_vector_rotate()

static void node_shader_update_vector_rotate ( bNodeTree UNUSEDntree,
bNode node 
)
static

◆ register_node_type_sh_vector_rotate()

void register_node_type_sh_vector_rotate ( void  )

◆ sh_node_vector_rotate_around_axis()

static float3 sh_node_vector_rotate_around_axis ( const float3  vector,
const float3  center,
const float3  axis,
const float  angle 
)
static

Definition at line 76 of file node_shader_vector_rotate.cc.

References angle(), axis_angle_to_mat3(), center, mul_m3_v3(), and result.

Referenced by get_multi_function().

◆ sh_node_vector_rotate_euler()

static float3 sh_node_vector_rotate_euler ( const float3  vector,
const float3  center,
const float3  rotation,
const bool  invert 
)
static

Definition at line 88 of file node_shader_vector_rotate.cc.

References center, eul_to_mat3(), invert(), invert_m3(), mul_m3_v3(), and result.

Referenced by get_multi_function().

◆ sh_node_vector_rotate_expand_in_mf_network()

static void sh_node_vector_rotate_expand_in_mf_network ( blender::nodes::NodeMFNetworkBuilder builder)
static

Variable Documentation

◆ sh_node_vector_rotate_in

bNodeSocketTemplate sh_node_vector_rotate_in[]
static
Initial value:
= {
{SOCK_VECTOR, N_("Vector"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
{SOCK_VECTOR, N_("Center"), 0.0f, 0.0f, 0.0f, 1.0f, -FLT_MAX, FLT_MAX, PROP_NONE},
{SOCK_VECTOR, N_("Axis"), 0.0f, 0.0f, 1.0f, 0.0f, -1.0f, 1.0f, PROP_NONE, PROP_NONE},
{SOCK_FLOAT, N_("Angle"), 0.0f, 0.0f, 0.0f, 1.0f, -FLT_MAX, FLT_MAX, PROP_ANGLE, PROP_NONE},
{SOCK_VECTOR, N_("Rotation"), 0.0f, 0.0f, 0.0f, 1.0f, -FLT_MAX, FLT_MAX, PROP_EULER},
{-1, ""}}
#define N_(msgid)
@ SOCK_HIDE_VALUE
@ SOCK_VECTOR
@ SOCK_FLOAT
@ PROP_ANGLE
Definition: RNA_types.h:132
@ PROP_EULER
Definition: RNA_types.h:145
@ PROP_NONE
Definition: RNA_types.h:113

Definition at line 27 of file node_shader_vector_rotate.cc.

Referenced by register_node_type_sh_vector_rotate().

◆ sh_node_vector_rotate_out

bNodeSocketTemplate sh_node_vector_rotate_out[]
static
Initial value:
= {
{SOCK_VECTOR, N_("Vector")},
{-1, ""},
}

Definition at line 35 of file node_shader_vector_rotate.cc.

Referenced by register_node_type_sh_vector_rotate().