Skip to main content
gamedev.net
🔒 Locked 🤖 Godot

IDirect3DTexture9::Width

Started by Trillian Dec 8, 2005 at 6:01 PM 3 replies 4.5k views
Original Post
Trillian
Trillian
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?
circlesoft
circlesoft
Quote:
Original post by Trillian
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?

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.
Trillian
Trillian
Hey thanks!

And sorry for mistyping "Microsoft Visual Studio .NET 2003 version 7.10.3077.0"
circlesoft
circlesoft
Quote:
Original post by Trillian
Hey thanks!

And sorry for mistyping "Microsoft Visual Studio .NET 2003 version 7.10.3077.0"

hehe MSVC would have sufficed [wink]
jollyjeffers
jollyjeffers
Quote:
Original post by Trillian
And 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};


hth
Jack
<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ |

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.