RAMSES Documentation  27.0.130
Information for RAMSES users and developers
TextureSampler.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // Copyright (C) 2015 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_TEXTURESAMPLER_H
10 #define RAMSES_TEXTURESAMPLER_H
11 
13 
14 #include "TextureEnums.h"
15 
16 namespace ramses
17 {
18  class Texture2D;
19  class Texture3D;
20  class TextureCube;
21  class Texture2DBuffer;
22  class RenderBuffer;
23  class StreamTexture;
24 
29  {
30  public:
37 
44 
51 
58 
65 
71  uint32_t getAnisotropyLevel() const;
72 
79 
91  status_t setTextureData(const Texture2D& dataSource);
93  status_t setTextureData(const Texture3D& dataSource);
95  status_t setTextureData(const TextureCube& dataSource);
99  status_t setTextureData(const RenderBuffer& dataSource);
102 
106  class TextureSamplerImpl& impl;
107 
108  protected:
112  friend class SceneImpl;
113 
119  explicit TextureSampler(TextureSamplerImpl& pimpl);
120 
124  virtual ~TextureSampler();
125  };
126 }
127 
128 #endif
#define RAMSES_API
Definition: APIExport.h:35
RenderBuffer can be used with RenderTarget as buffer for writing or with TextureSampler as buffer for...
Definition: RenderBuffer.h:25
The SceneObject is a base class for all client API objects owned by a Scene.
Definition: SceneObject.h:20
StreamTexture is a special kind of texture, which holds a reference to a "fallback texture" and a str...
Definition: StreamTexture.h:25
The Texture2DBuffer is a mutable texture buffer used to hold texture data with the possibility to per...
Definition: Texture2DBuffer.h:26
Texture represents a 2-D texture resource.
Definition: Texture2D.h:24
Texture represents a texture resource.
Definition: Texture3D.h:22
TextureCube stores pixel data with 6 equally sized quadratic faces.
Definition: TextureCube.h:26
The TextureSampler holds a texture and its sampling parameters.
Definition: TextureSampler.h:29
virtual ~TextureSampler()
Destructor of the TextureSampler.
status_t setTextureData(const Texture3D &dataSource)
Replaces current texture content source with a new one. Texture data can be changed from/to any type/...
class TextureSamplerImpl & impl
Definition: TextureSampler.h:106
ETextureSamplingMethod getMagSamplingMethod() const
Gets the texture mag sampling method.
TextureSampler(TextureSamplerImpl &pimpl)
Constructor for TextureSampler.
status_t setTextureData(const StreamTexture &dataSource)
Replaces current texture content source with a new one. Texture data can be changed from/to any type/...
status_t setTextureData(const TextureCube &dataSource)
Replaces current texture content source with a new one. Texture data can be changed from/to any type/...
status_t setTextureData(const Texture2D &dataSource)
Replaces current texture content source with a new one. Texture data can be changed from/to any type/...
ERamsesObjectType getTextureType() const
Gets the type of the texture.
ETextureAddressMode getWrapRMode() const
Gets the texture wrap mode for the r axis.
ETextureSamplingMethod getMinSamplingMethod() const
Gets the texture min sampling method.
ETextureAddressMode getWrapUMode() const
Gets the texture wrap mode for the u axis.
status_t setTextureData(const Texture2DBuffer &dataSource)
Replaces current texture content source with a new one. Texture data can be changed from/to any type/...
uint32_t getAnisotropyLevel() const
Gets the texture sampling anisotropy level.
status_t setTextureData(const RenderBuffer &dataSource)
Replaces current texture content source with a new one. Texture data can be changed from/to any type/...
ETextureAddressMode getWrapVMode() const
Gets the texture wrap mode for the v axis.
The RAMSES namespace contains all client side objects and functions used to implement RAMSES applicat...
Definition: AnimatedProperty.h:15
ETextureSamplingMethod
Texture sampling method.
Definition: TextureEnums.h:19
ETextureAddressMode
Texture address mode.
Definition: TextureEnums.h:31
uint32_t status_t
Status is a handle to the result of an API call.
Definition: RamsesFrameworkTypes.h:26
ERamsesObjectType
RamsesObject type ID.
Definition: RamsesObjectTypes.h:18