virtual ZRESULT duplicate(rend::IMaterial** ppMat)=0;


Creates a copy of material. Usually it creates an instance of the same class and copies all arguments directly, but it's not a must. Duplicated material should not share resources or settings, it should be an independ copy; it can point to the same textures of cause, but must have it's own instances of rendering extensions.

Ret-val argument with an address of a pointer for requested interface. Not NULL.
See Also:
Interface overview and methods
IMaterialsService::createMaterial method.