FCT
载入中...
搜索中...
未找到
ImageRenderTarget.cpp
浏览该文件的文档.
1//
2// Created by Administrator on 2025/3/27.
3//
4
5#include "../FCTAPI.h"
6namespace FCT
7{
12
19
21 {
22 /*
23 for (auto target : m_renderTargetImages)
24 {
25 target.second->release();
26 }*/
27 m_target->release();
28 }
29
31 {
32 auto renderTargetImage = new SingleBufferImage(m_ctx);
33 renderTargetImage->renderTargetType(m_renderTargetType);
34 renderTargetImage->create(image);
35 m_width = image->width();
36 m_height = image->height();
37 }
38
40 {
41 m_target = image;
42 m_target->addRef();
43 }
44
50
51 /*
52 void ImageRenderTarget::addRenderTarget(Image* image)
53 {
54 m_renderTargetImages.push_back(image);
55 }
56*/
57 /*
58 void ImageRenderTarget::addRenderTarget(RHI::Image* image)
59 {
60 auto renderTargetImage = new SingleBufferImage(m_ctx);
61 renderTargetImage->renderTargetType(m_renderTargetType);
62 renderTargetImage->create(image);
63 if (m_renderTargetImages.empty())
64 {
65 m_width = image->width();
66 m_height = image->height();
67 }
68#ifdef FCT_DEBUG
69 else
70 {
71 if (m_width!= image->width() || m_height!= image->height())
72 {
73 ferr << "ImageRenderTarget::addRenderTarget: Image size not match!" << std::endl;
74 }
75 }
76#endif
77 m_renderTargetImages.push_back(renderTargetImage);
78 }
79*/
80 /*
81 void ImageRenderTarget::addRenderTarget(std::vector<RHI::Image*> images)
82 {
83
84 }*/
85/*
86 void ImageRenderTarget::bindRenderTarget(uint32_t index, Image* image)
87 {
88 image->addRef();
89 m_renderTargetImages[index] = image;
90 }
91
92 void ImageRenderTarget::bindRenderTarget(uint32_t index, RHI::Image* image)
93 {
94 auto renderTargetImage = new SingleBufferImage(m_ctx);
95 renderTargetImage->renderTargetType(m_renderTargetType);
96 renderTargetImage->create(image);
97 if (m_renderTargetImages.empty())
98 {
99 m_width = image->width();
100 m_height = image->height();
101 }
102#ifdef FCT_DEBUG
103 else
104 {
105 if (m_width!= image->width() || m_height!= image->height())
106 {
107 ferr << "ImageRenderTarget::addRenderTarget: Image size not match!" << std::endl;
108 }
109 }
110#endif
111 m_renderTargetImages[index] = renderTargetImage;
112 }*/
113/*
114 std::vector<Image*> ImageRenderTarget::getTargetImages()
115 {
116 return m_renderTargetImages;
117 }*/
118}
void setDepthStencilBuffer(Image *image)
RenderTargetType getType() const override
void bindTarget(RHI::Image *image)
void width(uint32_t width)
定义 Image.h:41
void height(uint32_t height)
定义 Image.h:45