23 #include <DirectXMath.h>
53 struct MeshPartObject;
71 static const std::wstring RENDER_TARGET_COLOR_BUFFER_NAME =
L"::color";
72 static const std::wstring RENDER_TARGET_DEPTH_BUFFER_NAME =
L"::depth";
73 static const std::wstring RENDER_TARGET_STENCIL_BUFFER_NAME =
L"::stencil";
225 inline bool operator==(
const std::wstring& file_name );
361 virtual void AddRow (
const char* semanticName,
ResourceFormat format,
unsigned int inputSlot,
unsigned int byteOffset,
bool perInstance,
unsigned int instanceDataStep ) = 0;
524 ~BufferObject() = default;
526 BufferObject(
unsigned int elementSize,
unsigned int elementCount );
DirectX::XMFLOAT4 Emissive
Definition: MeshResources.h:569
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.
Definition: MeshResources.h:481
bool IsSharedResource()
Definition: MeshResources.h:190
unsigned int GetStride()
Zwraca rozmiar pojedynczego elementu w buforze.
Definition: MeshResources.h:528
bool AllowShareResource
Pozwala na dostęp do zasoby z wielu API graficznych i pomiędzy kontekstami.
Definition: MeshResources.h:152
uint16_t uint16
Definition: TypesDefinitions.h:29
Klasa przechowująca pixel shader.
Definition: MeshResources.h:429
DepthStencilFormat
Typy dostępne dla bufora głębokości.
Definition: GraphicAPIConstants.h:141
bool AllowShareResource
Pozwala na dostęp do zasoby z wielu API graficznych i pomiędzy kontekstami.
Definition: MeshResources.h:245
ResourceFormat Format
Format tekstury (liczba kanałów, liczba bitów na kanał itp)
Definition: MeshResources.h:157
TextureObject()
Definition: MeshResources.h:215
Deskryptor tekstury.
Definition: MeshResources.h:145
virtual const filesystem::Path & GetFilePath() const =0
Zwraca nazwę pliku, który posłużył do stworzenia obiektu.
ResourceType * Ptr() const
Definition: ResourcePtr.h:109
Base class for buffers.
Definition: IBuffer.h:71
Bump mapa.
Definition: MeshResources.h:92
DirectX::XMFLOAT4 Specular
Definition: MeshResources.h:568
unsigned int GetElementSize()
Zwraca rozmiar pojedynczego elementu w buforze.
Definition: MeshResources.h:529
Obiekt opakowujący bufor.Bufor może być zarówno buforem wierzchołków, indeksów jak i stałych...
Definition: MeshResources.h:516
ResourcePtr< TextureObject > m_depthBuffer
Pozwala na dostęp do bufora głębokości. Może być nullptrem.
Definition: MeshResources.h:308
RTTR_REGISTRATION_FRIEND
Definition: MeshResources.h:183
ResourceFormat
Specyfikuje format tekstury bądź innego zasobu.
Definition: GraphicAPIConstants.h:153
TextureObject * GetColorBuffer()
Zwraca obiekt bufora kolorów.
Definition: MeshResources.h:314
int GetMipLevels()
Definition: MeshResources.h:193
uint32 Index32
Definition: MeshResources.h:77
TextureType TextureType
Typ tekstury (liczba wymiarów, multsampling). Tekstura nie może być inna niż dwuwymiarowa (może być t...
Definition: MeshResources.h:249
bool operator==(TextureObject &object)
Porównuje ze soba dwa obiekty tekstur.
Definition: MeshResources.cpp:398
TextureType
Definiuje typ tekstury.
Definition: GraphicAPIConstants.h:123
Tekstura dla kanału diffuse.
Definition: MeshResources.h:89
uint32 MemorySize
Pamięć zajmowana przez teksturę.
Definition: MeshResources.h:163
Tekstura dla kanału specular.
Definition: MeshResources.h:90
std::string GetName() const
Definition: IBuffer.h:64
unsigned int m_elementCount
Liczba elementów.
Definition: MeshResources.h:522
bool IsCPUReadable()
Definition: MeshResources.h:188
DepthStencilFormat DepthStencilFormat
Format bufora głębokości i stencilu.
Definition: MeshResources.h:251
ResourcePtr< TextureObject > m_colorBuffer
Pozwala na dostęp do bufora kolorów dla innych obiektów. Może być nullptrem.
Definition: MeshResources.h:307
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.
Definition: MeshResources.h:460
virtual const BufferInfo & GetDescriptor() const =0
Returns buffer descriptor.
uint16 TextureHeight
Wysokość tekstury w pikselach.
Definition: MeshResources.h:148
Klasa przechowuje pamięć o dowolnym przeznaczeniu.
Definition: MemoryChunk.h:8
Pozawala GPU na zapis i odczyt.
RTTR_ENABLE(ResourceObject)
bool IsCubeMap
Należy ustawić jeżeli tekstura jest cubemapą.
Definition: MeshResources.h:246
int GetWidth()
Definition: MeshResources.h:185
#define WRONG_ID
Definition: MeshResources.h:29
Klasa przechowująca pixel shader.
Definition: MeshResources.h:450
~GeometryShader()=default
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.
Definition: MeshResources.h:502
filesystem::Path FilePath
Ścieżka do pliku z teksturą lub jej nazwa.
Definition: MeshResources.h:164
TextureType TextureType
Typ tekstury (liczba wymiarów, multsampling). Na razie tekstura nie może być inna niż dwuwymiarowa (m...
Definition: MeshResources.h:155
TextureInfo()
Definition: MeshResources.h:166
ResourceUsage Usage
Sposób użycia render targetu. Wpływa na optymalizacje ułożenia w pamięci.
Definition: MeshResources.h:156
TextureUse
Meaning of texture indicies.
Definition: MeshResources.h:87
bool GenMipMaps()
Definition: MeshResources.h:192
TextureObject * GetStencilBuffer()
Zwraca obiekt bufora stencilu.
Definition: MeshResources.h:316
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.
Definition: MeshResources.h:577
uint16 ArraySize
Liczba elementów tablicy.
Definition: MeshResources.h:149
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.
Definition: MeshResources.h:439
DirectX::XMFLOAT4 Diffuse
Definition: MeshResources.h:566
Klasa służy do kasowania obiektów, których destruktor jest prywatny.Taka sytuacja zachodzi w momencie...
Definition: ObjectDeleter.h:59
Klasa przechowująca pixel shader.
Definition: MeshResources.h:408
uint32_t uint32
Definition: TypesDefinitions.h:31
bool IsCPUWriteable()
Definition: MeshResources.h:189
uint8 NumSamples
Liczba próbek w przypadku stosowania multisamplingu.
Definition: MeshResources.h:247
Tekstura o dowolnym znaczeniu.
Definition: MeshResources.h:94
std::string String() const
Definition: Path.h:139
MipMapFilter MipMapFilter
Tryb filtrowania tekstury. Używany tylko jeżeli ustawiono GenerateMipMaps na true.
Definition: MeshResources.h:158
Struktura używana do tworzenia render targetu.
Definition: MeshResources.h:238
std::string GetPath()
Definition: MeshResources.h:195
int GetHeight()
Definition: MeshResources.h:186
TextureInfo CreateTextureInfo() const
Tworzy strukture TextureInfo wypełnioną danymi zgodnymi z deskryptorem RenderTargetu.
Definition: MeshResources.h:275
uint16 CutOffMipMaps
Definition: MeshResources.h:160
Definition: IRenderTarget.h:10
ResourceFormat ColorBuffFormat
Format bufora kolorów.
Definition: MeshResources.h:250
Klasa przechowująca pixel shader.
Definition: MeshResources.h:471
RenderTargetObject(TextureObject *colorBuffer, TextureObject *depthBuffer, TextureObject *stencilBuffer)
Definition: MeshResources.cpp:425
ResourceUsage
Specyfikuje typ dostępu do pamięci danego zasobu.
Definition: GraphicAPIConstants.h:72
RTTR_ENABLE(EngineObject)
Texture for emmisive channel.
Definition: MeshResources.h:91
Klasa przechowująca tekstury.Klasa bazowa, która będzie używana przez obiekty silnika. Powinny po niej odziedziczyć obiekty konkretnego API graficznego, żeby zaimplementować najważniejsze funkcjonalności.
Definition: MeshResources.h:206
function L
Definition: jquery.js:16
uint8_t uint8
Definition: TypesDefinitions.h:27
RTTR_ENABLE(IRenderTarget)
TextureObject * GetDepthBuffer()
Zwraca obiekt bufora głębokości.
Definition: MeshResources.h:315
~EvaluationShader()=default
bool CPURead
Pozwala na odczyt tekstury przez CPU.
Definition: MeshResources.h:243
DirectX::XMFLOAT4 Ambient
Definition: MeshResources.h:567
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.
Definition: MeshResources.h:532
Klasa przechowująca compute shader.
Definition: MeshResources.h:492
ResourceUsage Usage
Sposób użycia render targetu. Wpływa na optymalizacje ułożenia w pamięci.
Definition: MeshResources.h:252
uint16 TextureWidth
Szerokość tekstury w pikselach.
Definition: MeshResources.h:147
uint16 SamplesQuality
Jakość próbek przy multisamplingu.
Definition: MeshResources.h:248
bool CPUWrite
Pozwala na zapis tekstury przez CPU.
Definition: MeshResources.h:244
float Power
Definition: MeshResources.h:570
EvaluationShader()=default
Tekstura przemieszczeń wierzchołków, w przypadku używania teselacji wierzchołków. ...
Definition: MeshResources.h:93
MipMapFilter
Tryby filtrowania tekstur.
Definition: MeshResources.h:118
int GetArraySize()
Definition: MeshResources.h:187
uint16 TextureHeight
Wysokość tekstury w pikselach.
Definition: MeshResources.h:241
virtual ~RenderTargetObject()
Destruktor kasuje obiekty tekstury głębokości i bufora koloru, jeżeli nie są używane. Jeżeli istnieją odwołania do tych obiektów, to nie są one kasowane, a jedynie usuwa się odwołania pochodzące od RenderTargetObject.
Definition: MeshResources.cpp:441
Struktura przechowująca materiał.
Definition: MeshResources.h:560
bool CPUWrite
Pozwala na zapis tekstury przez CPU.
Definition: MeshResources.h:151
void SetNullMaterial()
Ustawia materiał na wartości domyślne dla silnika.
Definition: MeshResources.cpp:499
uint16 ArraySize
Liczba elementów tablicy.
Definition: MeshResources.h:242
ShaderType
Typ shadera.
Definition: MeshResources.h:369
Tekstura o dowolnym znaczeniu.
Definition: MeshResources.h:95
RTTR_ENABLE(ResourceObject)
uint16 Index16
Definition: MeshResources.h:76
Klasa dla render targetów.Klasa umożliwia pobranie jednej z tekstur składowych i udostępnienie dla sh...
Definition: MeshResources.h:301
uint16 MipMapLevels
Liczba poziomów mipmap. 1 oznacza tylko teksturę oryginalną.
Definition: MeshResources.h:159
uint16 TextureWidth
Szerokość tekstury w pikselach.
Definition: MeshResources.h:240
unsigned int GetElementCount()
Zwraca liczbę elementów w buforze.
Definition: MeshResources.h:530
unsigned int m_elementSize
Rozmiar elementu.
Definition: MeshResources.h:521
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.
Definition: MeshResources.h:222
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.
Definition: MeshResources.h:418
Klasa przechowująca vertex shader.
Definition: MeshResources.h:387
Plik zawiera deklarację i definicję klasy ResourceObject służącą do zliczania odwołań do obiektu...
RenderTargetDescriptor()
Ustawia domyślne wartości deskryptora.
Definition: MeshResources.h:262
RTTR_REGISTRATION_FRIEND
Definition: MeshResources.h:304
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.
Definition: ResourceObject.h:30
virtual ~TextureObject()=default
Żeby uniknąć pomyłki, obiekt może byś kasowany tylko przez AssetsManager. Zapewnia to ObjectDeleter...
virtual std::string GetResourceName() const override
Definition: MeshResources.cpp:463
bool IsCubeMapTex()
Definition: MeshResources.h:191
virtual const TextureInfo & GetDescriptor() const =0
Pozwala pobrać deskrytpro tekstury.
uint8 Index8
Definition: MeshResources.h:78
bool CPURead
Pozwala na odczyt tekstury przez CPU.
Definition: MeshResources.h:150
Klasy służące do zapewnienia ograniczonej możliwości kasowania niektórych obiektów silnika...
ResourcePtr< TextureObject > m_stencilBuffer
Pozwala na dostęp do bufora stencil. Może być nulltrem.
Definition: MeshResources.h:309
virtual MemoryChunk CopyData() const =0
Kopiuje dane z bufora i umieszcza je w zwracanym MemoryChunku.
bool IsCubeMap
Należy ustawić jeżeli tekstura jest cubemapą.
Definition: MeshResources.h:153
Lightmapa.
Definition: MeshResources.h:96
MaterialObject(unsigned int id=WRONG_ID)
Definition: MeshResources.h:572
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.
Definition: MeshResources.h:397
bool GenerateMipMaps
Automatyczne generowanie mipmap.
Definition: MeshResources.h:154