|
nux-1.14.0
|
Public Member Functions | |
| CachedVertexDeclaration (NResourceSet *ResourceManager, VertexDeclaration *Resource) | |
| bool | UpdateResource (ResourceData *Resource) |
Public Attributes | |
|
ObjectPtr < IOpenGLVertexDeclaration > | _declaration |
Definition at line 143 of file GLVertexResourceManager.h.
| bool nux::CachedVertexDeclaration::UpdateResource | ( | ResourceData * | Resource | ) | [virtual] |
Updates the resource.
Implements nux::CachedResourceData.
Definition at line 461 of file GLVertexResourceManager.cpp.
{
if (Source == 0)
{
_declaration = ObjectPtr<IOpenGLVertexDeclaration> (0);
return true;
}
VertexDeclaration *SourceVertexDeclaration = 0;
nuxAssert (Source->Type().IsDerivedFromType (VertexDeclaration::StaticObjectType) );
if (Source->Type().IsDerivedFromType (VertexDeclaration::StaticObjectType) )
{
SourceVertexDeclaration = NUX_STATIC_CAST (VertexDeclaration *, Source);
}
else
{
return false;
}
if (SourceVertexDeclaration == 0)
{
_declaration = ObjectPtr<IOpenGLVertexDeclaration> (0);
return true;
}
_declaration = GetGraphicsDisplay()->GetGpuDevice()->CreateVertexDeclaration (&SourceVertexDeclaration->_declaration[0]);
return true;
}