Classes | Macros | Typedefs | Enumerations | Functions
rhino/demo/c/dr_libs/old/dr_mtl.h File Reference
#include <stddef.h>
#include <stdbool.h>
Include dependency graph for rhino/demo/c/dr_libs/old/dr_mtl.h:

Go to the source code of this file.

Classes

struct  drmtl_channel
 
struct  drmtl_channel_header
 
struct  drmtl_header
 Structure containing the header information of the material. More...
 
struct  drmtl_identifier
 
struct  drmtl_input
 Structure containing information about an input variable. More...
 
struct  drmtl_instruction
 Structure containing information about an instruction. More...
 
union  drmtl_instruction_input
 
struct  drmtl_instruction_input_descriptor
 Structure used for describing an instructions input data. More...
 
struct  drmtl_material
 Structure containing the definition of the material. More...
 
struct  drmtl_property
 

Macros

#define DRMTL_CURRENT_VERSION   1
 
#define DRMTL_INPUT_DESC_CONSTF   ((unsigned char)-1)
 
#define DRMTL_INPUT_DESC_CONSTI   ((unsigned char)-2)
 
#define DRMTL_INPUT_DESC_VARW   ((unsigned char)3)
 
#define DRMTL_INPUT_DESC_VARX   ((unsigned char)0)
 
#define DRMTL_INPUT_DESC_VARY   ((unsigned char)1)
 
#define DRMTL_INPUT_DESC_VARZ   ((unsigned char)2)
 
#define DRMTL_MAGIC_NUMBER   0x81DF7405
 
#define DRMTL_MAX_CHANNEL_NAME   28
 
#define DRMTL_MAX_IDENTIFIER_NAME   28
 
#define DRMTL_MAX_INPUT_PATH   252
 
#define DRMTL_MAX_PROPERTY_NAME   28
 
#define DRMTL_MAX_PROPERTY_PATH   224
 

Typedefs

typedef struct drmtl_material drmtl_material
 
typedef unsigned int drmtl_uint32
 
typedef unsigned char drmtl_uint8
 

Enumerations

enum  drmtl_opcode {
  drmtl_opcode_movf1 = 0x00000001, drmtl_opcode_movf2 = 0x00000002, drmtl_opcode_movf3 = 0x00000003, drmtl_opcode_movf4 = 0x00000004,
  drmtl_opcode_movi1 = 0x00000005, drmtl_opcode_movi2 = 0x00000006, drmtl_opcode_movi3 = 0x00000007, drmtl_opcode_movi4 = 0x00000008,
  drmtl_opcode_addf1 = 0x00001001, drmtl_opcode_addf2 = 0x00001002, drmtl_opcode_addf3 = 0x00001003, drmtl_opcode_addf4 = 0x00001004,
  drmtl_opcode_addi1 = 0x00001005, drmtl_opcode_addi2 = 0x00001006, drmtl_opcode_addi3 = 0x00001007, drmtl_opcode_addi4 = 0x00001008,
  drmtl_opcode_subf1 = 0x00001101, drmtl_opcode_subf2 = 0x00001102, drmtl_opcode_subf3 = 0x00001103, drmtl_opcode_subf4 = 0x00001104,
  drmtl_opcode_subi1 = 0x00001105, drmtl_opcode_subi2 = 0x00001106, drmtl_opcode_subi3 = 0x00001107, drmtl_opcode_subi4 = 0x00001108,
  drmtl_opcode_mulf1 = 0x00001201, drmtl_opcode_mulf2 = 0x00001202, drmtl_opcode_mulf3 = 0x00001203, drmtl_opcode_mulf4 = 0x00001204,
  drmtl_opcode_muli1 = 0x00001205, drmtl_opcode_muli2 = 0x00001206, drmtl_opcode_muli3 = 0x00001207, drmtl_opcode_muli4 = 0x00001208,
  drmtl_opcode_divf1 = 0x00001301, drmtl_opcode_divf2 = 0x00001302, drmtl_opcode_divf3 = 0x00001303, drmtl_opcode_divf4 = 0x00001304,
  drmtl_opcode_divi1 = 0x00001305, drmtl_opcode_divi2 = 0x00001306, drmtl_opcode_divi3 = 0x00001307, drmtl_opcode_divi4 = 0x00001308,
  drmtl_opcode_powf1 = 0x00001401, drmtl_opcode_powf2 = 0x00001402, drmtl_opcode_powf3 = 0x00001403, drmtl_opcode_powf4 = 0x00001404,
  drmtl_opcode_powi1 = 0x00001405, drmtl_opcode_powi2 = 0x00001406, drmtl_opcode_powi3 = 0x00001407, drmtl_opcode_powi4 = 0x00001408,
  drmtl_opcode_tex1 = 0x00002001, drmtl_opcode_tex2 = 0x00002002, drmtl_opcode_tex3 = 0x00002003, drmtl_opcode_texcube = 0x00002004,
  drmtl_opcode_var = 0x00003000, drmtl_opcode_retf1 = 0x00003001, drmtl_opcode_retf2 = 0x00003002, drmtl_opcode_retf3 = 0x00003003,
  drmtl_opcode_retf4 = 0x00003004, drmtl_opcode_reti1 = 0x00003005, drmtl_opcode_reti2 = 0x00003006, drmtl_opcode_reti3 = 0x00003007,
  drmtl_opcode_reti4 = 0x00003008, drmtl_opcode_movf1 = 0x00000001, drmtl_opcode_movf2 = 0x00000002, drmtl_opcode_movf3 = 0x00000003,
  drmtl_opcode_movf4 = 0x00000004, drmtl_opcode_movi1 = 0x00000005, drmtl_opcode_movi2 = 0x00000006, drmtl_opcode_movi3 = 0x00000007,
  drmtl_opcode_movi4 = 0x00000008, drmtl_opcode_addf1 = 0x00001001, drmtl_opcode_addf2 = 0x00001002, drmtl_opcode_addf3 = 0x00001003,
  drmtl_opcode_addf4 = 0x00001004, drmtl_opcode_addi1 = 0x00001005, drmtl_opcode_addi2 = 0x00001006, drmtl_opcode_addi3 = 0x00001007,
  drmtl_opcode_addi4 = 0x00001008, drmtl_opcode_subf1 = 0x00001101, drmtl_opcode_subf2 = 0x00001102, drmtl_opcode_subf3 = 0x00001103,
  drmtl_opcode_subf4 = 0x00001104, drmtl_opcode_subi1 = 0x00001105, drmtl_opcode_subi2 = 0x00001106, drmtl_opcode_subi3 = 0x00001107,
  drmtl_opcode_subi4 = 0x00001108, drmtl_opcode_mulf1 = 0x00001201, drmtl_opcode_mulf2 = 0x00001202, drmtl_opcode_mulf3 = 0x00001203,
  drmtl_opcode_mulf4 = 0x00001204, drmtl_opcode_muli1 = 0x00001205, drmtl_opcode_muli2 = 0x00001206, drmtl_opcode_muli3 = 0x00001207,
  drmtl_opcode_muli4 = 0x00001208, drmtl_opcode_divf1 = 0x00001301, drmtl_opcode_divf2 = 0x00001302, drmtl_opcode_divf3 = 0x00001303,
  drmtl_opcode_divf4 = 0x00001304, drmtl_opcode_divi1 = 0x00001305, drmtl_opcode_divi2 = 0x00001306, drmtl_opcode_divi3 = 0x00001307,
  drmtl_opcode_divi4 = 0x00001308, drmtl_opcode_powf1 = 0x00001401, drmtl_opcode_powf2 = 0x00001402, drmtl_opcode_powf3 = 0x00001403,
  drmtl_opcode_powf4 = 0x00001404, drmtl_opcode_powi1 = 0x00001405, drmtl_opcode_powi2 = 0x00001406, drmtl_opcode_powi3 = 0x00001407,
  drmtl_opcode_powi4 = 0x00001408, drmtl_opcode_tex1 = 0x00002001, drmtl_opcode_tex2 = 0x00002002, drmtl_opcode_tex3 = 0x00002003,
  drmtl_opcode_texcube = 0x00002004, drmtl_opcode_var = 0x00003000, drmtl_opcode_retf1 = 0x00003001, drmtl_opcode_retf2 = 0x00003002,
  drmtl_opcode_retf3 = 0x00003003, drmtl_opcode_retf4 = 0x00003004, drmtl_opcode_reti1 = 0x00003005, drmtl_opcode_reti2 = 0x00003006,
  drmtl_opcode_reti3 = 0x00003007, drmtl_opcode_reti4 = 0x00003008
}
 The various run-time opcodes. More...
 
