class Enlighten::GlTextureUpdater
└>Enlighten::IGpuTextureUpdater
└>Geo::IGeoReleasable
Implementation for managing solver output and OpenGL GPU textures.
Functions
Name | Description |
---|---|
Create(GLuint, GLint, GLint, GLint, GLint, GLenum) | Create an updater for an OpenGL/OpenGL ES 2D texture for irradiance solver output. |
Create3D(GLuint, GLint, GLint, GLint, GLint, GLint, GLenum) | Create an updater for an OpenGL/OpenGL ES 3.0 volume texture for interpolated probe output (not supported by OpenGL ES 2.0) |
CreateCubeMap(GLuint, GLint, GLint, GLint, GLint, GLenum) | Create an updater for an OpenGL/OpenGL ES cubemap texture for cubemap solver output. |
GetCpuAccessiblePointer(Geo::s32) | Returns a CPU pointer to the memory used to update the GPU texture. |
GetCpuAccessiblePointer(Geo::s32) | Returns a CPU pointer to the memory used to update the GPU texture. |
GetNumMipLevels() | Returns the number of mip levels in the GPU texture - will only be bigger than 1 for cube maps. |
GetNumMipLevels() | Returns the number of mip levels in the GPU texture - will only be bigger than 1 for cube maps. |
GetRowPitch() | Returns the row pitch of the CPU memory associated with this GPU texture. |
GetRowPitch() | Returns the row pitch of the CPU memory associated with this GPU texture. |
GetSlicePitch() | Returns the slice pitch of the CPU memory associated with this GPU texture, for 3D textures. |
GetSlicePitch() | Returns the slice pitch of the CPU memory associated with this GPU texture, for 3D textures. |
IsFormat(TextureFormat) | Returns true if the format of the GPU texture matches the given Enlighten format. |
IsFormat(TextureFormat) | Returns true if the specified format matches the updater's current configuration. |
NonCopyable(NonCopyable &&) | Defaulted to allow move. |
operator=(NonCopyable &&) | Defaulted to allow move. |
Release() | Free this object that was created within the Enlighten libraries. |
Release() | Free this object that was created within the Enlighten libraries. |
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() | 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. |
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. |
Anchor | ||||
---|---|---|---|---|
|
GlTextureUpdater * Enlighten::GlTextureUpdater::Create
...
public: GlTextureUpdater * Create
(
GLuint gpuTexture,
GLint width,
GLint height,
GLint internalFormat,
GLint format,
GLenum type
)
...
Create an updater for an OpenGL/OpenGL ES 2D texture for irradiance solver output.
Anchor | ||||
---|---|---|---|---|
|
GlTextureUpdater * Enlighten::GlTextureUpdater::Create3D
...
public: GlTextureUpdater * Create3D
(
GLuint gpuTexture,
GLint width,
GLint height,
GLint depth,
GLint internalFormat,
GLint format,
GLenum type
)
...
Create an updater for an OpenGL/OpenGL ES 3.0 volume texture for interpolated probe output (not supported by OpenGL ES 2.0)
Anchor | ||||
---|---|---|---|---|
|
GlTextureUpdater * Enlighten::GlTextureUpdater::CreateCubeMap
...
public: GlTextureUpdater * CreateCubeMap
(
GLuint gpuTexture,
GLint faceWidth,
GLint numMipLevels,
GLint internalFormat,
GLint format,
GLenum type
)
...
Create an updater for an OpenGL/OpenGL ES cubemap texture for cubemap solver output.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
virtual void* Enlighten::GlTextureUpdater::GetCpuAccessiblePointer
...
public: virtual 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.
Anchor | ||||
---|---|---|---|---|
|
Geo::s32 Enlighten::GlTextureUpdater::GetNumMipLevels
...
public: virtual Geo::s32 GetNumMipLevels()
...
Returns the number of mip levels in the GPU texture - will only be bigger than 1 for cube maps.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s32 Enlighten::IGpuTextureUpdater::GetRowPitch
...
public: Geo::s32 GetRowPitch()
...
Returns the row pitch of the CPU memory associated with this GPU texture.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s32 Enlighten::GlTextureUpdater::GetRowPitch
...
public: virtual Geo::s32 GetRowPitch()
...
Returns the row pitch of the CPU memory associated with this GPU texture.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s32 Enlighten::GlTextureUpdater::GetSlicePitch
...
public: virtual 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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
virtual bool Enlighten::IGpuTextureUpdater::IsFormat
...
public: bool IsFormat
(
TextureFormat format
)
...
Returns true if the format of the GPU texture matches the given Enlighten format.
Anchor | ||||
---|---|---|---|---|
|
bool Enlighten::GlTextureUpdater::IsFormat
...
public: virtual bool IsFormat
(
TextureFormat format
)
...
Returns true if the specified format matches the updater's current configuration.
Anchor | ||||
---|---|---|---|---|
|
Geo::NonCopyable::NonCopyable
...
public: NonCopyable
(
NonCopyable &&
)
...
Defaulted to allow move.
Anchor | ||||
---|---|---|---|---|
|
NonCopyable& Geo::NonCopyable::operator=
...
public: NonCopyable & operator=
(
NonCopyable &&
)
...
Defaulted to allow move.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::GlTextureUpdater::Release
...
public: virtual void Release()
...
Free this object that was created within the Enlighten libraries.
Expect this to behave in a similar way to calling 'delete(this)'
Anchor | ||||
---|---|---|---|---|
|
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)'
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::GlTextureUpdater::Update
...
public: virtual void Update()
...
Update the GPU copy of the texture on the render thread.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::GlTextureUpdater::Update
...
public: virtual void Update
(
const TextureSubSection & sub
)
...
Update the GPU copy of the specified sub-region on the render thread.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::IGpuTextureUpdater::Update
...
public: void Update()
...
Update the GPU copy of the texture on the render thread.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::IGpuTextureUpdater::Update
...
public: void Update
(
const TextureSubSection & sub
)
...
Update the GPU copy of the specified sub-region on the render thread.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.