|
Sleeping Wombat GUI
0.100
swGUI
|
Struktura przechowująca materiał. More...
#include <MeshResources.h>
Public Member Functions | |
| RTTR_ENABLE (ResourceObject) | |
| MaterialObject (unsigned int id=WRONG_ID) | |
| MaterialObject (const MaterialObject *material) | |
| void | SetNullMaterial () |
| Ustawia materiał na wartości domyślne dla silnika. More... | |
| virtual std::string | GetResourceName () const override |
| Zwraca nazwę zasobu. To może być nazwa pliku, na podstawie którego stworzono zasób, ale zasadniczo interpretacja jest dowolna. More... | |
Public Member Functions inherited from ResourceObject | |
| ResourceObject (int id) | |
| void | SetID (unsigned int id) |
| Ustawia identyfikator obiektu. More... | |
| 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. More... | |
| void | DeleteAssetReference () |
| Kasuje odwołanie plikowe do assetu. More... | |
| void | DeleteObjectReference () |
| Kasuje odwołanie bezpośrednie obiektu do assetu. More... | |
| unsigned int | GetID () |
| Zwraca identyfikator nadany assetowi. More... | |
Public Member Functions inherited from EngineObject | |
| TypeID | GetType () const |
| std::string | GetTypeName () const |
| virtual void | Serialize (ISerializer *ser) const |
| Implements default serialization. Serializes only declared properties. More... | |
| virtual void | Deserialize (IDeserializer *deser) |
| Implements default deserialization. More... | |
| virtual Size | MemorySize () |
| template<typename TargetType > | |
| TargetType * | DynamicCast () |
Public Attributes | |
| friend | ObjectDeleter< MaterialObject > |
| DirectX::XMFLOAT4 | Diffuse |
| DirectX::XMFLOAT4 | Ambient |
| DirectX::XMFLOAT4 | Specular |
| DirectX::XMFLOAT4 | Emissive |
| float | Power |
Additional Inherited Members | |
Protected Member Functions inherited from ResourceObject | |
| virtual | ~ResourceObject ()=default |
| Nie każdy może skasować obiekt. More... | |
Struktura przechowująca materiał.
DirectX 11 nie ma własnych obiektów na materiały, ponieważ nie ma już domyślnego potoku przetwarzania na karcie graficznej. Na wszystko trzeba napisać shader i dostarcza mu się takie dane, jakie się chce dostarczyć. Dlatego informacja o materiałach będzie przekazywana z buforze stałych.
Struktura zachowuje się jak asset w związku z czym może być współdzielona przez wiele obiektów. Z tego względu nie można jej użyć bezpośrednio w ConstantPerMesh, ponieważ nie chcemy przekazywać do bufora stałych zmiennych odziedziczonych po ResourceObject. Zamiast tego trzeba tę strukture przepisać.
Zwracam uwagę, że tylko kanał Diffuse jest wektorem 4 wymiarowym, w którym składowa w jest odpowiedzialna za przezroczystość. Pozostałe są takie tylko dlatego, że jest to domyślny format przechowywania danych w rejestrach karty graficznej i przyspiesza to operację kopiowania.
|
inline |
| MaterialObject::MaterialObject | ( | const MaterialObject * | material | ) |
|
inlineoverridevirtual |
Zwraca nazwę zasobu. To może być nazwa pliku, na podstawie którego stworzono zasób, ale zasadniczo interpretacja jest dowolna.
Implements ResourceObject.
| MaterialObject::RTTR_ENABLE | ( | ResourceObject | ) |
| void MaterialObject::SetNullMaterial | ( | ) |
Ustawia materiał na wartości domyślne dla silnika.
Te wartości są najbardziej neutralne, w przypadku gdy nie ma materiału, a jest ustawiona tekstura. Wtedy shadery wymanażają jasność piksela przez 1.0 i nic sie nie zmienia.
| DirectX::XMFLOAT4 MaterialObject::Ambient |
| DirectX::XMFLOAT4 MaterialObject::Diffuse |
| DirectX::XMFLOAT4 MaterialObject::Emissive |
| friend MaterialObject::ObjectDeleter< MaterialObject > |
| &MaterialObject::Diffuse BIND_AS_PTR &MaterialObject::Ambient BIND_AS_PTR & MaterialObject::Power |
| DirectX::XMFLOAT4 MaterialObject::Specular |
1.8.9.1