The IDirect3DRMTexture2 interface is an extension of the IDirect3DRMTexture interface. IDirect3DRMTexture2::InitFromResource2 allows resources to be loaded from DLLs and executables other than the currently executing file. In addition, IDirect3DRMTexture2 has two new methods. The IDirect3DRMTexture2::InitFromImage method creates a texture from an image in memory. This method is equivalent to the IDirect3DRM::CreateTexture method. The IDirect3DRMTexture2::GenerateMIPMap method generates a mipmap from a source image.
To avoid unnecessary delays when creating textures, hold onto textures you want to use again, instead of creating them each time they're needed. For optimal performance, use a texture surface format that is supported by the device you are using. This will avoid a costly format conversion when the texture is created and any time it changes.
See the remarks in IDirect3DRM2::LoadTexture for an example showing how to keep a reference to textures loaded in a texture callback through IDirect3DRM2::LoadTexture.
For a conceptual overview, see IDirect3DRMTexture and IDirect3DRMTexture2.
The methods of the IDirect3DRMTexture2 interface can be organized into the following groups:
Color | GetColors |
SetColors | |
Decals | GetDecalOrigin |
GetDecalScale | |
GetDecalSize | |
GetDecalTransparency | |
GetDecalTransparentColor | |
SetDecalOrigin | |
SetDecalScale | |
SetDecalSize | |
SetDecalTransparency | |
SetDecalTransparentColor | |
Images | GetImage |
Initialization | InitFromFile |
InitFromImage | |
InitFromResource2 | |
InitFromSurface | |
MIP map generation | GenerateMIPMap |
Renderer notification | Changed |
Shading | GetShades |
SetShades |
The IDirect3DRMTexture2 interface, like all COM interfaces, inherits the IUnknown interface methods. The IUnknown interface supports the following three methods:
AddRef
QueryInterface
Release
In addition, the IDirect3DRMTexture2 interface inherits the following methods from the IDirect3DRMObject interface:
You can create an IDirect3DRMTexture2 object by calling IDirect3DRM2::CreateTexture or IDirect3DRM2::CreateTextureFromSurface.