   IDirect3DTexture9::Width
  hello!M$VC enumerates the Width data member for the IDirect3DTexture9 but at compile-time says that there's no such member variable.Then how Can I know the Width and Height of a IDirect3DTexture9?   
Quote:Original post by Trillianhello!M$VC enumerates the Width data member for the IDirect3DTexture9 but at compile-time says that there's no such member variable.Then how Can I know the Width and Height of a IDirect3DTexture9?Hmm...M$VC...not sure I've heard of a compiler named that.Just do IDirect3DTexture9::GetLevelDesc().  That will give you access to a lot of info about the surface topology of a certain level of the texture, such as width, height, format, usage, and pool.   ;  Hey thanks!And sorry for mistyping "Microsoft Visual Studio .NET 2003 version 7.10.3077.0"   ;Quote:Original post by TrillianHey thanks!And sorry for mistyping "Microsoft Visual Studio .NET 2003 version 7.10.3077.0"hehe MSVC would have sufficed [wink]   ;Quote:Original post by TrillianAnd sorry for mistyping "Microsoft Visual Studio .NET 2003 version 7.10.3077.0"I think Dustin might have heard of, and been happy with, MSVC [lol]EDIT: Damn, I'm just too slow tonight [headshake]Dustin's answer is the correct one, but it's worth noting that if you compile with D3D_DEBUG_INFO then there is a copy of the D3DSURFACE_DESC fields that is directly accessible:Look from line 1090 of d3d9.h:DECLARE_INTERFACE_(IDirect3DTexture9, IDirect3DBaseTexture9){    /*** IUnknown methods ***/    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;    STDMETHOD_(ULONG,AddRef)(THIS) PURE;    STDMETHOD_(ULONG,Release)(THIS) PURE;    /*** IDirect3DBaseTexture9 methods ***/    STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;    STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void* pData,DWORD SizeOfData,DWORD Flags) PURE;    STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void* pData,DWORD* pSizeOfData) PURE;    STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE;    STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE;    STDMETHOD_(DWORD, GetPriority)(THIS) PURE;    STDMETHOD_(void, PreLoad)(THIS) PURE;    STDMETHOD_(D3DRESOURCETYPE, GetType)(THIS) PURE;    STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE;    STDMETHOD_(DWORD, GetLOD)(THIS) PURE;    STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE;    STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE;    STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE;    STDMETHOD_(void, GenerateMipSubLevels)(THIS) PURE;    STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC *pDesc) PURE;    STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface9** ppSurfaceLevel) PURE;    STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE;    STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;    STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pDirtyRect) PURE;   #ifdef D3D_DEBUG_INFO    LPCWSTR Name;    UINT Width;    UINT Height;    UINT Levels;    DWORD Usage;    D3DFORMAT Format;    D3DPOOL Pool;    DWORD Priority;    DWORD LOD;    D3DTEXTUREFILTERTYPE FilterType;    UINT LockCount;    LPCWSTR CreationCallStack;    #endif};hthJack   