enum  drmtl_type {
  drmtl_type_float = 1, drmtl_type_float2 = 2, drmtl_type_float3 = 3, drmtl_type_float4 = 4,
  drmtl_type_int = 5, drmtl_type_int2 = 6, drmtl_type_int3 = 7, drmtl_type_int4 = 8,
  drmtl_type_tex1d = 9, drmtl_type_tex2d = 10, drmtl_type_tex3d = 11, drmtl_type_texcube = 12,
  drmtl_type_bool = 13, drmtl_type_float = 1, drmtl_type_float2 = 2, drmtl_type_float3 = 3,
  drmtl_type_float4 = 4, drmtl_type_int = 5, drmtl_type_int2 = 6, drmtl_type_int3 = 7,
  drmtl_type_int4 = 8, drmtl_type_tex1d = 9, drmtl_type_tex2d = 10, drmtl_type_tex3d = 11,
  drmtl_type_texcube = 12, drmtl_type_bool = 13
}
 The various data type available to the material. More...
 

Functions

drmtl_instruction drmtl_addf1_c1 (unsigned int outputIdentifierIndex, float x)
 
drmtl_instruction drmtl_addf1_v1 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_addf2_c2 (unsigned int outputIdentifierIndex, float x, float y)
 
drmtl_instruction drmtl_addf2_v2 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_addf3_c3 (unsigned int outputIdentifierIndex, float x, float y, float z)
 
drmtl_instruction drmtl_addf3_v3 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_addf4_c4 (unsigned int outputIdentifierIndex, float x, float y, float z, float w)
 
drmtl_instruction drmtl_addf4_v4 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
bool drmtl_appendchannel (drmtl_material *pMaterial, drmtl_channel channelHeader)
 
bool drmtl_appendidentifier (drmtl_material *pMaterial, drmtl_identifier identifier, unsigned int *indexOut)
 
bool drmtl_appendinstruction (drmtl_material *pMaterial, drmtl_instruction instruction)
 Appends an instruction to the most recently appended channel. More...
 
bool drmtl_appendprivateinput (drmtl_material *pMaterial, drmtl_input input)
 Appends a private input variable. More...
 
bool drmtl_appendproperty (drmtl_material *pMaterial, drmtl_property prop)
 Append a property. More...
 
bool drmtl_appendpublicinput (drmtl_material *pMaterial, drmtl_input input)
 Appends a public input variable. More...
 
drmtl_channel drmtl_channel_float (const char *name)
 Helper for creating a channel. More...
 
drmtl_channel drmtl_channel_float2 (const char *name)
 
drmtl_channel drmtl_channel_float3 (const char *name)
 
drmtl_channel drmtl_channel_float4 (const char *name)
 
drmtl_channel drmtl_channel_int (const char *name)
 
drmtl_channel drmtl_channel_int2 (const char *name)
 
drmtl_channel drmtl_channel_int3 (const char *name)
 
drmtl_channel drmtl_channel_int4 (const char *name)
 
bool drmtl_codegen_glsl_channel (drmtl_material *pMaterial, const char *channelName, char *codeOut, size_t codeOutSizeInBytes, size_t *pBytesWrittenOut)
 Generates GLSL code for the channel with the given name. More...
 
bool drmtl_codegen_glsl_uniforms (drmtl_material *pMaterial, char *codeOut, size_t codeOutSizeInBytes, size_t *pBytesWritteOut)
 Generates GLSL code for the uniform variables as defined by the material's public input variables. More...
 
bool drmtl_compile_wavefront_mtl (drmtl_material *pMaterial, const char *mtlData, size_t mtlDataSizeInBytes, const char *texcoordInputName)
 
drmtl_instruction drmtl_divf1_c1 (unsigned int outputIdentifierIndex, float x)
 
drmtl_instruction drmtl_divf1_v1 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_divf2_c2 (unsigned int outputIdentifierIndex, float x, float y)
 
drmtl_instruction drmtl_divf2_v2 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_divf3_c3 (unsigned int outputIdentifierIndex, float x, float y, float z)
 
drmtl_instruction drmtl_divf3_v3 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_divf4_c4 (unsigned int outputIdentifierIndex, float x, float y, float z, float w)
 
drmtl_instruction drmtl_divf4_v4 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_channel_headerdrmtl_getchannelheaderbyindex (drmtl_material *pMaterial, unsigned int channelIndex)
 
drmtl_channel_headerdrmtl_getchannelheaderbyname (drmtl_material *pMaterial, const char *channelName)
 
drmtl_headerdrmtl_getheader (drmtl_material *pMaterial)
 Retrieve a pointer to the header information. More...
 
drmtl_identifierdrmtl_getidentifier (drmtl_material *pMaterial, unsigned int index)
 
unsigned int drmtl_getidentifiercount (drmtl_material *pMaterial)
 Retrieves the number of identifiers defined by the given material. More...
 
drmtl_identifierdrmtl_getidentifiers (drmtl_material *pMaterial)
 Retrieves a pointer to the buffer containing the list of identifiers. More...
 
drmtl_inputdrmtl_getinputbyindex (drmtl_material *pMaterial, unsigned int index)
 Retrieves the input variable by it's index. More...
 
unsigned int drmtl_getinputcount (drmtl_material *pMaterial)
 Retrieves the number of private + public input variables. More...
 
drmtl_inputdrmtl_getprivateinputbyindex (drmtl_material *pMaterial, unsigned int index)
 Retrieves the private input variable by it's index. More...
 
unsigned int drmtl_getprivateinputcount (drmtl_material *pMaterial)
 Retrieves the number of private input variables. More...
 
drmtl_propertydrmtl_getpropertybyindex (drmtl_material *pMaterial, unsigned int index)
 Retrieves a property by it's index. More...
 
drmtl_propertydrmtl_getpropertybyname (drmtl_material *pMaterial, const char *name)
 
unsigned int drmtl_getpropertycount (drmtl_material *pMaterial)
 Retrieves the number of properties. More...
 
drmtl_inputdrmtl_getpublicinputbyindex (drmtl_material *pMaterial, unsigned int index)
 Retrieves the public input variable by it's index. More...
 
unsigned int drmtl_getpublicinputcount (drmtl_material *pMaterial)
 Retrieves the number of public input variables. More...
 
drmtl_identifier drmtl_identifier_float (const char *name)
 Helper for creating an identifier. More...
 
drmtl_identifier drmtl_identifier_float2 (const char *name)
 
drmtl_identifier drmtl_identifier_float3 (const char *name)
 
drmtl_identifier drmtl_identifier_float4 (const char *name)
 
drmtl_identifier drmtl_identifier_int (const char *name)
 
drmtl_identifier drmtl_identifier_int2 (const char *name)
 
drmtl_identifier drmtl_identifier_int3 (const char *name)
 
drmtl_identifier drmtl_identifier_int4 (const char *name)
 
drmtl_identifier drmtl_identifier_tex2d (const char *name)
 
bool drmtl_init (drmtl_material *pMaterial)
 
bool drmtl_initfromexisting (drmtl_material *pMaterial, const void *pRawData, unsigned int dataSizeInBytes)
 
bool drmtl_initfromexisting_nocopy (drmtl_material *pMaterial, const void *pRawData, unsigned int dataSizeInBytes)
 
drmtl_input drmtl_input_float (unsigned int identifierIndex, float x)
 Helper for creating an input variable. More...
 
drmtl_input drmtl_input_float2 (unsigned int identifierIndex, float x, float y)
 
drmtl_input drmtl_input_float3 (unsigned int identifierIndex, float x, float y, float z)
 
drmtl_input drmtl_input_float4 (unsigned int identifierIndex, float x, float y, float z, float w)
 
drmtl_input drmtl_input_int (unsigned int identifierIndex, int x)
 
drmtl_input drmtl_input_int2 (unsigned int identifierIndex, int x, int y)
 
drmtl_input drmtl_input_int3 (unsigned int identifierIndex, int x, int y, int z)
 
drmtl_input drmtl_input_int4 (unsigned int identifierIndex, int x, int y, int z, int w)
 
drmtl_input drmtl_input_tex (unsigned int identifierIndex, const char *path)
 
drmtl_instruction drmtl_movf1_c1 (unsigned int outputIdentifierIndex, float x)
 
drmtl_instruction drmtl_movf1_v1 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 Helper for creating an instruction. These are heavily simplified and more complex setups are possible using lower level APIs. More...
 
drmtl_instruction drmtl_movf2_c2 (unsigned int outputIdentifierIndex, float x, float y)
 
drmtl_instruction drmtl_movf2_v2 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_movf3_c3 (unsigned int outputIdentifierIndex, float x, float y, float z)
 
drmtl_instruction drmtl_movf3_v3 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_movf4_c4 (unsigned int outputIdentifierIndex, float x, float y, float z, float w)
 
drmtl_instruction drmtl_movf4_v4 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_mulf1_c1 (unsigned int outputIdentifierIndex, float x)
 
drmtl_instruction drmtl_mulf1_v1 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_mulf2_c2 (unsigned int outputIdentifierIndex, float x, float y)
 
drmtl_instruction drmtl_mulf2_v2 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_mulf3_c3 (unsigned int outputIdentifierIndex, float x, float y, float z)
 
drmtl_instruction drmtl_mulf3_v3 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_mulf4_c4 (unsigned int outputIdentifierIndex, float x, float y, float z, float w)
 
drmtl_instruction drmtl_mulf4_v1c3 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex, float y, float z, float w)
 
