Uranium
Application Framework
UM.View.RenderBatch.RenderBatch Class Reference

Classes

class  BlendMode
 
class  RenderMode
 
class  RenderType
 

Public Member Functions

def __init__
 
def renderType (self)
 
def renderMode (self)
 
def shader (self)
 
def backfaceCull (self)
 
def renderRange (self)
 
def items (self)
 
def __lt__ (self, other)
 
def addItem
 
def render
 

Detailed Description

The RenderBatch class represent a batch of objects that should be rendered.

Each RenderBatch contains a list of objects to render and all state related
to those objects. It tries to minimize changes to state between render the
individual objects. This means that for example the ShaderProgram used is
only bound once, at the start of rendering. There are a few values, like
the model-view-projection matrix that are updated for each object.

Currently RenderBatch objects are created each frame including the
VertexArrayObject (VAO). This is done to greatly simplify managing
RenderBatch-changes. Whenever (sets of) RenderBatches are managed throughout
the lifetime of a session, crossing multiple frames, the usage of VAO's can
improve performance by reusing them.

Member Function Documentation

◆ __lt__()

def UM.View.RenderBatch.RenderBatch.__lt__ (   self,
  other 
)
Less-than comparison method.

This sorts RenderType.Solid before RenderType.Transparent
and RenderType.Transparent before RenderType.Overlay.

◆ backfaceCull()

def UM.View.RenderBatch.RenderBatch.backfaceCull (   self)
Whether backface culling is enabled or not.

◆ items()

def UM.View.RenderBatch.RenderBatch.items (   self)
The items to render.

:return: A list of tuples, where each item is (transform_matrix, mesh, extra_uniforms)

◆ renderMode()

def UM.View.RenderBatch.RenderBatch.renderMode (   self)
The RenderMode for this batch.

◆ renderRange()

def UM.View.RenderBatch.RenderBatch.renderRange (   self)
The range of elements to render.

:return: The range of elements to render, as a tuple of (start, end)

◆ renderType()

def UM.View.RenderBatch.RenderBatch.renderType (   self)
The RenderType for this batch.

◆ shader()

def UM.View.RenderBatch.RenderBatch.shader (   self)
The shader for this batch.

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