Uranium
Application Framework
|
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 = name | |
_width = width | |
_height = height | |
_priority = priority | |
_gl = OpenGL.getInstance().getBindingsObject() | |
_fbo = None | |
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.
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.
str UM.View.RenderPass.RenderPass.getName | ( | self | ) |
Get the name of this RenderPass. :return: The name of the render pass.
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.
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.
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.
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.
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.
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.