MultitexReducer

from panda3d.core import MultitexReducer
class MultitexReducer

Bases: DTOOL_SUPER_BASE

This object presents an interface for generating new texture images that represent the combined images from one or more individual textures, reproducing certain kinds of multitexture effects without depending on multitexture support in the hardware.

This also flattens out texture matrices and removes extra texture coordinates from the Geoms. It is thus not a complete substitute for true multitexturing, because it does not lend itself well to dynamic animation of the textures once they have been flattened. It is, however, useful for “baking in” a particular multitexture effect.

Inheritance diagram

Inheritance diagram of MultitexReducer

__init__(*args, **kwargs)
clear()

C++ Interface: clear(const MultitexReducer self)

flatten()

C++ Interface: flatten(const MultitexReducer self, GraphicsOutput window)

scan()

C++ Interface: scan(const MultitexReducer self, const NodePath node) scan(const MultitexReducer self, const NodePath node, const NodePath state_from) scan(const MultitexReducer self, PandaNode node, const RenderState state, const TransformState transform)

/**
  • Starts scanning the hierarchy beginning at the indicated node. Any

  • GeomNodes discovered in the hierarchy with multitexture will be added to

  • internal structures in the MultitexReducer so that a future call to

  • flatten() will operate on all of these at once.

  • This version of this method does not accumulate state from the parents of

  • the indicated node; thus, only multitexture effects that have been applied

  • at node and below will be considered.

*/

/**
  • Starts scanning the hierarchy beginning at the indicated node. Any

  • GeomNodes discovered in the hierarchy with multitexture will be added to

  • internal structures in the MultitexReducer so that a future call to

  • flatten() will operate on all of these at once.

  • The second parameter represents the NodePath from which to accumulate the

  • state that is considered for the multitexture. Pass an empty NodePath to

  • accumulate all the state from the root of the graph, or you may specify

  • some other node here in order to not consider nodes above that as

  • contributing to the state to be flattened. This is particularly useful if

  • you have some texture stage which is applied globally to a scene (for

  • instance, a caustics effect), which you don’t want to be considered for

  • flattening by the MultitexReducer.

*/

setAllowTexMat()

C++ Interface: set_allow_tex_mat(const MultitexReducer self, bool allow_tex_mat)

setTarget()

C++ Interface: set_target(const MultitexReducer self, TextureStage stage)

setUseGeom()

C++ Interface: set_use_geom(const MultitexReducer self, bool use_geom)

set_allow_tex_mat()

C++ Interface: set_allow_tex_mat(const MultitexReducer self, bool allow_tex_mat)

set_target()

C++ Interface: set_target(const MultitexReducer self, TextureStage stage)

set_use_geom()

C++ Interface: set_use_geom(const MultitexReducer self, bool use_geom)