drmtl_instruction drmtl_mulf4_v1v1v1v1 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndexX, unsigned int inputIdentifierIndexY, unsigned int inputIdentifierIndexZ, unsigned int inputIdentifierIndexW)
 
drmtl_instruction drmtl_mulf4_v2c2 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex, float z, float w)
 
drmtl_instruction drmtl_mulf4_v3c1 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex, float w)
 
drmtl_instruction drmtl_mulf4_v3v1 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndexXYZ, unsigned int inputIdentifierIndexW)
 
drmtl_instruction drmtl_mulf4_v4 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_property drmtl_property_bool (const char *name, bool value)
 
drmtl_property drmtl_property_float (const char *name, float x)
 Helper for creating a property. More...
 
drmtl_property drmtl_property_float2 (const char *name, float x, float y)
 
drmtl_property drmtl_property_float3 (const char *name, float x, float y, float z)
 
drmtl_property drmtl_property_float4 (const char *name, float x, float y, float z, float w)
 
drmtl_property drmtl_property_int (const char *name, int x)
 
drmtl_property drmtl_property_int2 (const char *name, int x, int y)
 
drmtl_property drmtl_property_int3 (const char *name, int x, int y, int z)
 
drmtl_property drmtl_property_int4 (const char *name, int x, int y, int z, int w)
 
drmtl_instruction drmtl_retf1 (unsigned int identifierIndex)
 
drmtl_instruction drmtl_retf1_c1 (float x)
 
drmtl_instruction drmtl_retf2 (unsigned int identifierIndex)
 
drmtl_instruction drmtl_retf2_c2 (float x, float y)
 
drmtl_instruction drmtl_retf3 (unsigned int identifierIndex)
 
drmtl_instruction drmtl_retf3_c3 (float x, float y, float z)
 
drmtl_instruction drmtl_retf4 (unsigned int identifierIndex)
 
drmtl_instruction drmtl_retf4_c4 (float x, float y, float z, float w)
 
drmtl_instruction drmtl_reti1 (unsigned int identifierIndex)
 
drmtl_instruction drmtl_reti1_c1 (int x)
 
drmtl_instruction drmtl_reti2 (unsigned int identifierIndex)
 
drmtl_instruction drmtl_reti2_c2 (int x, int y)
 
drmtl_instruction drmtl_reti3 (unsigned int identifierIndex)
 
drmtl_instruction drmtl_reti3_c3 (int x, int y, int z)
 
drmtl_instruction drmtl_reti4 (unsigned int identifierIndex)
 
drmtl_instruction drmtl_reti4_c4 (int x, int y, int z, int w)
 
drmtl_instruction drmtl_subf1_c1 (unsigned int outputIdentifierIndex, float x)
 
drmtl_instruction drmtl_subf1_v1 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_subf2_c2 (unsigned int outputIdentifierIndex, float x, float y)
 
drmtl_instruction drmtl_subf2_v2 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_subf3_c3 (unsigned int outputIdentifierIndex, float x, float y, float z)
 
drmtl_instruction drmtl_subf3_v3 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_subf4_c4 (unsigned int outputIdentifierIndex, float x, float y, float z, float w)
 
drmtl_instruction drmtl_subf4_v4 (unsigned int outputIdentifierIndex, unsigned int inputIdentifierIndex)
 
drmtl_instruction drmtl_tex2 (unsigned int outputIdentifierIndex, unsigned int textureIdentifierIndex, unsigned int texcoordIdentifierIndex)
 
void drmtl_uninit (drmtl_material *pMaterial)
 
drmtl_instruction drmtl_var (unsigned int identifierIndex)
 

Macro Definition Documentation

◆ DRMTL_CURRENT_VERSION

#define DRMTL_CURRENT_VERSION   1

Definition at line 56 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_INPUT_DESC_CONSTF

#define DRMTL_INPUT_DESC_CONSTF   ((unsigned char)-1)

Definition at line 59 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_INPUT_DESC_CONSTI

#define DRMTL_INPUT_DESC_CONSTI   ((unsigned char)-2)

Definition at line 58 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_INPUT_DESC_VARW

#define DRMTL_INPUT_DESC_VARW   ((unsigned char)3)

Definition at line 63 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_INPUT_DESC_VARX

#define DRMTL_INPUT_DESC_VARX   ((unsigned char)0)

Definition at line 60 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_INPUT_DESC_VARY

#define DRMTL_INPUT_DESC_VARY   ((unsigned char)1)

Definition at line 61 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_INPUT_DESC_VARZ

#define DRMTL_INPUT_DESC_VARZ   ((unsigned char)2)

Definition at line 62 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_MAGIC_NUMBER

#define DRMTL_MAGIC_NUMBER   0x81DF7405

Definition at line 55 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_MAX_CHANNEL_NAME

#define DRMTL_MAX_CHANNEL_NAME   28

Definition at line 66 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_MAX_IDENTIFIER_NAME

#define DRMTL_MAX_IDENTIFIER_NAME   28

Definition at line 65 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_MAX_INPUT_PATH

#define DRMTL_MAX_INPUT_PATH   252

Definition at line 69 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_MAX_PROPERTY_NAME

#define DRMTL_MAX_PROPERTY_NAME   28

Definition at line 67 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ DRMTL_MAX_PROPERTY_PATH

#define DRMTL_MAX_PROPERTY_PATH   224

Definition at line 70 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

Typedef Documentation

◆ drmtl_material

Definition at line 76 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ drmtl_uint32

typedef unsigned int drmtl_uint32

Definition at line 74 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ drmtl_uint8

typedef unsigned char drmtl_uint8

Definition at line 73 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

Enumeration Type Documentation

◆ drmtl_opcode

The various run-time opcodes.

