U3D
Open-source, cross-platform 2D and 3D game engine built in C++
Loading...
Searching...
No Matches
Urho3D::GPUObject Class Reference

Base class for GPU resources. More...

#include </var/dev/u3d/stable/Source/Urho3D/Graphics/GPUObject.h>

Inheritance diagram for Urho3D::GPUObject:
[legend]
Collaboration diagram for Urho3D::GPUObject:
[legend]

Public Member Functions

 GPUObject (Graphics *graphics)
 Construct with graphics subsystem pointer.
 
virtual ~GPUObject ()
 Destruct. Remove from the Graphics.
 
virtual void OnDeviceLost ()
 Mark the GPU resource destroyed on graphics context destruction. More...
 
virtual void OnDeviceReset ()
 Recreate the GPU resource and restore data if applicable. More...
 
virtual void Release ()
 Unconditionally release the GPU resource. More...
 
void ClearDataLost ()
 Clear the data lost flag.
 
GraphicsGetGraphics () const
 Return the graphics subsystem associated with this GPU object.
 
void * GetGPUObject () const
 Return the object pointer. Applicable only on Direct3D.
 
unsigned GetGPUObjectName () const
 Return the object name. Applicable only on OpenGL.
 
bool IsDataLost () const
 
bool HasPendingData () const
 Return whether has pending data assigned while graphics context was lost.
 

Protected Attributes

WeakPtr< Graphicsgraphics_
 Graphics subsystem.
 
GPUObjectHandle object_ {}
 Object pointer or name.
 
bool dataLost_ {}
 Data lost flag.
 
bool dataPending_ {}
 Data pending flag.
 

Detailed Description

Base class for GPU resources.

Member Function Documentation

◆ IsDataLost()

bool Urho3D::GPUObject::IsDataLost ( ) const
inline

Return whether data is lost due to context loss.

◆ OnDeviceLost()

void Urho3D::GPUObject::OnDeviceLost ( )
virtual

Mark the GPU resource destroyed on graphics context destruction.

Reimplemented in Urho3D::IndexBuffer, Urho3D::ShaderProgram, Urho3D::ShaderVariation, Urho3D::Texture2D, Urho3D::Texture2DArray, Urho3D::Texture3D, Urho3D::TextureCube, and Urho3D::VertexBuffer.

Here is the caller graph for this function:

◆ OnDeviceReset()

void Urho3D::GPUObject::OnDeviceReset ( )
virtual

Recreate the GPU resource and restore data if applicable.

Reimplemented in Urho3D::ConstantBuffer, Urho3D::IndexBuffer, Urho3D::Texture2D, Urho3D::Texture2DArray, Urho3D::Texture3D, Urho3D::TextureCube, and Urho3D::VertexBuffer.

◆ Release()

void Urho3D::GPUObject::Release ( )
virtual

The documentation for this class was generated from the following files: