Luanti 5.11.0-dev
 
Loading...
Searching...
No Matches
TextureBufferOutput Class Reference

Targets output to designated texture in texture buffer. More...

#include <pipeline.h>

+ Inheritance diagram for TextureBufferOutput:
+ Collaboration diagram for TextureBufferOutput:

Public Member Functions

 TextureBufferOutput (TextureBuffer *buffer, u8 texture_index)
 
 TextureBufferOutput (TextureBuffer *buffer, const std::vector< u8 > &texture_map)
 
 TextureBufferOutput (TextureBuffer *buffer, const std::vector< u8 > &texture_map, u8 depth_stencil)
 
virtual ~TextureBufferOutput () override
 
void activate (PipelineContext &context) override
 Activate the render target and configure OpenGL state for the output.
 
video::IRenderTarget * getIrrRenderTarget (PipelineContext &context)
 
- Public Member Functions inherited from RenderTarget
virtual void reset (PipelineContext &context) override
 Resets the state of the object for the next pipeline iteration.
 
- Public Member Functions inherited from RenderPipelineObject
virtual ~RenderPipelineObject ()=default
 

Private Attributes

TextureBufferbuffer
 
std::vector< u8 > texture_map
 
u8 depth_stencil { NO_DEPTH_TEXTURE }
 
video::IRenderTarget * render_target { nullptr }
 
video::IVideoDriver * driver { nullptr }
 

Static Private Attributes

static const u8 NO_DEPTH_TEXTURE = 255
 

Additional Inherited Members

- Protected Attributes inherited from RenderTarget
bool m_clear {true}
 

Detailed Description

Targets output to designated texture in texture buffer.

Constructor & Destructor Documentation

◆ TextureBufferOutput() [1/3]

TextureBufferOutput::TextureBufferOutput ( TextureBuffer * buffer,
u8 texture_index )

◆ TextureBufferOutput() [2/3]

TextureBufferOutput::TextureBufferOutput ( TextureBuffer * buffer,
const std::vector< u8 > & texture_map )

◆ TextureBufferOutput() [3/3]

TextureBufferOutput::TextureBufferOutput ( TextureBuffer * buffer,
const std::vector< u8 > & texture_map,
u8 depth_stencil )

◆ ~TextureBufferOutput()

TextureBufferOutput::~TextureBufferOutput ( )
overridevirtual

References driver, and render_target.

Member Function Documentation

◆ activate()

void TextureBufferOutput::activate ( PipelineContext & context)
overridevirtual

Activate the render target and configure OpenGL state for the output.

This is usually done by

See also
RenderStep implementations.

Reimplemented from RenderTarget.

References RenderTarget::activate(), buffer, PipelineContext::clear_color, depth_stencil, PipelineContext::device, driver, TextureBuffer::getTexture(), RenderTarget::m_clear, NO_DEPTH_TEXTURE, render_target, and texture_map.

Referenced by getIrrRenderTarget().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getIrrRenderTarget()

video::IRenderTarget * TextureBufferOutput::getIrrRenderTarget ( PipelineContext & context)

References activate(), and render_target.

Referenced by ResolveMSAAStep::run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ buffer

TextureBuffer* TextureBufferOutput::buffer
private

Referenced by activate().

◆ depth_stencil

u8 TextureBufferOutput::depth_stencil { NO_DEPTH_TEXTURE }
private

Referenced by activate().

◆ driver

video::IVideoDriver* TextureBufferOutput::driver { nullptr }
private

Referenced by ~TextureBufferOutput(), and activate().

◆ NO_DEPTH_TEXTURE

const u8 TextureBufferOutput::NO_DEPTH_TEXTURE = 255
staticprivate

Referenced by activate().

◆ render_target

video::IRenderTarget* TextureBufferOutput::render_target { nullptr }
private

◆ texture_map

std::vector<u8> TextureBufferOutput::texture_map
private

Referenced by activate().


The documentation for this class was generated from the following files: