This is the documentation for Enlighten.

class Enlighten RefTextureUpdater

class Enlighten::RefTextureUpdater

    └>Enlighten::IGpuTextureUpdater
        └>Geo::IGeoReleasable

Reference texture updater.

Functions

Name Description
~RefTextureUpdater()

Destructor.

Create(Geo::s32, Geo::s32, Geo::s32)

Create 2D texture.

Create3D(Geo::s32, Geo::s32, Geo::s32, Geo::s32)

Create 3D.

CreateCubeMap(Geo::s32, Geo::s32, bool)

Create Cube Map.

GetCpuAccessiblePointer(Geo::s32)

Get a CPU accessible pointer to the texture data.

GetCpuAccessiblePointer(Geo::s32)

Returns a CPU pointer to the memory used to update the GPU texture.

GetNumMipLevels()

Get the number of mipmap levels.

GetNumMipLevels()

Returns the number of mip levels in the GPU texture - will only be bigger than 1 for cube maps.

GetRowPitch()

Get the texture row pitch.

GetRowPitch()

Returns the row pitch of the CPU memory associated with this GPU texture.

GetSlicePitch()

Get the texture slice pitch.

GetSlicePitch()

Returns the slice pitch of the CPU memory associated with this GPU texture, for 3D textures.

IsFormat(TextureFormat)

Check the format.

IsFormat(TextureFormat)

Returns true if the format of the GPU texture matches the given Enlighten format.

Release()

Free this object that was created within the Enlighten libraries.

Release()

Release.

Update()

Update the texture.

Update()

Update the GPU copy of the texture on the render thread.

Update(const TextureSubSection &)

Update the GPU copy of the specified sub-region on the render thread.

Update(const TextureSubSection &)

Update the texture sub-section.

UpdateOnWorkerThread()

Potentially update the GPU copy of the texture on the worker thread.

UpdateOnWorkerThread(const TextureSubSection &)

Equivalent to parameter-less overload, but only update a sub-region of the texture.


Enlighten::RefTextureUpdater::~RefTextureUpdater


protected: virtual ~RefTextureUpdater()


Destructor.


RefTextureUpdater * Enlighten::RefTextureUpdater::Create


public: RefTextureUpdater * Create
(
    Geo::s32 width,
    Geo::s32 height,
    Geo::s32 bytesPerPixel
)


Create 2D texture.


RefTextureUpdater * Enlighten::RefTextureUpdater::Create3D


public: RefTextureUpdater * Create3D
(
    Geo::s32 width,
    Geo::s32 height,
    Geo::s32 depth,
    Geo::s32 bytesPerPixel
)


Create 3D.


RefTextureUpdater * Enlighten::RefTextureUpdater::CreateCubeMap


public: RefTextureUpdater * CreateCubeMap
(
    Geo::s32 faceWidth,
    Geo::s32 bytesPerPixel,
    bool mipChain
)


Create Cube Map.


virtual void* Enlighten::RefTextureUpdater::GetCpuAccessiblePointer


public: virtual void * GetCpuAccessiblePointer
(
    Geo::s32 faceIdx
)


Get a CPU accessible pointer to the texture data.


virtual void* Enlighten::IGpuTextureUpdater::GetCpuAccessiblePointer


public: void * GetCpuAccessiblePointer
(
    Geo::s32 faceIdx
)


Returns a CPU pointer to the memory used to update the GPU texture.

This may point directly to the GPU texture in unified memory architectures. The face index parameter is only relevant to cube maps.


virtual Geo::s32 Enlighten::RefTextureUpdater::GetNumMipLevels


public: virtual Geo::s32 GetNumMipLevels()


Get the number of mipmap levels.


virtual Geo::s32 Enlighten::IGpuTextureUpdater::GetNumMipLevels


public: Geo::s32 GetNumMipLevels()


Returns the number of mip levels in the GPU texture - will only be bigger than 1 for cube maps.


virtual Geo::s32 Enlighten::RefTextureUpdater::GetRowPitch


public: virtual Geo::s32 GetRowPitch()


Get the texture row pitch.


virtual Geo::s32 Enlighten::IGpuTextureUpdater::GetRowPitch


public: Geo::s32 GetRowPitch()


Returns the row pitch of the CPU memory associated with this GPU texture.


virtual Geo::s32 Enlighten::RefTextureUpdater::GetSlicePitch


public: virtual Geo::s32 GetSlicePitch()


Get the texture slice pitch.


virtual Geo::s32 Enlighten::IGpuTextureUpdater::GetSlicePitch


public: Geo::s32 GetSlicePitch()


Returns the slice pitch of the CPU memory associated with this GPU texture, for 3D textures.

Returns 0 for 2D textures, and -1 for cube maps.


bool Enlighten::RefTextureUpdater::IsFormat


public: virtual bool IsFormat
(
    TextureFormat format
)


Check the format.


virtual bool Enlighten::IGpuTextureUpdater::IsFormat


public: bool IsFormat
(
    TextureFormat format
)


Returns true if the format of the GPU texture matches the given Enlighten format.


virtual void Geo::IGeoReleasable::Release


public: void Release()


Free this object that was created within the Enlighten libraries.

Expect this to behave in a similar way to calling 'delete(this)'


void Enlighten::RefTextureUpdater::Release


public: virtual void Release()


Release.


virtual void Enlighten::RefTextureUpdater::Update


public: virtual void Update()


Update the texture.


virtual void Enlighten::IGpuTextureUpdater::Update


public: void Update()


Update the GPU copy of the texture on the render thread.


virtual void Enlighten::IGpuTextureUpdater::Update


public: void Update
(
    const TextureSubSection & sub
)


Update the GPU copy of the specified sub-region on the render thread.


virtual void Enlighten::RefTextureUpdater::Update


public: virtual void Update
(
    const TextureSubSection & sub
)


Update the texture sub-section.


virtual void Enlighten::IGpuTextureUpdater::UpdateOnWorkerThread


public: virtual void UpdateOnWorkerThread()


Potentially update the GPU copy of the texture on the worker thread.

Implementers should use this method when the texture can safely be updated on a thread other than the render thread. The default implementation does nothing, in which case the update should be done in the regular Update function. The update should be performed here or in Update, not both.


virtual void Enlighten::IGpuTextureUpdater::UpdateOnWorkerThread


public: virtual void UpdateOnWorkerThread
(
    const TextureSubSection & sub
)


Equivalent to parameter-less overload, but only update a sub-region of the texture.