RAMSES Documentation  27.0.130
Information for RAMSES users and developers
IRendererResourceCache.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // Copyright (C) 2017 BMW Car IT GmbH
3 // -------------------------------------------------------------------------
4 // This Source Code Form is subject to the terms of the Mozilla Public
5 // License, v. 2.0. If a copy of the MPL was not distributed with this
6 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 // -------------------------------------------------------------------------
8 
9 #ifndef RAMSES_RENDERERAPI_IRENDERERRESOURCECACHE_H
10 #define RAMSES_RENDERERAPI_IRENDERERRESOURCECACHE_H
11 
12 #include "Types.h"
14 
15 namespace ramses
16 {
22  {
23  public:
24 
28  virtual ~IRendererResourceCache() = default;
29 
38  virtual bool hasResource(rendererResourceId_t resourceId, uint32_t& size) const = 0;
39 
50  virtual bool getResourceData(rendererResourceId_t resourceId, uint8_t* buffer, uint32_t bufferSize) const = 0;
51 
64  virtual bool shouldResourceBeCached(rendererResourceId_t resourceId, uint32_t resourceDataSize, resourceCacheFlag_t cacheFlag, sceneId_t sceneId) const = 0;
65 
77  virtual void storeResource(rendererResourceId_t resourceId, const uint8_t* resourceData, uint32_t resourceDataSize, resourceCacheFlag_t cacheFlag, sceneId_t sceneId) = 0;
78  };
79 }
80 
81 #endif
#define RAMSES_API
Definition: APIExport.h:35
An interface used to implement a caching mechanism for resources used on the RamsesRenderer....
Definition: IRendererResourceCache.h:22
virtual ~IRendererResourceCache()=default
Destructor of IRendererResourceCache.
virtual bool shouldResourceBeCached(rendererResourceId_t resourceId, uint32_t resourceDataSize, resourceCacheFlag_t cacheFlag, sceneId_t sceneId) const =0
Called by RamsesRenderer when a resource was not in the cache and is now available from other source....
virtual bool getResourceData(rendererResourceId_t resourceId, uint8_t *buffer, uint32_t bufferSize) const =0
Called by RamsesRenderer to get the resource data associated with a given resource id....
virtual void storeResource(rendererResourceId_t resourceId, const uint8_t *resourceData, uint32_t resourceDataSize, resourceCacheFlag_t cacheFlag, sceneId_t sceneId)=0
Called by RamsesRenderer with the final resource for storing. This is called immediately after should...
virtual bool hasResource(rendererResourceId_t resourceId, uint32_t &size) const =0
Called by RamsesRenderer to ask for a resource with the given id.
Helper class to create strongly typed values out of various types.
Definition: StronglyTypedValue.h:23
The RAMSES namespace contains all client side objects and functions used to implement RAMSES applicat...
Definition: AnimatedProperty.h:15
Resource identifier used to refer to a resource on the renderer.
Definition: Types.h:33