added everything
This commit is contained in:
72
lib/maxsdk70/include/mentalray/imrAdvancedTranslation.h
Executable file
72
lib/maxsdk70/include/mentalray/imrAdvancedTranslation.h
Executable file
@@ -0,0 +1,72 @@
|
||||
/*==============================================================================
|
||||
|
||||
file: imrAdvancedTranslation.h
|
||||
|
||||
author: Daniel Levesque
|
||||
|
||||
created: 28 April 2004
|
||||
|
||||
description:
|
||||
|
||||
Defition of the mental ray advanced shader translation interface.
|
||||
|
||||
modified:
|
||||
|
||||
|
||||
<EFBFBD> 2003 Autodesk
|
||||
==============================================================================*/
|
||||
#ifndef _IMRADVANCEDTRANSLATION_H_
|
||||
#define _IMRADVANCEDTRANSLATION_H_
|
||||
|
||||
//==============================================================================
|
||||
// class imrAdvancedTranslation
|
||||
//
|
||||
// A reference to this class is passed to imrShaderTranslation::TranslateParameters_Advanced().
|
||||
//
|
||||
// All methods in the class are an _exact_ match with a function in the mental ray API.
|
||||
// They need to be used in _exactly_ the same way as the mental ray API equivalent.
|
||||
// (For example: all the strings passed to the mental ray API need to be allocated using mi_mem_strdup()).
|
||||
//
|
||||
// For documentation on each method, see the MENTAL RAY MANUAL.
|
||||
//==============================================================================
|
||||
class imrAdvancedTranslation {
|
||||
|
||||
public:
|
||||
|
||||
typedef enum {
|
||||
miTYPE_BOOLEAN = 0, /* simple types: used for */
|
||||
miTYPE_INTEGER, /* returns and parameters */
|
||||
miTYPE_SCALAR,
|
||||
miTYPE_STRING,
|
||||
miTYPE_COLOR,
|
||||
miTYPE_VECTOR,
|
||||
miTYPE_TRANSFORM,
|
||||
miTYPE_SHADER, /* complex types: used for */
|
||||
miTYPE_SCALAR_TEX, /* parameters only */
|
||||
miTYPE_COLOR_TEX,
|
||||
miTYPE_VECTOR_TEX,
|
||||
miTYPE_LIGHT,
|
||||
miTYPE_STRUCT,
|
||||
miTYPE_ARRAY,
|
||||
miTYPE_TEX,
|
||||
miTYPE_MATERIAL, /* phenomenon types */
|
||||
miTYPE_GEOMETRY,
|
||||
miTYPE_LIGHTPROFILE, /* light profiles as args */
|
||||
miTYPE_DATA, /* free-form user data */
|
||||
miNTYPES
|
||||
} miParam_type;
|
||||
|
||||
typedef enum {miFALSE=0, miTRUE=1} miBoolean;
|
||||
|
||||
virtual miBoolean mi_api_parameter_name (char *) = 0;
|
||||
virtual miBoolean mi_api_parameter_value (miParam_type, void *, int *, int *) = 0;
|
||||
virtual miBoolean mi_api_parameter_push (miBoolean) = 0;
|
||||
virtual miBoolean mi_api_parameter_pop (void) = 0;
|
||||
virtual miBoolean mi_api_new_array_element (void) = 0;
|
||||
|
||||
virtual char* _mi_mem_strdup(const char*) = 0;
|
||||
virtual void _mi_mem_release(void*) = 0;
|
||||
virtual void* _mi_mem_allocate(int) = 0;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user