#ifndef IShaderFactorySource_h__ #define IShaderFactorySource_h__ #include "shaders/IShaderGraphNode.h" namespace LifeGraphics { class IShaderGraphNodeFactory; class IShaderFactorySource { public: static void Register(IShaderGraphNodeFactory* factory); static IShaderGraphNode* node_mat_std(); static IShaderGraphNode* node_op_add(); static IShaderGraphNode* node_op_lerp(); static IShaderGraphNode* node_op_sub(); static IShaderGraphNode* node_op_mul(); static IShaderGraphNode* node_op_div(); static IShaderGraphNode* node_op_dot(); static IShaderGraphNode* node_op_cross(); static IShaderGraphNode* node_op_normalize(); static IShaderGraphNode* node_op_saturate(); static IShaderGraphNode* node_op_cmp_le(); static IShaderGraphNode* node_op_cmp_l(); static IShaderGraphNode* node_op_cmp_ge(); static IShaderGraphNode* node_op_cmp_g(); static IShaderGraphNode* node_op_cmp_e(); static IShaderGraphNode* node_op_decode_g(); static IShaderGraphNode* node_op_decode_normal(); static IShaderGraphNode* node_src_uv(); static IShaderGraphNode* node_src_sam_2d(); static IShaderGraphNode* node_src_sam_3d(); static IShaderGraphNode* node_src_sam_cube(); static IShaderGraphNode* node_const_f1(); static IShaderGraphNode* node_const_f2(); static IShaderGraphNode* node_const_f3(); static IShaderGraphNode* node_const_f4(); static IShaderGraphNode* node_val_time(); }; } #endif // IShaderFactorySource_h__