RavEngine
Loading...
Searching...
No Matches
WGTexture.hpp
1
#pragma once
2
#include <RGL/Types.hpp>
3
#include <RGL/Texture.hpp>
4
#include <RGL/Span.hpp>
5
#include <memory>
6
#include <emscripten/html5_webgpu.h>
7
#include <vector>
8
9
namespace
RGL{
10
struct
DeviceWG;
11
12
struct
TextureWG
:
public
ITexture
{
13
WGPUTextureView texture;
14
bool
owning =
true
;
15
// default constructor, don't explicity use
16
TextureWG
() :
ITexture
({0,0}){}
17
virtual
~TextureWG
();
18
19
TextureWG
(
decltype
(texture),
const
Dimension
&,
bool
owning =
false
);
20
TextureWG
(
const
std::shared_ptr<DeviceWG>,
const
TextureConfig
& config,
const
untyped_span
);
21
TextureWG
(
const
std::shared_ptr<DeviceWG>,
const
TextureConfig
& config);
22
23
TextureView
GetDefaultView()
const
final
;
24
TextureView
GetViewForMip(uint32_t mip)
const
final
;
25
virtual
RGLCustomTextureViewPtr MakeCustomTextureView(
const
CustomTextureViewConfig
& config)
const
;
26
27
std::vector<WGPUTextureView> mipViews;
28
29
Dimension
GetSize()
const
;
30
};
31
32
}
RGL::ITexture
Definition
Texture.hpp:168
RGL::untyped_span
Definition
Span.hpp:11
RGL::CustomTextureViewConfig
Definition
Texture.hpp:157
RGL::Dimension
Definition
Texture.hpp:25
RGL::TextureConfig
Definition
Texture.hpp:138
RGL::TextureView
Definition
Texture.hpp:43
RGL::TextureWG
Definition
WGTexture.hpp:12
RavEngine
deps
RGL
src
WGTexture.hpp
Generated by
1.9.8