HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VEX_RslTypes.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: VEX_RslTypes.h (VEX Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __VEX_RslTypes__
12 #define __VEX_RslTypes__
13 
14 #include "VEX_API.h"
15 
16 /// TODO: While we have a library for VEX language
17 /// (ie, this one), currently we don't have any library for RSL stuff. We
18 /// already started putting RSL-related entities in this library (eg,
19 /// VEX_RslResolver), so this is continuation of this trend. Ideally, at some
20 /// point we should factor out any RSL related code out of this library into a
21 /// new RSL library.
22 
23 // ============================================================================
24 /// RenderMan shader context types.
25 typedef enum {
26  RSL_INVALID_CONTEXT = 0x00000000,
27  RSL_SURFACE_CONTEXT = 0x00000001,
28  RSL_DISPLACE_CONTEXT = 0x00000002,
29  RSL_LIGHT_CONTEXT = 0x00000004,
30  RSL_VOLUME_CONTEXT = 0x00000008,
31  RSL_IMAGER_CONTEXT = 0x00000010,
32  RSL_CLASS_CONTEXT = 0x00000020,
34 
35 
36 // ============================================================================
37 /// Basic management of shader contexts in RSL.
39 {
40 public:
41  /// Get the name token of a context.
42  static const char *getNameFromContextType( RSL_ContextType t );
43 
44  /// Returns a context label token for a given type.
45  static const char *getLabelFromContextType( RSL_ContextType t );
46 
47  /// Map the context name to a context type.
48  static RSL_ContextType getContextTypeFromName( const char *name );
49 };
50 
51 #endif
52 
53 
Basic management of shader contexts in RSL.
Definition: VEX_RslTypes.h:38
#define VEX_API
Definition: VEX_API.h:12
GLuint const GLchar * name
Definition: glcorearb.h:785
RSL_ContextType
RenderMan shader context types.
Definition: VEX_RslTypes.h:25