Public Member Functions | |
| HRESULT | Attach ([in] IRsNode *pNode) |
| HRESULT | CreateMaterialListManager () |
| HRESULT | GetFreeMaterialIndex ([out] RtDWORD *pdwIndex) |
| HRESULT | AddMaterialChunk ([in] RtDWORD dwIndex,[in] RtMatClsId activeMatClsId,[out] IRsNode **ppNode) |
| HRESULT | GetMaterialsCount ([out, retval] RtDWORD *pdwCount) |
| HRESULT | GetMaterialIndices ([out] RtDWORD *pIndices) |
| HRESULT | GetNextMaterialIndex ([in, out] RtLong *pdwIndex) |
| HRESULT | GetMaterial ([in] RtDWORD dwMatInd,[in]RtMatClsId MatClsId,[out] IRsObject **ppMaterial) |
| HRESULT | SetMaterial ([in] RtDWORD dwMatInd,[in] IRsNode *pMaterial) |
| HRESULT | SetMaterialFromGeneric ([in] RtDWORD dwMatInd, IRdMaterialGeneric *pMaterial) |
| HRESULT | DeleteMaterials () |
| HRESULT | GetMaterialFlavorManager ([in] RtDWORD dwMatInd,[out] IRsNode **ppNode) |
| HRESULT | GetMaterialFlavorManagerByOrder ([in] RtDWORD dwMatOrder,[out] IRsNode **ppNode,[out] RtDWORD *pdwMatIndex) |
| HRESULT | FindMaterialFlavorNode ([in] RtDWORD dwMatInd,[in]RtMatClsId MatClsId,[out] IRsNode **ppMatItemNode) |
| HRESULT | GetMaterialNode (RtDWORD dwMatInd, IRsNode **ppSrNode) |
| HRESULT | GetMaterialNodeByOrder (RtDWORD dwMatOrder, IRsNode **ppNode, RtDWORD *pdwMatIndex) |
| HRESULT | GetSharedMaterialNode (IRsNode *pNode, IRsNode **ppSharedMaterial) |
| HRESULT | PermutateMaterials ([in] RtUlong *pdwLookup,[in] RtUlong dwLookupSize) |
| HRESULT | GetMaterialIndex (IRsMaterialGeneric *pGeneric, RtDWORD *pdwIndex, IRsNode **ppMaterialNode) |
| HRESULT | SynchronizeMaterialFromGeneric ([in] RtDWORD dwMatInd,[in] IRdMaterialGeneric *spMaterial,[in] RtMaterialGenComponent dwComponentFilter) |
| HRESULT | GetMaterialGeneric ([in] RtDWORD dwMatInd,[out] IRsMaterialGeneric **ppMaterial) |
| HRESULT | GetMaterialGenericByOrder ([in] RtDWORD dwMatInd,[out] IRsMaterialGeneric **ppMaterial) |
| HRESULT | GetMaterialGenericDesc ([in] RtDWORD dwMatInd,[out] IRdMaterialGeneric **ppMaterial) |
| HRESULT | ConvertToMaterialList () |
| HRESULT | FindMaterialConnector ([in] IRsNode *pNode,[out, retval] IRsConnector **ppConnector) |
| HRESULT | GetMaterialListManagerNode ([out, retval] IRsNode **ppNode) |
| HRESULT | MergeMaterialLists ([in] IRsNode *pNode,[out] RtMaterialIndexTranslation **ppTranslations,[out] RtDWORD *pTranslationsCount) |
| HRESULT | DeleteUnusedMaterials () |
| HRESULT | CreateEmptyMaterialList (IRsNode **ppMaterialListEncaps) |
| HRESULT | GetMaterialConnector ([in] RtDWORD dwMatInd,[out] IRsConnector **ppCon) |
| HRESULT | GetFreeMaterialConnector ([out] RtDWORD *pdwUnusedCon) |
| HRESULT | SetMaterialList (IRsNode *pMaterial) |
| HRESULT | RemoveMaterial ([in] RtDWORD dwMatInd) |
| HRESULT IRfMaterialListSet::Attach | ( | [in] IRsNode * | pNode | ) |
Attach node to this function set.
| pNode | [in] Name of node. |
| HRESULT IRfMaterialListSet::CreateMaterialListManager | ( | ) |
Creates empty material list manager.
| HRESULT IRfMaterialListSet::GetFreeMaterialIndex | ( | [out] RtDWORD * | pdwIndex | ) |
Get first free material index.
| pdwIndex | [out] First free material index. |
| HRESULT IRfMaterialListSet::AddMaterialChunk | ( | [in] RtDWORD | dwIndex, | |
| [in] RtMatClsId | activeMatClsId, | |||
| [out] IRsNode ** | ppNode | |||
| ) |
Create empty material chunk (encapsulated material flavor manager) and attach it to the material list.
| dwIndex | [in] Specific index to attach material chunk to. | |
| activeMatClsId | [in] Active material class ID. | |
| ppNode | [out] Created material chunk node. |
| HRESULT IRfMaterialListSet::GetMaterialsCount | ( | [out, retval] RtDWORD * | pdwCount | ) |
Get number of materials in the material list.
| HRESULT IRfMaterialListSet::GetMaterialIndices | ( | [out] RtDWORD * | pIndices | ) |
GetMaterialIndexes: Get an array of indices of materials in the material list.
| pIndices | [in] Array filled with material indices. Array must contain at the lease GetMaterialsCount elements. |
| HRESULT IRfMaterialListSet::GetNextMaterialIndex | ( | [in, out] RtLong * | pdwIndex | ) |
GetNextMaterialIndex: return next index in the list:
| pdwIndex | [in,out] Returns next index in list. |
| HRESULT IRfMaterialListSet::GetMaterial | ( | [in] RtDWORD | dwMatInd, | |
| [in] RtMatClsId | MatClsId, | |||
| [out] IRsObject ** | ppMaterial | |||
| ) |
GetMaterial: return material's IRsObject for given material index.
| dwMatInd | [in] Specific index. | |
| MatClsId | [in] Material class ID. | |
| ppMaterial | [out] Generic material interface for the material. |
| HRESULT IRfMaterialListSet::SetMaterial | ( | [in] RtDWORD | dwMatInd, | |
| [in] IRsNode * | pMaterial | |||
| ) |
Set material to specified index.
| dwMatInd | [in] Specific index. | |
| pMaterial | [in] Material node to add to manager. |
| HRESULT IRfMaterialListSet::SetMaterialFromGeneric | ( | [in] RtDWORD | dwMatInd, | |
| IRdMaterialGeneric * | pMaterial | |||
| ) |
Set material defined using generic descriptor to specified index.
| dwMatInd | [in] Specific index. | |
| pMaterial | [in] Material descriptor. |
| HRESULT IRfMaterialListSet::DeleteMaterials | ( | ) |
Delete all materials.
| HRESULT IRfMaterialListSet::GetMaterialFlavorManager | ( | [in] RtDWORD | dwMatInd, | |
| [out] IRsNode ** | ppNode | |||
| ) |
For specified material index find material flavor manager node.
| dwMatInd | [in] Material index. | |
| ppNode | [out] Material flavor manager node. |
| HRESULT IRfMaterialListSet::GetMaterialFlavorManagerByOrder | ( | [in] RtDWORD | dwMatOrder, | |
| [out] IRsNode ** | ppNode, | |||
| [out] RtDWORD * | pdwMatIndex | |||
| ) |
For specified material order get material flavor manager node.
| dwMatOrder | [in] Material order. | |
| ppNode | [out] Material flavor manager node. | |
| pdwMatIndex | [out] Material index. |
| HRESULT IRfMaterialListSet::FindMaterialFlavorNode | ( | [in] RtDWORD | dwMatInd, | |
| [in] RtMatClsId | MatClsId, | |||
| [out] IRsNode ** | ppMatItemNode | |||
| ) |
For specified material index and material class, find material flavor node.
| dwMatInd | [in] Index of material. | |
| MatClsId | [in] Material class ID. | |
| ppMatItemNode | [out] Material flavor node. |
| HRESULT IRfMaterialListSet::GetMaterialNode | ( | RtDWORD | dwMatInd, | |
| IRsNode ** | ppSrNode | |||
| ) |
For specified material index, find material node with all flavors inside.
| dwMatInd | [in] Material index. |
| HRESULT IRfMaterialListSet::GetMaterialNodeByOrder | ( | RtDWORD | dwMatOrder, | |
| IRsNode ** | ppNode, | |||
| RtDWORD * | pdwMatIndex | |||
| ) |
For specified material order, find material node with all flavors inside.
| dwMatOrder | [in] Material order. | |
| ppNode | [out] Material node. | |
| pdwMatIndex | [out] Material index. |
Get shared material for specified material node.
| pNode | [in] Material node (referenced or direct). | |
| ppSharedMaterial | [out] Shared material node if material is instanced. |
| HRESULT IRfMaterialListSet::PermutateMaterials | ( | [in] RtUlong * | pdwLookup, | |
| [in] RtUlong | dwLookupSize | |||
| ) |
Permutate materials according to lookup table.
| pdwLookup | [in] Material permutation table. | |
| dwLookupSize | [in] Number of items in lookup table. |
| HRESULT IRfMaterialListSet::GetMaterialIndex | ( | IRsMaterialGeneric * | pGeneric, | |
| RtDWORD * | pdwIndex, | |||
| IRsNode ** | ppMaterialNode | |||
| ) |
Get material index according to provided material instance.
| pGeneric | [in] Generic flavor of material to locate. | |
| pdwIndex | [out] Material index if succeeded. | |
| pMaterialNode | [out] Material node with provided index if succeeded. |
| HRESULT IRfMaterialListSet::SynchronizeMaterialFromGeneric | ( | [in] RtDWORD | dwMatInd, | |
| [in] IRdMaterialGeneric * | spMaterial, | |||
| [in] RtMaterialGenComponent | dwComponentFilter | |||
| ) |
Update specified material with material defined using generic material description.
| dwMatInd | [in] Material index to update. | |
| spMaterial | [in] Generic material description to use for updating. | |
| dwComponentFilter | [in] Or-ed flags of components to update. |
| HRESULT IRfMaterialListSet::GetMaterialGeneric | ( | [in] RtDWORD | dwMatInd, | |
| [out] IRsMaterialGeneric ** | ppMaterial | |||
| ) |
Get a master material specified by index.
| dwMatInd | [in] Material index. | |
| ppMaterial | [out] Generic material interface for the material. |
| HRESULT IRfMaterialListSet::GetMaterialGenericByOrder | ( | [in] RtDWORD | dwMatInd, | |
| [out] IRsMaterialGeneric ** | ppMaterial | |||
| ) |
Get a master material specified by material order.
| dwMatInd | [in] Material index. | |
| ppMaterial | [out] Generic material interface for the material. |
| HRESULT IRfMaterialListSet::GetMaterialGenericDesc | ( | [in] RtDWORD | dwMatInd, | |
| [out] IRdMaterialGeneric ** | ppMaterial | |||
| ) |
Get generic description data from master material specified by index.
| dwMatInd | [in] Material index. | |
| ppMaterial | [out] Generic material data for the material. |
| HRESULT IRfMaterialListSet::ConvertToMaterialList | ( | ) |
Convert d3d only material to material list material.
| HRESULT IRfMaterialListSet::FindMaterialConnector | ( | [in] IRsNode * | pNode, | |
| [out, retval] IRsConnector ** | ppConnector | |||
| ) |
Find material output connector.
| pNode | [in] Node to check. |
S_OK if succeeded.
| HRESULT IRfMaterialListSet::GetMaterialListManagerNode | ( | [out, retval] IRsNode ** | ppNode | ) |
Return material list manager node for currently attached object.
S_OK if succeeded.
| HRESULT IRfMaterialListSet::MergeMaterialLists | ( | [in] IRsNode * | pNode, | |
| [out] RtMaterialIndexTranslation ** | ppTranslations, | |||
| [out] RtDWORD * | pTranslationsCount | |||
| ) |
Merges material lists from attached node and specified node into attached node.
| pNode | [in] Node with material list to append (mesh node containing material list). | |
| ppTranslations | [out] Output array of second mesh material indices translations. | |
| pTranslationsCount | [out] Number of translations generated. |
| HRESULT IRfMaterialListSet::DeleteUnusedMaterials | ( | ) |
Deletes all unused materials from attached node.
| HRESULT IRfMaterialListSet::CreateEmptyMaterialList | ( | IRsNode ** | ppMaterialListEncaps | ) |
Create empty material encapsulator.
S_OK if succeeded.
| HRESULT IRfMaterialListSet::GetMaterialConnector | ( | [in] RtDWORD | dwMatInd, | |
| [out] IRsConnector ** | ppCon | |||
| ) |
For specified material index find material list manager connector.
| dwMatInd | [in] Material index. | |
| ppCon | Material [out] List connector. |
| HRESULT IRfMaterialListSet::GetFreeMaterialConnector | ( | [out] RtDWORD * | pdwUnusedCon | ) |
Return first unused (free) material connector on material list node.
| pdwUnusedCon | [out] Free material connector index. |
| HRESULT IRfMaterialListSet::SetMaterialList | ( | IRsNode * | pMaterial | ) |
Set material list to object.
| pMaterial | [in] Material list node to attached object. |
| HRESULT IRfMaterialListSet::RemoveMaterial | ( | [in] RtDWORD | dwMatInd | ) |
Removes material with specified index.
| dwMatInd | [in] Material index. |
1.5.5