Sleeping Wombat Graphic API
1.010
swGraphicAPI
|
Klasa ułatwiająca zarządzanie odwołaniami do assetów.Obiekty assetów (np. MaterialObject, TextureObject, VertexShader, PixelShader itp.) wymagają jakiegoś systemu zapewniającego współdzielenie między innymi obiektami. More...
#include <ResourceObject.h>
Public Member Functions | |
ResourceObject (int id) | |
void | SetID (unsigned int id) |
Ustawia identyfikator obiektu. | |
bool | CanDelete (unsigned int &objectRef) |
sprawdza czy można zwolnić zmienną More... | |
bool | CanDelete () |
Funkcja informuje czy obiekt są obiektu, które odwołują się do assetu. More... | |
void | AddAssetReference () |
Dodaje odwołanie plikowe do assetu. More... | |
void | AddObjectReference () |
Dodaje odwołanie bezpośrednie obiektu do assetu. | |
void | DeleteAssetReference () |
Kasuje odwołanie plikowe do assetu. | |
void | DeleteObjectReference () |
Kasuje odwołanie bezpośrednie obiektu do assetu. | |
unsigned int | GetID () |
Zwraca identyfikator nadany assetowi. | |
virtual std::string | GetResourceName () const =0 |
Zwraca nazwę zasobu. To może być nazwa pliku, na podstawie którego stworzono zasób, ale zasadniczo interpretacja jest dowolna. | |
Protected Member Functions | |
virtual | ~ResourceObject ()=default |
Nie każdy może skasować obiekt. | |
Private Member Functions | |
RTTR_ENABLE (EngineObject) | |
Private Attributes | |
unsigned int | m_objectReferences |
Liczba assetów, które sie odwołują. More... | |
unsigned int | m_uniqueId |
Unikalny identyfikator zasobu. | |
Klasa ułatwiająca zarządzanie odwołaniami do assetów.
Obiekty assetów (np. MaterialObject, TextureObject, VertexShader, PixelShader itp.) wymagają jakiegoś systemu zapewniającego współdzielenie między innymi obiektami.
Do każdego pojedynczego obiektu mogą istnieć wilokrotne odwołania w klasie MeshAsset, a także w obiektach dziedziczących po StaticActor oraz w modułach silnika. Z tego względu istnieje zmienna m_objectReferences, która zlicza odwołania do obiektów.
Żaden obiekt nie powinien być kasowany, dopóki istnieją do niego odwołania.
Zmienna m_uniqueId jest na początku ustawiana na 0. Jej faktyczne ustawienie odbywa robi klasa ResourceContainer. Jest to wymagane do ułatwienia obsługi wielowątkowości. Inaczej mogłyby się pokrywać identyfikatory.
|
inline |
Ustawia zerową liczbę odwołań.
|
inline |
Dodaje odwołanie plikowe do assetu.
Funkcje służące do zarządzania odwołaniami. Należy pilnować, aby wszystkie funkcje, które modyfikują jakiekolwiek przypisania obiektów do tekstur, materiałów i meshy, modyfikowały również ilość odwołań. Użytkownik silnika powinien mieć udostępnioną wartstwę pośredniczacą, żeby nie musiał pamiętać o odwołaniach.
|
inline |
sprawdza czy można zwolnić zmienną
Funkcja informuje czy obiekt są obiektu, które odwołują się do assetu.
[out] | file_ref | W zmiennej zostanie umieszczona liczba referencji plikowych. |
[out] | other_ref | W zmiennej zostanie umieszczona liczba referencji bezpośrednich od obiektów. |
|
inline |
Funkcja informuje czy obiekt są obiektu, które odwołują się do assetu.
|
private |
Liczba assetów, które sie odwołują.