VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
renderPassDownsample.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: Apache-2.0
2
// Copyright 2025-2026 Arnis Lektauers
3
//
4
//
5
#pragma once
6
7
#include "
renderPassShaderQuad.h
"
8
9
namespace
visutwin::canvas
10
{
11
class
RenderPassDownsample
:
public
RenderPassShaderQuad
12
{
13
public
:
14
struct
Options
15
{
16
bool
boxFilter
=
false
;
17
Texture
*
premultiplyTexture
=
nullptr
;
18
char
premultiplySrcChannel
=
'x'
;
19
bool
removeInvalid
=
false
;
20
};
21
22
RenderPassDownsample
(
const
std::shared_ptr<GraphicsDevice>&
device
,
Texture
* sourceTexture);
23
RenderPassDownsample
(
const
std::shared_ptr<GraphicsDevice>&
device
,
Texture
* sourceTexture,
24
const
Options
& options);
25
26
void
setSourceTexture
(
Texture
* value);
27
void
execute
()
override
;
28
29
private
:
30
Texture
* _sourceTexture =
nullptr
;
31
Texture
* _premultiplyTexture =
nullptr
;
32
Options
_options;
33
float
_sourceInvResolution[2] = {1.0f, 1.0f};
34
};
35
}
visutwin::canvas::RenderPassDownsample::execute
void execute() override
Definition
renderPassDownsample.cpp:80
visutwin::canvas::RenderPassDownsample::RenderPassDownsample
RenderPassDownsample(const std::shared_ptr< GraphicsDevice > &device, Texture *sourceTexture)
Definition
renderPassDownsample.cpp:49
visutwin::canvas::RenderPassDownsample::setSourceTexture
void setSourceTexture(Texture *value)
Definition
renderPassDownsample.cpp:75
visutwin::canvas::RenderPass::device
std::shared_ptr< GraphicsDevice > device() const
Definition
renderPass.h:124
visutwin::canvas::RenderPassShaderQuad::RenderPassShaderQuad
RenderPassShaderQuad(const std::shared_ptr< GraphicsDevice > &device)
Definition
renderPassShaderQuad.h:30
visutwin::canvas::Texture
GPU texture resource supporting 2D, cubemap, volume, and array formats with mipmap management.
Definition
texture.h:57
visutwin::canvas
Definition
eventHandler.cpp:9
renderPassShaderQuad.h
visutwin::canvas::RenderPassDownsample::Options
Definition
renderPassDownsample.h:15
visutwin::canvas::RenderPassDownsample::Options::removeInvalid
bool removeInvalid
Definition
renderPassDownsample.h:19
visutwin::canvas::RenderPassDownsample::Options::premultiplySrcChannel
char premultiplySrcChannel
Definition
renderPassDownsample.h:18
visutwin::canvas::RenderPassDownsample::Options::premultiplyTexture
Texture * premultiplyTexture
Definition
renderPassDownsample.h:17
visutwin::canvas::RenderPassDownsample::Options::boxFilter
bool boxFilter
Definition
renderPassDownsample.h:16
scene
graphics
renderPassDownsample.h
Generated by
1.16.1