Luanti 5.16.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 )

References buffer, and texture_map.

◆ TextureBufferOutput() [2/3]

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

References buffer, and texture_map.

◆ TextureBufferOutput() [3/3]

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

References buffer, depth_stencil, and texture_map.

◆ ~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, 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.

Here is the call graph for this function:

Member Data Documentation

◆ buffer

TextureBuffer* TextureBufferOutput::buffer
private

◆ depth_stencil

u8 TextureBufferOutput::depth_stencil { NO_DEPTH_TEXTURE }
private

Referenced by TextureBufferOutput(), and 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

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