翻譯自 gb2.6 sdk文檔
NiDynamicTexture
: public NiTexture
<NiDynamicTexture.h>
Description
NiDynamicTexture 紋理類是指那些由程序動態生成的,而不是通過3D pipeline渲染的那些紋理。這些紋理通常是用作程序上的一些效果或者是視頻切圖。
Constructors
沒有構造函數,紋理數據都是通過下面的靜態函數Create()創建的。
Static Member Functions
static NiDynamicTexture* Create(unsigned int uiWidth, unsigned int uiHeight,FormatPrefs& kPrefs = ms_kDefaultPrefs, bool bTiledTexture = false)
試圖創建一個給定渲染尺寸的動態紋理,生成的紋理對象可能會被當成一個紋理使用。
記住:NiDynamicTextures 的析構函數調用應先於渲染器的析構調用。
如果給定的渲染器或者當前的硬件不支持動態紋理,或者渲染器用給定的參數創建動態紋理失敗時,Create函數將會返回NULL,格式選項的值將會通知應用程序爲動態紋理指定一個特定的格式。特定格式請求僅僅是個請求,渲染器會根據實際情況盡力實現或者忽略該請求。
bTiledTexture 字段標示:允許用戶創建一個動態紋理對象是hardware tiled format;當用圖形硬件幫助視頻壓縮或者做其它動態紋理操作時,就必須在某種特定的硬件上實現。當你在不能產生動態紋理的硬件上做創建請求時 此時將創建動態紋理失敗。
提供的函數
virtual void* Lock(int& iPitch)
鎖定設備動態紋理,標示設備正在等待應用程序編輯。
virtual bool UnLock() const
解鎖設備動態紋理,標示應用程序紋理編輯結束。
virtual unsigned int GetWidth() const
virtual unsigned int GetHeight() const
NiDynamicTexturesNotes的寬和高、
Mipmapping and Dynamic Textures
目前還沒有渲染器同時支持mipmapped dynamic textures