This class provides common interface for different resources needed during rendering. More...
#include <Luminous/RenderResource.hpp>
Classes | |
| struct | Hash |
| Hash used to identify rendering resources. More... | |
Public Types | |
| typedef uint64_t | Id |
| Id of a resource. | |
| enum | Type { VertexArray, Buffer, Program, Texture, RenderBuffer, FrameBuffer } |
| Different types of render resources. More... | |
Public Member Functions | |
| unsigned int | expiration () const |
| Returns resource expiration time. More... | |
| int | generation () const |
| Returns generation of this resource. More... | |
| void | invalidate () |
| Invalidates correspondent GPU objects and forces uploading of data to GPU. | |
| RenderResource & | operator= (RenderResource &&rr) |
| Move assignment operator. More... | |
| RenderResource (Type type) | |
| Constructor of RenderResource. More... | |
| RenderResource (RenderResource &&rr) | |
| Move constructor. More... | |
| Id | resourceId () const |
| Returns identifier of resource. More... | |
| Type | resourceType () const |
| Returns type of the resource. More... | |
| void | setExpiration (unsigned int seconds) |
| Set resource expiration time. More... | |
| void | setGeneration (int generation) |
| Sets generation for this resource. More... | |
| virtual | ~RenderResource () |
| Destructor of RenderResource. | |
Protected Member Functions | |
| RenderResource & | operator= (const RenderResource &rr) |
| Assignment operator. More... | |
| RenderResource (const RenderResource &rr) | |
| Copy constructor. More... | |
This class provides common interface for different resources needed during rendering.
Different types of render resources.
| Enumerator | |
|---|---|
| VertexArray |
Vertex array.
|
| Buffer |
Buffer for vertex or index data.
|
| Program |
Shader program consisting of multiple independent shaders.
|
| Texture |
|
| RenderBuffer |
Render buffer.
|
| FrameBuffer |
Frame buffer.
|
| Luminous::RenderResource::RenderResource | ( | Type | type | ) |
Constructor of RenderResource.
| type | Type of the resource |
| Luminous::RenderResource::RenderResource | ( | RenderResource && | rr | ) |
Move constructor.
| rr | Resource to move |
|
protected |
Copy constructor.
| rr | resource to copy |
|
inline |
Returns resource expiration time.
|
inline |
Returns generation of this resource.
If resource and its corresponding GPU class have a different generation data is updated on GPU.
| RenderResource& Luminous::RenderResource::operator= | ( | RenderResource && | rr | ) |
|
protected |
Assignment operator.
| rr | resource to copy |
|
inline |
Returns identifier of resource.
It is guaranteed that each RenderResource has unique id regardless of its type.
|
inline |
Returns type of the resource.
|
inline |
Set resource expiration time.
The resource will be released after it has not been used for this period
| seconds | How many seconds after usage we store this object |
|
inline |
Sets generation for this resource.
| generation | New generation |