Cogs.Core
TexturesNull.h
1#pragma once
2
3#include "../Base/TexturesCommon.h"
4
5namespace Cogs {
6 class TexturesNull : public TexturesCommon {
7 public:
8 virtual void annotate(TextureHandle /*handle*/, const StringView& /*name*/) override {}
9
10 using TexturesCommon::loadTexture;
11
12 virtual TextureHandle loadTexture(const TextureDescription& /*desc*/, const TextureData* /*data*/) override {
13 return TextureHandle(reinterpret_cast<int64_t>(new TextureTag()));
14 }
15
16 virtual void releaseTexture(TextureHandle textureHandle) override {
17 delete reinterpret_cast<TextureTag*>(textureHandle.handle);
18 }
19
21 return TextureViewHandle(reinterpret_cast<int64_t>(new TextureViewTag()));
22 }
23
24 virtual void releaseTextureView(const TextureViewHandle& textureViewHandle) override {
25 delete reinterpret_cast<TextureViewTag*>(textureViewHandle.handle);
26 }
27
28 virtual SamplerStateHandle loadSamplerState(const SamplerState& /*state*/) override {
29 return SamplerStateHandle(reinterpret_cast<int64_t>(new SamplerTag()));
30 }
31
32 virtual void releaseSamplerState(SamplerStateHandle samplerStateHandle) override {
33 delete reinterpret_cast<SamplerTag*>(samplerStateHandle.handle);
34 }
35
36 virtual void generateMipmaps(TextureHandle /*texureHandle*/) override {}
37 virtual void releaseResources() override {}
38
39 virtual void* getNativeHandle(TextureHandle textureHandle) override {
40 return reinterpret_cast<void*>(textureHandle.handle);
41 }
42 };
43}
Provides a weakly referenced view over the contents of a string.
Definition: StringView.h:24
virtual void annotate(TextureHandle, const StringView &) override
Associate a name with an object for use in graphics debugging.
Definition: TexturesNull.h:8
virtual TextureHandle loadTexture(const TextureDescription &, const TextureData *) override
Load a texture from the given description.
Definition: TexturesNull.h:12
virtual TextureViewHandle createTextureView(TextureViewDescription &) override
Create a texture view used to bind a limited view of the texture data to the rendering pipeline.
Definition: TexturesNull.h:20
virtual void releaseTexture(TextureHandle textureHandle) override
Release the texture with the given textureHandle.
Definition: TexturesNull.h:16
virtual SamplerStateHandle loadSamplerState(const SamplerState &) override
Load a sampler state object.
Definition: TexturesNull.h:28
virtual void releaseSamplerState(SamplerStateHandle samplerStateHandle) override
Release the sampler state with the given handle.
Definition: TexturesNull.h:32
virtual void generateMipmaps(TextureHandle) override
Use the graphics device to generate mipmaps for the texture with the given texture handle.
Definition: TexturesNull.h:36
virtual void releaseTextureView(const TextureViewHandle &textureViewHandle) override
Release the given texture view.
Definition: TexturesNull.h:24
virtual void * getNativeHandle(TextureHandle textureHandle) override
Get the device-specific handle (D3D texture pointer, OpenGL texture ID etc) associated with the given...
Definition: TexturesNull.h:39
virtual void releaseResources() override
Release all allocated texture resources.
Definition: TexturesNull.h:37
Contains all Cogs related functionality.
Definition: FieldSetter.h:23
handle_type handle
Internal resource handle.
Definition: Common.h:74
Encapsulates state for texture sampling in a state object.
Definition: SamplerState.h:12
Describes how to fetch data from a texture in shaders.
Definition: ITextures.h:13