HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SHOP_VopShaderAdapter Class Reference

#include <SHOP_VopShaderAdapter.h>

Public Member Functions

 SHOP_VopShaderAdapter (VOP_Node *vop)
 
OP_NodefindShader (SHOP_TYPE shader_type, fpreal now, const UT_Options *options)
 Returns a shader node of a given type. More...
 
SHOP_TYPE getShaderType ()
 Returns the actual shader type reported by the underlying VOP. More...
 
bool buildShaderString (UT_String &result, fpreal now, const UT_Options *options, OP_Node *obj=0, OP_Node *sop=0, SHOP_TYPE interpret_type=SHOP_INVALID)
 
bool buildShaderHandle (UT_String &result, fpreal now, const UT_Options *options, OP_Node *obj=0, OP_Node *sop=0, SHOP_TYPE interpret_type=SHOP_INVALID)
 
bool buildShaderLanguage (UT_String &result, fpreal now, const UT_Options *options, OP_Node *obj=0, OP_Node *sop=0, SHOP_TYPE interpret_type=SHOP_INVALID)
 Returns the name of a language in which the shader is written. More...
 
bool buildShaderData (SHOP_ReData &data, fpreal now, const UT_Options *options, OP_Node *obj=0, OP_Node *sop=0, SHOP_TYPE interpret_type=SHOP_INVALID)
 Returns the shader data for the viewport rendering. More...
 
bool buildShaderBounds (UT_BoundingBox &box, fpreal now, const UT_Options *options, OP_Node *obj=0, OP_Node *sop=0, SHOP_TYPE interpret_type=SHOP_INVALID)
 Builds the shader bounds for the displacement shader. More...
 
bool buildCoShaderStrings (UT_StringArray &result, OP_NodeList &coshaders, fpreal now, const UT_Options *options, OP_Node *obj=0, OP_Node *sop=0, SHOP_TYPE interpret_type=SHOP_INVALID)
 Returns the list of co-shaders used by this shader. More...
 
bool buildCoShaderHandles (UT_StringArray &result, fpreal now, const UT_Options *options, OP_Node *obj=0, OP_Node *sop=0, SHOP_TYPE interpret_type=SHOP_INVALID)
 
bool buildCoShaderLanguages (UT_StringArray &result, fpreal now, const UT_Options *options, OP_Node *obj=0, OP_Node *sop=0, SHOP_TYPE interpret_type=SHOP_INVALID)
 Returns the list of language names in which co-shaders are written. More...
 
bool buildVopShaderString (VOP_Node *proc, UT_String &result, fpreal now, const UT_Options *options, OP_Node *obj, OP_Node *sop, SHOP_TYPE interpret_type=SHOP_INVALID)
 Returns shader string for procedural node 'proc'. More...
 
bool hasCoShaderInputNode (const char *parm_name)
 Returns ture if the given parameter has a corresponding input wired in. More...
 

Static Public Member Functions

static void installCallbacks ()
 Registers some callback for use of VOP lib. More...
 

Detailed Description

A layer over VOP shaders that allows tapping into the SHOP clerks for shader parameter evaluation. This allows treating VOP shaders the same way as SHOP node shaders, with respect to shader aspect evaluation calls.

Definition at line 32 of file SHOP_VopShaderAdapter.h.

Constructor & Destructor Documentation

SHOP_VopShaderAdapter::SHOP_VopShaderAdapter ( VOP_Node vop)

Member Function Documentation

bool SHOP_VopShaderAdapter::buildCoShaderHandles ( UT_StringArray result,
fpreal  now,
const UT_Options options,
OP_Node obj = 0,
OP_Node sop = 0,
SHOP_TYPE  interpret_type = SHOP_INVALID 
)

Returns the list of co-shader handles used to reference the co-shaders used by this shader.

bool SHOP_VopShaderAdapter::buildCoShaderLanguages ( UT_StringArray result,
fpreal  now,
const UT_Options options,
OP_Node obj = 0,
OP_Node sop = 0,
SHOP_TYPE  interpret_type = SHOP_INVALID 
)

Returns the list of language names in which co-shaders are written.

bool SHOP_VopShaderAdapter::buildCoShaderStrings ( UT_StringArray result,
OP_NodeList coshaders,
fpreal  now,
const UT_Options options,
OP_Node obj = 0,
OP_Node sop = 0,
SHOP_TYPE  interpret_type = SHOP_INVALID 
)

Returns the list of co-shaders used by this shader.

bool SHOP_VopShaderAdapter::buildShaderBounds ( UT_BoundingBox box,
fpreal  now,
const UT_Options options,
OP_Node obj = 0,
OP_Node sop = 0,
SHOP_TYPE  interpret_type = SHOP_INVALID 
)

Builds the shader bounds for the displacement shader.

bool SHOP_VopShaderAdapter::buildShaderData ( SHOP_ReData data,
fpreal  now,
const UT_Options options,
OP_Node obj = 0,
OP_Node sop = 0,
SHOP_TYPE  interpret_type = SHOP_INVALID 
)

Returns the shader data for the viewport rendering.

bool SHOP_VopShaderAdapter::buildShaderHandle ( UT_String result,
fpreal  now,
const UT_Options options,
OP_Node obj = 0,
OP_Node sop = 0,
SHOP_TYPE  interpret_type = SHOP_INVALID 
)

Returns the shader handle by which the shader instance is known to the renderer or to other shaders wanting to reference this one.

bool SHOP_VopShaderAdapter::buildShaderLanguage ( UT_String result,
fpreal  now,
const UT_Options options,
OP_Node obj = 0,
OP_Node sop = 0,
SHOP_TYPE  interpret_type = SHOP_INVALID 
)

Returns the name of a language in which the shader is written.

bool SHOP_VopShaderAdapter::buildShaderString ( UT_String result,
fpreal  now,
const UT_Options options,
OP_Node obj = 0,
OP_Node sop = 0,
SHOP_TYPE  interpret_type = SHOP_INVALID 
)

Builds shader call representation as a string (ie, shader "command" name followed by the argument name/value pairs).

bool SHOP_VopShaderAdapter::buildVopShaderString ( VOP_Node proc,
UT_String result,
fpreal  now,
const UT_Options options,
OP_Node obj,
OP_Node sop,
SHOP_TYPE  interpret_type = SHOP_INVALID 
)

Returns shader string for procedural node 'proc'.

OP_Node* SHOP_VopShaderAdapter::findShader ( SHOP_TYPE  shader_type,
fpreal  now,
const UT_Options options 
)

Returns a shader node of a given type.

SHOP_TYPE SHOP_VopShaderAdapter::getShaderType ( )

Returns the actual shader type reported by the underlying VOP.

bool SHOP_VopShaderAdapter::hasCoShaderInputNode ( const char *  parm_name)

Returns ture if the given parameter has a corresponding input wired in.

static void SHOP_VopShaderAdapter::installCallbacks ( )
static

Registers some callback for use of VOP lib.


The documentation for this class was generated from the following file: