FCT
载入中...
搜索中...
未找到
Image.h
浏览该文件的文档.
1//
2// Created by Administrator on 2025/3/27.
3//
4#include "../Type/type.h"
6#include "./ImageUsageFlags.h"
7
8#ifndef FCT_RHI_IMAGE_H
9#define FCT_RHI_IMAGE_H
10namespace FCT
11{
12 namespace RHI
13 {
14 class Fence;
15
16 class Image : public RefCount
17 {
18 public:
20 {
21 m_initData.data = nullptr;
22 m_initData.size = 0;
23 }
24 ~Image() = default;
25 Format format() const
26 {
27 return m_format;
28 }
30 {
32 }
34 {
35 return m_samples;
36 }
38 {
40 }
41 void width(uint32_t width)
42 {
43 m_width = width;
44 }
45 void height(uint32_t height)
46 {
48 }
49 uint32_t width() const
50 {
51 return m_width;
52 }
53 void initData(void* data, size_t size)
54 {
55 m_initData.data = data;
56 m_initData.size = size;
57 }
59 {
60 m_initData = data;
61 }
62 uint32_t height() const
63 {
64 return m_height;
65 }
66 virtual void create() = 0;
67 void usage(ImageUsages usage)
68 {
69 m_usage = usage;
70 }
71 virtual void updateData(const void* data, size_t dataSize) = 0;
72 virtual void updateData(const void* data, size_t dataSize, Fence* fence, std::function<void()>* onCompletion) = 0;
73 protected:
76 uint32_t m_width;
77 uint32_t m_height;
78 ImageUsages m_usage;
80 };
81 }
82}
83#endif //FCT_RHI_IMAGE_H
uint32_t height() const
定义 Image.h:62
void width(uint32_t width)
定义 Image.h:41
~Image()=default
void usage(ImageUsages usage)
定义 Image.h:67
virtual void create()=0
ImageInitData m_initData
定义 Image.h:79
Format format() const
定义 Image.h:25
void initData(void *data, size_t size)
定义 Image.h:53
void format(Format format)
定义 Image.h:29
void height(uint32_t height)
定义 Image.h:45
Samples samples() const
定义 Image.h:33
uint32_t width() const
定义 Image.h:49
uint32_t m_height
定义 Image.h:77
void samples(Samples samples)
定义 Image.h:37
ImageUsages m_usage
定义 Image.h:78
void initData(ImageInitData data)
定义 Image.h:58
uint32_t m_width
定义 Image.h:76
virtual void updateData(const void *data, size_t dataSize, Fence *fence, std::function< void()> *onCompletion)=0
virtual void updateData(const void *data, size_t dataSize)=0
Samples m_samples
定义 Image.h:75