Enumerator
drmtl_opcode_movf1 
drmtl_opcode_movf2 
drmtl_opcode_movf3 
drmtl_opcode_movf4 
drmtl_opcode_movi1 
drmtl_opcode_movi2 
drmtl_opcode_movi3 
drmtl_opcode_movi4 
drmtl_opcode_addf1 
drmtl_opcode_addf2 
drmtl_opcode_addf3 
drmtl_opcode_addf4 
drmtl_opcode_addi1 
drmtl_opcode_addi2 
drmtl_opcode_addi3 
drmtl_opcode_addi4 
drmtl_opcode_subf1 
drmtl_opcode_subf2 
drmtl_opcode_subf3 
drmtl_opcode_subf4 
drmtl_opcode_subi1 
drmtl_opcode_subi2 
drmtl_opcode_subi3 
drmtl_opcode_subi4 
drmtl_opcode_mulf1 
drmtl_opcode_mulf2 
drmtl_opcode_mulf3 
drmtl_opcode_mulf4 
drmtl_opcode_muli1 
drmtl_opcode_muli2 
drmtl_opcode_muli3 
drmtl_opcode_muli4 
drmtl_opcode_divf1 
drmtl_opcode_divf2 
drmtl_opcode_divf3 
drmtl_opcode_divf4 
drmtl_opcode_divi1 
drmtl_opcode_divi2 
drmtl_opcode_divi3 
drmtl_opcode_divi4 
drmtl_opcode_powf1 
drmtl_opcode_powf2 
drmtl_opcode_powf3 
drmtl_opcode_powf4 
drmtl_opcode_powi1 
drmtl_opcode_powi2 
drmtl_opcode_powi3 
drmtl_opcode_powi4 
drmtl_opcode_tex1 
drmtl_opcode_tex2 
drmtl_opcode_tex3 
drmtl_opcode_texcube 
drmtl_opcode_var 
drmtl_opcode_retf1 
drmtl_opcode_retf2 
drmtl_opcode_retf3 
drmtl_opcode_retf4 
drmtl_opcode_reti1 
drmtl_opcode_reti2 
drmtl_opcode_reti3 
drmtl_opcode_reti4 
drmtl_opcode_movf1 
drmtl_opcode_movf2 
drmtl_opcode_movf3 
drmtl_opcode_movf4 
drmtl_opcode_movi1 
drmtl_opcode_movi2 
drmtl_opcode_movi3 
drmtl_opcode_movi4 
drmtl_opcode_addf1 
drmtl_opcode_addf2 
drmtl_opcode_addf3 
drmtl_opcode_addf4 
drmtl_opcode_addi1 
drmtl_opcode_addi2 
drmtl_opcode_addi3 
drmtl_opcode_addi4 
drmtl_opcode_subf1 
drmtl_opcode_subf2 
drmtl_opcode_subf3 
drmtl_opcode_subf4 
drmtl_opcode_subi1 
drmtl_opcode_subi2 
drmtl_opcode_subi3 
drmtl_opcode_subi4 
drmtl_opcode_mulf1 
drmtl_opcode_mulf2 
drmtl_opcode_mulf3 
drmtl_opcode_mulf4 
drmtl_opcode_muli1 
drmtl_opcode_muli2 
drmtl_opcode_muli3 
drmtl_opcode_muli4 
drmtl_opcode_divf1 
drmtl_opcode_divf2 
drmtl_opcode_divf3 
drmtl_opcode_divf4 
drmtl_opcode_divi1 
drmtl_opcode_divi2 
drmtl_opcode_divi3 
drmtl_opcode_divi4 
drmtl_opcode_powf1 
drmtl_opcode_powf2 
drmtl_opcode_powf3 
drmtl_opcode_powf4 
drmtl_opcode_powi1 
drmtl_opcode_powi2 
drmtl_opcode_powi3 
drmtl_opcode_powi4 
drmtl_opcode_tex1 
drmtl_opcode_tex2 
drmtl_opcode_tex3 
drmtl_opcode_texcube 
drmtl_opcode_var 
drmtl_opcode_retf1 
drmtl_opcode_retf2 
drmtl_opcode_retf3 
drmtl_opcode_retf4 
drmtl_opcode_reti1 
drmtl_opcode_reti2 
drmtl_opcode_reti3 
drmtl_opcode_reti4 

Definition at line 99 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

◆ drmtl_type

enum drmtl_type

The various data type available to the material.

Enumerator
drmtl_type_float 
drmtl_type_float2 
drmtl_type_float3 
drmtl_type_float4 
drmtl_type_int 
drmtl_type_int2 
drmtl_type_int3 
drmtl_type_int4 
drmtl_type_tex1d 
drmtl_type_tex2d 
drmtl_type_tex3d 
drmtl_type_texcube 
drmtl_type_bool 
drmtl_type_float 
drmtl_type_float2 
drmtl_type_float3 
drmtl_type_float4 
drmtl_type_int 
drmtl_type_int2 
drmtl_type_int3 
drmtl_type_int4 
drmtl_type_tex1d 
drmtl_type_tex2d 
drmtl_type_tex3d 
drmtl_type_texcube 
drmtl_type_bool 

Definition at line 80 of file rhino/demo/c/dr_libs/old/dr_mtl.h.

Function Documentation

◆ drmtl_addf1_c1()

drmtl_instruction drmtl_addf1_c1 ( unsigned int  outputIdentifierIndex,
float  x 
)

◆ drmtl_addf1_v1()

drmtl_instruction drmtl_addf1_v1 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_addf2_c2()

drmtl_instruction drmtl_addf2_c2 ( unsigned int  outputIdentifierIndex,
float  x,
float  y 
)

◆ drmtl_addf2_v2()

drmtl_instruction drmtl_addf2_v2 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_addf3_c3()

drmtl_instruction drmtl_addf3_c3 ( unsigned int  outputIdentifierIndex,
float  x,
float  y,
float  z 
)

◆ drmtl_addf3_v3()

drmtl_instruction drmtl_addf3_v3 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_addf4_c4()

drmtl_instruction drmtl_addf4_c4 ( unsigned int  outputIdentifierIndex,
float  x,
float  y,
float  z,
float  w 
)

◆ drmtl_addf4_v4()

drmtl_instruction drmtl_addf4_v4 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_appendchannel()

bool drmtl_appendchannel ( drmtl_material pMaterial,
drmtl_channel  channelHeader 
)

Begins a new channel.

