Sleeping Wombat GUI  0.100
swGUI
MeshResources.h
Go to the documentation of this file.
1 #pragma once
2 
13 
22 
23 #include <DirectXMath.h>
24 
25 
26 //definicje
29 #define WRONG_ID 0
30 
47 class AssetsManager;
48 struct ModelPart;
49 class BufferObject;
50 class TextureObject;
51 class VertexShader;
52 class PixelShader;
53 struct MeshPartObject;
54 struct MaterialObject;
55 
56 /*
57 // W buforze wierzchołków znajdują się elementy typu VERT_INDEX.
58 // Definicja typu VERT_INDEX znajduje się w pliku macros_switches.h i wygląda tak:
59 
60 #if defined(INDEX_BUFFER_UINT16)
61 typedef UINT16 VERT_INDEX;
62 #elif defined(INDEX_BUFFER_UINT32)
63 typedef UINT32 VERT_INDEX;
64 #else
65 typedef UINT32 VERT_INDEX;
66 #endif
67 
68 */
69 
70 
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";
74 
75 
76 typedef uint16 Index16;
77 typedef uint32 Index32;
78 typedef uint8 Index8;
79 
80 
88 {
97 };
98 
99 
100 
101 
102 //----------------------------------------------------------------------------------------------//
103 // TextureObject //
104 //----------------------------------------------------------------------------------------------//
105 
118 enum class MipMapFilter : short
119 {
120  Box = 0,
121  Tent,
122  Bell,
123  bSpline,
124  Mitchell,
125  Lanczos3,
126  Blackman,
127  Lanczos4,
128  Lanczos6,
129  Lanczos12,
130  Kaiser,
131  Gaussian,
132  Catmullrom,
135  QuadraticMix,
136 
137  Unknown
138 };
139 
140 
146 {
150  bool CPURead : 1;
151  bool CPUWrite : 1;
153  bool IsCubeMap : 1;
154  bool GenerateMipMaps : 1;
161 
165 
167  {
168  ArraySize = 1;
169  CPURead = false;
170  CPUWrite = false;
171  AllowShareResource = false;
172  IsCubeMap = false;
173  GenerateMipMaps = false;
175  MipMapFilter = MipMapFilter::Unknown;
176  MipMapLevels = 1;
177  CutOffMipMaps = 0;
179  MemorySize = 0;
180  }
181 
182 private:
184 
185  int GetWidth () { return TextureWidth; }
186  int GetHeight () { return TextureHeight; }
187  int GetArraySize () { return ArraySize; }
188  bool IsCPUReadable () { return CPURead; }
189  bool IsCPUWriteable () { return CPUWrite; }
191  bool IsCubeMapTex () { return IsCubeMap; }
192  bool GenMipMaps () { return GenerateMipMaps; }
193  int GetMipLevels () { return MipMapLevels; }
194 
195  std::string GetPath () { return FilePath.String(); }
196 };
197 
207 {
210 private:
211 protected:
213  virtual ~TextureObject() = default;
214 public:
216 
217  virtual const filesystem::Path& GetFilePath () const = 0;
218 
219  virtual MemoryChunk CopyData () const = 0;
220  virtual const TextureInfo& GetDescriptor () const = 0;
221 
222  virtual std::string GetResourceName () const override { return GetFilePath().String(); }
223 
224  inline bool operator==( TextureObject& object );
225  inline bool operator==( const std::wstring& file_name );
226 };
227 
228 //----------------------------------------------------------------------------------------------//
229 // RenderTargetObject //
230 //----------------------------------------------------------------------------------------------//
231 
239 {
243  bool CPURead : 1;
244  bool CPUWrite : 1;
246  bool IsCubeMap : 1;
253 
263  {
264  ArraySize = 1;
265  CPURead = 0;
266  CPUWrite = 0;
267  AllowShareResource = 0;
268  IsCubeMap = 0;
270  }
271 
276  {
277  TextureInfo texInfo;
278  texInfo.TextureWidth = TextureWidth;
279  texInfo.TextureHeight = TextureHeight;
280  texInfo.ArraySize = ArraySize;
281  texInfo.CPURead = CPURead;
282  texInfo.CPUWrite = CPUWrite;
284  texInfo.IsCubeMap = IsCubeMap;
285  texInfo.TextureType = TextureType;
286  texInfo.Usage = Usage;
287 
288  return texInfo;
289  }
290 };
291 
302 {
305 private:
306 protected:
310 public:
311  RenderTargetObject( TextureObject* colorBuffer, TextureObject* depthBuffer, TextureObject* stencilBuffer );
312  virtual ~RenderTargetObject();
313 
314  inline TextureObject* GetColorBuffer() { return m_colorBuffer.Ptr(); }
315  inline TextureObject* GetDepthBuffer() { return m_depthBuffer.Ptr(); }
316  inline TextureObject* GetStencilBuffer() { return m_stencilBuffer.Ptr(); }
317 
318  virtual std::string GetResourceName () const override;
319 };
320 
321 //----------------------------------------------------------------------------------------------//
322 // ShaderInputLayout //
323 //----------------------------------------------------------------------------------------------//
324 
335 {
338 private:
339 protected:
340  virtual ~ShaderInputLayout() = default;
341 public:
342  ShaderInputLayout() = default;
343 
344  virtual std::string GetResourceName () const override { return ""; }
345 };
346 
353 {
354 private:
355  std::wstring m_inputLayoutName;
356 protected:
357 public:
358  InputLayoutDescriptor( const std::wstring& layoutName ) : m_inputLayoutName( layoutName ){}
359  virtual ~InputLayoutDescriptor() = default;
360 
361  virtual void AddRow ( const char* semanticName, ResourceFormat format, unsigned int inputSlot, unsigned int byteOffset, bool perInstance, unsigned int instanceDataStep ) = 0;
362 
363  std::wstring& GetName () { return m_inputLayoutName; }
364 };
365 
366 
369 enum class ShaderType : uint8
370 {
371  VertexShader = 0x01,
372  PixelShader = 0x02,
373  GeometryShader = 0x04,
376  ComputeShader = 0x20
377 };
378 
379 //----------------------------------------------------------------------------------------------//
380 // VertexShader //
381 //----------------------------------------------------------------------------------------------//
382 
387 class VertexShader : public IShader
388 {
389  RTTR_ENABLE( IShader );
391 private:
392 protected:
393  ~VertexShader() = default;
394 public:
395  VertexShader() = default;
396 
397  virtual std::string GetResourceName () const override { return ""; }
398 };
399 
400 //----------------------------------------------------------------------------------------------//
401 // PixelShader //
402 //----------------------------------------------------------------------------------------------//
403 
408 class PixelShader : public IShader
409 {
410  RTTR_ENABLE( IShader );
412 private:
413 protected:
414  ~PixelShader() = default;
415 public:
416  PixelShader() = default;
417 
418  virtual std::string GetResourceName () const override { return ""; }
419 };
420 
421 //----------------------------------------------------------------------------------------------//
422 // GeometryShader //
423 //----------------------------------------------------------------------------------------------//
424 
429 class GeometryShader : public IShader
430 {
431  RTTR_ENABLE( IShader );
433 private:
434 protected:
435  ~GeometryShader() = default;
436 public:
437  GeometryShader() = default;
438 
439  virtual std::string GetResourceName () const override { return ""; }
440 };
441 
442 //----------------------------------------------------------------------------------------------//
443 // ControlShader //
444 //----------------------------------------------------------------------------------------------//
445 
450 class ControlShader : public IShader
451 {
452  RTTR_ENABLE( IShader );
454 private:
455 protected:
456  ~ControlShader() = default;
457 public:
458  ControlShader() = default;
459 
460  virtual std::string GetResourceName () const override { return ""; }
461 };
462 
463 //----------------------------------------------------------------------------------------------//
464 // EvaluationShader //
465 //----------------------------------------------------------------------------------------------//
466 
471 class EvaluationShader : public IShader
472 {
473  RTTR_ENABLE( IShader );
475 private:
476 protected:
477  ~EvaluationShader() = default;
478 public:
479  EvaluationShader() = default;
480 
481  virtual std::string GetResourceName () const override { return ""; }
482 };
483 
484 //----------------------------------------------------------------------------------------------//
485 // ComputeShader //
486 //----------------------------------------------------------------------------------------------//
487 
492 class ComputeShader : public IShader
493 {
494  RTTR_ENABLE( IShader );
496 private:
497 protected:
498  ~ComputeShader() = default;
499 public:
500  ComputeShader() = default;
501 
502  virtual std::string GetResourceName () const override { return ""; }
503 };
504 
505 //----------------------------------------------------------------------------------------------//
506 // BufferObject //
507 //----------------------------------------------------------------------------------------------//
508 
516 class BufferObject : public IBuffer
517 {
520 protected:
521  unsigned int m_elementSize;
522  unsigned int m_elementCount;
523 
524  ~BufferObject() = default;
525 public:
526  BufferObject( unsigned int elementSize, unsigned int elementCount );
527 
528  inline unsigned int GetStride() { return m_elementSize; }
529  inline unsigned int GetElementSize() { return m_elementSize; }
530  inline unsigned int GetElementCount() { return m_elementCount; }
531 
532  virtual std::string GetResourceName () const override { return GetDescriptor().GetName(); }
533 };
534 
535 //----------------------------------------------------------------------------------------------//
536 // MaterialObject //
537 //----------------------------------------------------------------------------------------------//
538 
539 
561 {
563 public:
565 
566  DirectX::XMFLOAT4 Diffuse; //Składowa przezroczystości odnosi się do całego materiału
567  DirectX::XMFLOAT4 Ambient;
568  DirectX::XMFLOAT4 Specular;
569  DirectX::XMFLOAT4 Emissive;
570  float Power;
571 
572  MaterialObject( unsigned int id = WRONG_ID ) : ResourceObject( id ){}
573  MaterialObject( const MaterialObject* material );
574 
575  void SetNullMaterial();
576 
577  virtual std::string GetResourceName () const override { return ""; }
578 };
579 
580 
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
~VertexShader()=default
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
RTTR_ENABLE(IShader)
Bump mapa.
Definition: MeshResources.h:92
DirectX::XMFLOAT4 Specular
Definition: MeshResources.h:568
VertexShader()=default
Definition: Path.h:22
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
Klasa przechowuje opis layoutu wierzchołka, na podstawie którego tworzony jest obiekt layoutu...
Definition: MeshResources.h:352
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
RTTR_ENABLE(IShader)
unsigned int m_elementCount
Liczba elementów.
Definition: MeshResources.h:522
~ControlShader()=default
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
PixelShader()=default
virtual const BufferInfo & GetDescriptor() const =0
Returns buffer descriptor.
RTTR_ENABLE(IShaderInputLayout)
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
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:344
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::wstring m_inputLayoutName
Definition: MeshResources.h:355
std::string GetPath()
Definition: MeshResources.h:195
int GetHeight()
Definition: MeshResources.h:186
virtual ~ShaderInputLayout()=default
TextureInfo CreateTextureInfo() const
Tworzy strukture TextureInfo wypełnioną danymi zgodnymi z deskryptorem RenderTargetu.
Definition: MeshResources.h:275
std::wstring & GetName()
Definition: MeshResources.h:363
uint16 CutOffMipMaps
Definition: MeshResources.h:160
Definition: IRenderTarget.h:10
RTTR_ENABLE(IShader)
ResourceFormat ColorBuffFormat
Format bufora kolorów.
Definition: MeshResources.h:250
~PixelShader()=default
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
GeometryShader()=default
uint8_t uint8
Definition: TypesDefinitions.h:27
RTTR_ENABLE(IRenderTarget)
ControlShader()=default
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
Definition: IShaderInputLayout.h:13
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)
Klasa przechowuje layout wierzchołka trafiającego do vertex shadera.
Definition: MeshResources.h:334
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
RTTR_ENABLE(IShader)
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
ShaderInputLayout()=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: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
ComputeShader()=default
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
Definition: IShader.h:15
RTTR_ENABLE(IShader)
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...
~ComputeShader()=default
virtual void AddRow(const char *semanticName, ResourceFormat format, unsigned int inputSlot, unsigned int byteOffset, bool perInstance, unsigned int instanceDataStep)=0
ResourcePtr< TextureObject > m_stencilBuffer
Pozwala na dostęp do bufora stencil. Może być nulltrem.
Definition: MeshResources.h:309
InputLayoutDescriptor(const std::wstring &layoutName)
Definition: MeshResources.h:358
virtual MemoryChunk CopyData() const =0
Kopiuje dane z bufora i umieszcza je w zwracanym MemoryChunku.
RTTR_ENABLE(IShader)
bool IsCubeMap
Należy ustawić jeżeli tekstura jest cubemapą.
Definition: MeshResources.h:153
Lightmapa.
Definition: MeshResources.h:96
virtual ~InputLayoutDescriptor()=default
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