Uranium
Application Framework
Loading...
Searching...
No Matches
UM.View.RenderPass.RenderPass Class Reference
Inheritance diagram for UM.View.RenderPass.RenderPass:
UM.View.CompositePass.CompositePass UM.View.DefaultPass.DefaultPass UM.View.SelectionPass.SelectionPass

Public Member Functions

None __init__ (self, str name, int width, int height, int priority=0)
 
str getName (self)
 
Tuple[int, int] getSize (self)
 
int getPriority (self)
 
None setSize (self, int width, int height)
 
None bind (self)
 
None release (self)
 
None render (self)
 
int getTextureId (self)
 
QImage getOutput (self)
 

Static Public Attributes

int MaximumPriority = 999
 

Protected Member Functions

None _updateRenderStorage (self)
 

Protected Attributes

 _name
 
 _width
 
 _height
 
 _priority
 
 _gl
 
 _fbo
 

Detailed Description

Base class for a rendering pass.

The RenderPass class encapsulates a render pass, that is a single
step in the rendering process.

:note While the render pass could technically support render to
texture without using Framebuffer Objects, the PyQt bindings object
lacks support for any function like glReadPixels. Therefore, the
Qt OpenGL initialization code checks for FBO support and aborts the
program if no support is found.

Member Function Documentation

◆ bind()

None UM.View.RenderPass.RenderPass.bind ( self)
Bind the render pass so it can be rendered to.

This will make sure everything is set up so the contents of
this render pass will be updated correctly. It should be called
as part of your render() implementation.

:note It is very important to call release() after a call to
bind(), once done with rendering.

◆ getName()

str UM.View.RenderPass.RenderPass.getName ( self)
Get the name of this RenderPass.

:return: The name of the render pass.

◆ getOutput()

QImage UM.View.RenderPass.RenderPass.getOutput ( self)
Get the pixel data produced by this render pass.

This returns an object that contains the pixel data for this render pass.

:note The current object type returned is currently dependant on the specific
implementation of the UM.View.GL.FrameBufferObject class.

◆ getPriority()

int UM.View.RenderPass.RenderPass.getPriority ( self)
Get the priority of this RenderPass.

The priority is used for ordering the render passes. Lower priority render passes
are rendered earlier and are available for later render passes to use as texture
sources.

:return: The priority of this render pass.

◆ getTextureId()

int UM.View.RenderPass.RenderPass.getTextureId ( self)
Get the texture ID of this render pass so it can be reused by other passes.

:return: The OpenGL texture ID used by this pass.

◆ release()

None UM.View.RenderPass.RenderPass.release ( self)
Release the render pass.

This makes sure the contents of this render pass are properly
updated at the end of rendering.

◆ render()

None UM.View.RenderPass.RenderPass.render ( self)
Render the contents of this render pass.

This method should be reimplemented by subclasses to perform the
actual rendering of the render pass.

Reimplemented in UM.View.CompositePass.CompositePass, UM.View.DefaultPass.DefaultPass, and UM.View.SelectionPass.SelectionPass.

◆ setSize()

None UM.View.RenderPass.RenderPass.setSize ( self,
int width,
int height )
Set the size of this render pass.

:param width: The new width of the render pass.
:param height: The new height of the render pass.

:note This will recreate the storage object used by the render
pass. Due to that, the contents will be invalid after resizing
until the render pass is rendered again.

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