Remarks
Any instructions that are appended from now on will be part of this channel until another channel is begun.
The end of the channel is marked when a new channel is appended or a property begins.

◆ drmtl_appendidentifier()

bool drmtl_appendidentifier ( drmtl_material pMaterial,
drmtl_identifier  identifier,
unsigned int *  indexOut 
)

Appends an identifier to the end of the identifier list. Use drmtl_getidentifiercount() to determine it's index.

Parameters
pMaterial[in] A pointer to the material to append the identifier to.

◆ drmtl_appendinstruction()

bool drmtl_appendinstruction ( drmtl_material pMaterial,
drmtl_instruction  instruction 
)

Appends an instruction to the most recently appended channel.

◆ drmtl_appendprivateinput()

bool drmtl_appendprivateinput ( drmtl_material pMaterial,
drmtl_input  input 
)

Appends a private input variable.

◆ drmtl_appendproperty()

bool drmtl_appendproperty ( drmtl_material pMaterial,
drmtl_property  prop 
)

Append a property.

◆ drmtl_appendpublicinput()

bool drmtl_appendpublicinput ( drmtl_material pMaterial,
drmtl_input  input 
)

Appends a public input variable.

◆ drmtl_channel_float()

drmtl_channel drmtl_channel_float ( const char *  name)

Helper for creating a channel.

◆ drmtl_channel_float2()

drmtl_channel drmtl_channel_float2 ( const char *  name)

◆ drmtl_channel_float3()

drmtl_channel drmtl_channel_float3 ( const char *  name)

◆ drmtl_channel_float4()

drmtl_channel drmtl_channel_float4 ( const char *  name)

◆ drmtl_channel_int()

drmtl_channel drmtl_channel_int ( const char *  name)

◆ drmtl_channel_int2()

drmtl_channel drmtl_channel_int2 ( const char *  name)

◆ drmtl_channel_int3()

drmtl_channel drmtl_channel_int3 ( const char *  name)

◆ drmtl_channel_int4()

drmtl_channel drmtl_channel_int4 ( const char *  name)

◆ drmtl_codegen_glsl_channel()

bool drmtl_codegen_glsl_channel ( drmtl_material pMaterial,
const char *  channelName,
char *  codeOut,
size_t  codeOutSizeInBytes,
size_t *  pBytesWrittenOut 
)

Generates GLSL code for the channel with the given name.

◆ drmtl_codegen_glsl_uniforms()

bool drmtl_codegen_glsl_uniforms ( drmtl_material pMaterial,
char *  codeOut,
size_t  codeOutSizeInBytes,
size_t *  pBytesWritteOut 
)

Generates GLSL code for the uniform variables as defined by the material's public input variables.

◆ drmtl_compile_wavefront_mtl()

bool drmtl_compile_wavefront_mtl ( drmtl_material pMaterial,
const char *  mtlData,
size_t  mtlDataSizeInBytes,
const char *  texcoordInputName 
)

Compiles a Wavefront MTL file.

Parameters
pMaterial[in] A pointer to the destination material.
Remarks
This will compile the material at the first occurance of the "newmtl" statement, and will end at either the next occurance of "newmtl" of when the input buffer has been exhausted.
This will initialize the material, so ensure that you have not already initialized it before calling this. If this returns successfully, call drmtl_uninit() to uninitialize the material.
MTL files require texture coordinates in order to know how to select the appropriate sample from textures. The of the variable to use is specified in "texcoordInputName", and assumed to have at least 2 components (x and y).

◆ drmtl_divf1_c1()

drmtl_instruction drmtl_divf1_c1 ( unsigned int  outputIdentifierIndex,
float  x 
)

◆ drmtl_divf1_v1()

drmtl_instruction drmtl_divf1_v1 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_divf2_c2()

drmtl_instruction drmtl_divf2_c2 ( unsigned int  outputIdentifierIndex,
float  x,
float  y 
)

◆ drmtl_divf2_v2()

drmtl_instruction drmtl_divf2_v2 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_divf3_c3()

drmtl_instruction drmtl_divf3_c3 ( unsigned int  outputIdentifierIndex,
float  x,
float  y,
float  z 
)

◆ drmtl_divf3_v3()

drmtl_instruction drmtl_divf3_v3 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_divf4_c4()

drmtl_instruction drmtl_divf4_c4 ( unsigned int  outputIdentifierIndex,
float  x,
float  y,
float  z,
float  w 
)

◆ drmtl_divf4_v4()

drmtl_instruction drmtl_divf4_v4 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_getchannelheaderbyindex()

drmtl_channel_header* drmtl_getchannelheaderbyindex ( drmtl_material pMaterial,
unsigned int  channelIndex 
)

Retrieves a pointer to the channel header by it's index.

Remarks
This runs in linear time.

◆ drmtl_getchannelheaderbyname()

drmtl_channel_header* drmtl_getchannelheaderbyname ( drmtl_material pMaterial,
const char *  channelName 
)

Retrieves a pointer to the channel header by it's name.

Remarks
This runs in linear time.

◆ drmtl_getheader()

drmtl_header* drmtl_getheader ( drmtl_material pMaterial)

Retrieve a pointer to the header information.

◆ drmtl_getidentifier()

drmtl_identifier* drmtl_getidentifier ( drmtl_material pMaterial,
unsigned int  index 
)

◆ drmtl_getidentifiercount()

unsigned int drmtl_getidentifiercount ( drmtl_material pMaterial)

Retrieves the number of identifiers defined by the given material.

◆ drmtl_getidentifiers()

drmtl_identifier* drmtl_getidentifiers ( drmtl_material pMaterial)

Retrieves a pointer to the buffer containing the list of identifiers.

◆ drmtl_getinputbyindex()

drmtl_input* drmtl_getinputbyindex ( drmtl_material pMaterial,
unsigned int  index 
)

Retrieves the input variable by it's index.

◆ drmtl_getinputcount()

unsigned int drmtl_getinputcount ( drmtl_material pMaterial)

Retrieves the number of private + public input variables.

◆ drmtl_getprivateinputbyindex()

drmtl_input* drmtl_getprivateinputbyindex ( drmtl_material pMaterial,
unsigned int  index 
)

Retrieves the private input variable by it's index.

◆ drmtl_getprivateinputcount()

unsigned int drmtl_getprivateinputcount ( drmtl_material pMaterial)

Retrieves the number of private input variables.

◆ drmtl_getpropertybyindex()

drmtl_property* drmtl_getpropertybyindex ( drmtl_material pMaterial,
unsigned int  index 
)

Retrieves a property by it's index.

◆ drmtl_getpropertybyname()

drmtl_property* drmtl_getpropertybyname ( drmtl_material pMaterial,
const char *  name 
)

Retrieves a properties by it's name.

Remarks
This is case-sensitive.

◆ drmtl_getpropertycount()

unsigned int drmtl_getpropertycount ( drmtl_material pMaterial)

Retrieves the number of properties.

◆ drmtl_getpublicinputbyindex()

drmtl_input* drmtl_getpublicinputbyindex ( drmtl_material pMaterial,
unsigned int  index 
)

Retrieves the public input variable by it's index.

◆ drmtl_getpublicinputcount()

unsigned int drmtl_getpublicinputcount ( drmtl_material pMaterial)

Retrieves the number of public input variables.

◆ drmtl_identifier_float()

drmtl_identifier drmtl_identifier_float ( const char *  name)

Helper for creating an identifier.

◆ drmtl_identifier_float2()

drmtl_identifier drmtl_identifier_float2 ( const char *  name)

◆ drmtl_identifier_float3()

drmtl_identifier drmtl_identifier_float3 ( const char *  name)

◆ drmtl_identifier_float4()

drmtl_identifier drmtl_identifier_float4 ( const char *  name)

◆ drmtl_identifier_int()

drmtl_identifier drmtl_identifier_int ( const char *  name)

◆ drmtl_identifier_int2()

drmtl_identifier drmtl_identifier_int2 ( const char *  name)

◆ drmtl_identifier_int3()

drmtl_identifier drmtl_identifier_int3 ( const char *  name)

◆ drmtl_identifier_int4()

drmtl_identifier drmtl_identifier_int4 ( const char *  name)

◆ drmtl_identifier_tex2d()

drmtl_identifier drmtl_identifier_tex2d ( const char *  name)

◆ drmtl_init()

bool drmtl_init ( drmtl_material pMaterial)

Initializes the given material.

Parameters
pMaterial[in] A pointer to the material to initialize.
Returns
True if the material is initialized successfully; false otherwise.

◆ drmtl_initfromexisting()

bool drmtl_initfromexisting ( drmtl_material pMaterial,
const void *  pRawData,
unsigned int  dataSizeInBytes 
)

◆ drmtl_initfromexisting_nocopy()

bool drmtl_initfromexisting_nocopy ( drmtl_material pMaterial,
const void *  pRawData,
unsigned int  dataSizeInBytes 
)

◆ drmtl_input_float()

drmtl_input drmtl_input_float ( unsigned int  identifierIndex,
float  x 
)

Helper for creating an input variable.

◆ drmtl_input_float2()

drmtl_input drmtl_input_float2 ( unsigned int  identifierIndex,
float  x,
float  y 
)

◆ drmtl_input_float3()

drmtl_input drmtl_input_float3 ( unsigned int  identifierIndex,
float  x,
float  y,
float  z 
)

◆ drmtl_input_float4()

drmtl_input drmtl_input_float4 ( unsigned int  identifierIndex,
float  x,
float  y,
float  z,
float  w 
)

◆ drmtl_input_int()

drmtl_input drmtl_input_int ( unsigned int  identifierIndex,
int  x 
)

◆ drmtl_input_int2()

drmtl_input drmtl_input_int2 ( unsigned int  identifierIndex,
int  x,
int  y 
)

◆ drmtl_input_int3()

drmtl_input drmtl_input_int3 ( unsigned int  identifierIndex,
int  x,
int  y,
int  z 
)

◆ drmtl_input_int4()

drmtl_input drmtl_input_int4 ( unsigned int  identifierIndex,
int  x,
int  y,
int  z,
int  w 
)

◆ drmtl_input_tex()

drmtl_input drmtl_input_tex ( unsigned int  identifierIndex,
const char *  path 
)

◆ drmtl_movf1_c1()

drmtl_instruction drmtl_movf1_c1 ( unsigned int  outputIdentifierIndex,
float  x 
)

◆ drmtl_movf1_v1()

drmtl_instruction drmtl_movf1_v1 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

Helper for creating an instruction. These are heavily simplified and more complex setups are possible using lower level APIs.

◆ drmtl_movf2_c2()

drmtl_instruction drmtl_movf2_c2 ( unsigned int  outputIdentifierIndex,
float  x,
float  y 
)

◆ drmtl_movf2_v2()

drmtl_instruction drmtl_movf2_v2 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_movf3_c3()

drmtl_instruction drmtl_movf3_c3 ( unsigned int  outputIdentifierIndex,
float  x,
float  y,
float  z 
)

◆ drmtl_movf3_v3()

drmtl_instruction drmtl_movf3_v3 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_movf4_c4()

drmtl_instruction drmtl_movf4_c4 ( unsigned int  outputIdentifierIndex,
float  x,
float  y,
float  z,
float  w 
)

◆ drmtl_movf4_v4()

drmtl_instruction drmtl_movf4_v4 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_mulf1_c1()

drmtl_instruction drmtl_mulf1_c1 ( unsigned int  outputIdentifierIndex,
float  x 
)

◆ drmtl_mulf1_v1()

drmtl_instruction drmtl_mulf1_v1 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_mulf2_c2()

drmtl_instruction drmtl_mulf2_c2 ( unsigned int  outputIdentifierIndex,
float  x,
float  y 
)

◆ drmtl_mulf2_v2()

drmtl_instruction drmtl_mulf2_v2 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_mulf3_c3()

drmtl_instruction drmtl_mulf3_c3 ( unsigned int  outputIdentifierIndex,
float  x,
float  y,
float  z 
)

◆ drmtl_mulf3_v3()

drmtl_instruction drmtl_mulf3_v3 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_mulf4_c4()

drmtl_instruction drmtl_mulf4_c4 ( unsigned int  outputIdentifierIndex,
float  x,
float  y,
float  z,
float  w 
)

◆ drmtl_mulf4_v1c3()

drmtl_instruction drmtl_mulf4_v1c3 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex,
float  y,
float  z,
float  w 
)

◆ drmtl_mulf4_v1v1v1v1()

drmtl_instruction drmtl_mulf4_v1v1v1v1 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndexX,
unsigned int  inputIdentifierIndexY,
unsigned int  inputIdentifierIndexZ,
unsigned int  inputIdentifierIndexW 
)

◆ drmtl_mulf4_v2c2()

drmtl_instruction drmtl_mulf4_v2c2 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex,
float  z,
float  w 
)

◆ drmtl_mulf4_v3c1()

drmtl_instruction drmtl_mulf4_v3c1 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex,
float  w 
)

◆ drmtl_mulf4_v3v1()

drmtl_instruction drmtl_mulf4_v3v1 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndexXYZ,
unsigned int  inputIdentifierIndexW 
)

◆ drmtl_mulf4_v4()

drmtl_instruction drmtl_mulf4_v4 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_property_bool()

drmtl_property drmtl_property_bool ( const char *  name,
bool  value 
)

◆ drmtl_property_float()

drmtl_property drmtl_property_float ( const char *  name,
float  x 
)

Helper for creating a property.

◆ drmtl_property_float2()

drmtl_property drmtl_property_float2 ( const char *  name,
float  x,
float  y 
)

◆ drmtl_property_float3()

drmtl_property drmtl_property_float3 ( const char *  name,
float  x,
float  y,
float  z 
)

◆ drmtl_property_float4()

drmtl_property drmtl_property_float4 ( const char *  name,
float  x,
float  y,
float  z,
float  w 
)

◆ drmtl_property_int()

drmtl_property drmtl_property_int ( const char *  name,
int  x 
)

◆ drmtl_property_int2()

drmtl_property drmtl_property_int2 ( const char *  name,
int  x,
int  y 
)

◆ drmtl_property_int3()

drmtl_property drmtl_property_int3 ( const char *  name,
int  x,
int  y,
int  z 
)

◆ drmtl_property_int4()

drmtl_property drmtl_property_int4 ( const char *  name,
int  x,
int  y,
int  z,
int  w 
)

◆ drmtl_retf1()

drmtl_instruction drmtl_retf1 ( unsigned int  identifierIndex)

◆ drmtl_retf1_c1()

drmtl_instruction drmtl_retf1_c1 ( float  x)

◆ drmtl_retf2()

drmtl_instruction drmtl_retf2 ( unsigned int  identifierIndex)

◆ drmtl_retf2_c2()

drmtl_instruction drmtl_retf2_c2 ( float  x,
float  y 
)

◆ drmtl_retf3()

drmtl_instruction drmtl_retf3 ( unsigned int  identifierIndex)

◆ drmtl_retf3_c3()

drmtl_instruction drmtl_retf3_c3 ( float  x,
float  y,
float  z 
)

◆ drmtl_retf4()

drmtl_instruction drmtl_retf4 ( unsigned int  identifierIndex)

◆ drmtl_retf4_c4()

drmtl_instruction drmtl_retf4_c4 ( float  x,
float  y,
float  z,
float  w 
)

◆ drmtl_reti1()

drmtl_instruction drmtl_reti1 ( unsigned int  identifierIndex)

◆ drmtl_reti1_c1()

drmtl_instruction drmtl_reti1_c1 ( int  x)

◆ drmtl_reti2()

drmtl_instruction drmtl_reti2 ( unsigned int  identifierIndex)

◆ drmtl_reti2_c2()

drmtl_instruction drmtl_reti2_c2 ( int  x,
int  y 
)

◆ drmtl_reti3()

drmtl_instruction drmtl_reti3 ( unsigned int  identifierIndex)

◆ drmtl_reti3_c3()

drmtl_instruction drmtl_reti3_c3 ( int  x,
int  y,
int  z 
)

◆ drmtl_reti4()

drmtl_instruction drmtl_reti4 ( unsigned int  identifierIndex)

◆ drmtl_reti4_c4()

drmtl_instruction drmtl_reti4_c4 ( int  x,
int  y,
int  z,
int  w 
)

◆ drmtl_subf1_c1()

drmtl_instruction drmtl_subf1_c1 ( unsigned int  outputIdentifierIndex,
float  x 
)

◆ drmtl_subf1_v1()

drmtl_instruction drmtl_subf1_v1 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_subf2_c2()

drmtl_instruction drmtl_subf2_c2 ( unsigned int  outputIdentifierIndex,
float  x,
float  y 
)

◆ drmtl_subf2_v2()

drmtl_instruction drmtl_subf2_v2 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_subf3_c3()

drmtl_instruction drmtl_subf3_c3 ( unsigned int  outputIdentifierIndex,
float  x,
float  y,
float  z 
)

◆ drmtl_subf3_v3()

drmtl_instruction drmtl_subf3_v3 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_subf4_c4()

drmtl_instruction drmtl_subf4_c4 ( unsigned int  outputIdentifierIndex,
float  x,
float  y,
float  z,
float  w 
)

◆ drmtl_subf4_v4()

drmtl_instruction drmtl_subf4_v4 ( unsigned int  outputIdentifierIndex,
unsigned int  inputIdentifierIndex 
)

◆ drmtl_tex2()

drmtl_instruction drmtl_tex2 ( unsigned int  outputIdentifierIndex,
unsigned int  textureIdentifierIndex,
unsigned int  texcoordIdentifierIndex 
)

◆ drmtl_uninit()

void drmtl_uninit ( drmtl_material pMaterial)

Uninitializes the given material.

Parameters
pMaterial[in] A pointer to the material to uninitialize.

◆ drmtl_var()

drmtl_instruction drmtl_var ( unsigned int  identifierIndex)


picovoice_driver
Author(s):
autogenerated on Fri Apr 1 2022 02:14:57