Panda3D
Functions | Variables
config_egg2pg.cxx File Reference

PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University. More...

#include "config_egg2pg.h"
#include "dconfig.h"
#include "loaderFileTypeEgg.h"
#include "loaderFileTypeRegistry.h"
#include "configVariableManager.h"
#include "configVariableCore.h"
#include "eggRenderState.h"

Go to the source code of this file.

Functions

 ConfigureDef (config_egg2pg)
 
 ConfigureFn (config_egg2pg)
 
void init_libegg2pg ()
 Initializes the library. More...
 
 NotifyCategoryDef (egg2pg, "")
 

Variables

ConfigVariableBool egg_accept_errors ("egg-accept-errors", true, PRC_DESC("When this is true, certain kinds of recoverable errors (not syntax " "errors) in an egg file will be allowed and ignored when an egg file " "is loaded. When it is false, only perfectly pristine egg files may " "be loaded."))
 
ConfigVariableEnum< EggRenderMode::AlphaMode > egg_alpha_mode ("egg-alpha-mode", EggRenderMode::AM_blend, PRC_DESC("Specifies the alpha mode to apply when the alpha specification " "\"on\" appears in the egg file (or when a primitive is implicitly " "transparent, because of a <RGBA> that involves a non-unity alpha, " "or because of a four-channel texture."))
 
ConfigVariableBool egg_combine_geoms ("egg-combine-geoms", false, PRC_DESC("Set this true to combine sibling GeomNodes into a single GeomNode, " "when possible. This usually shouldn't be necessary, since the " "egg loader does a pretty good job of combining these by itself."))
 
ConfigVariableEnum< CoordinateSystem > egg_coordinate_system ("egg-coordinate-system", CS_default)
 
ConfigVariableBool egg_emulate_bface ("egg-emulate-bface", true, PRC_DESC("When this is true, the bface flag applied to a polygon will " "cause two different polygons to be created, back-to-back. When " "it is false, a single polygon will be created with the two_sided " "flag set on it."))
 
ConfigVariableBool egg_flat_colors ("egg-flat-colors", true, PRC_DESC("Set this true to allow the egg loader to create geometry with the " "ColorAttrib::T_flat attribute set: that is, geometry that uses " "the scene graph color instead of per-vertex color. Normally Panda " "will do this as an optimization for Geoms whose vertices are all " "the same color, or all white. This allows the removal of the " "color attribute from the vertices where it is not necessary to " "specify colors per-vertex. If this is false, the color attribute " "will always be specified per-vertex, even if all vertices have the " "same value."))
 
ConfigVariableBool egg_flat_shading ("egg-flat-shading", false, PRC_DESC("Set this true to allow the egg loader to create geometry with the " "ShadeModelAttrib::M_flat attribute set. It will do this only " "for geometry that has per-polygon normals and/or colors. This " "allows the egg loader to avoid duplicating vertices when they " "are shared between connected polygons with different normals or " "colors, but it prevents the flat-shaded geometry from being " "combined with any adjacent smooth-shaded geometry (for instance, " "as the result of a flatten_strong operation). It is false by " "default, since flat-shaded geometry is rare; but you may wish " "to set it true if your scene largely or entirely consists of " "flat-shaded polygons."))
 
ConfigVariableBool egg_flatten ("egg-flatten", true, PRC_DESC("This is normally true to flatten out useless nodes after loading " "an egg file. Set it false if you want to see the complete " "and true hierarchy as the egg loader created it (although the " "extra nodes may have a small impact on render performance)."))
 
ConfigVariableDouble egg_flatten_radius ("egg-flatten-radius", 0.0, PRC_DESC("This specifies the minimum cull radius in the egg file. Nodes " "whose bounding volume is smaller than this radius will be " "flattened tighter than nodes larger than this radius, to " "reduce the node count even further. The idea is that small " "objects will not need to have their individual components " "culled separately, but large environments should. This allows " "the user to specify what should be considered \"small\". Set " "it to 0.0 to disable this feature."))
 
ConfigVariableBool egg_ignore_decals ("egg-ignore-decals", false)
 
ConfigVariableBool egg_ignore_filters ("egg-ignore-filters", false)
 
ConfigVariableBool egg_ignore_mipmaps ("egg-ignore-mipmaps", false)
 
ConfigVariableBool egg_implicit_alpha_binary ("egg-implicit-alpha-binary", false, PRC_DESC("If this is true, then a <Scalar> alpha value appearing in an egg " "file that appears to specify only a binary (0 or 1) value for alpha " "will automatically be downgraded to alpha type \"binary\" instead of " "whatever appears in the egg file."))
 
ConfigVariableBool egg_load_classic_nurbs_curves ("egg-load-classic-nurbs-curves", false, PRC_DESC("When this is true (and the above is also true), a <NurbsCurve> " "entry appearing in an egg file will load a ClassicNurbsCurve object " "instead of the default, a NurbsCurve object. This only makes a " "difference when the NURBS++ library is available, in which case the " "default, NurbsCurve, is actually a NurbsPPCurve object."))
 
ConfigVariableBool egg_load_old_curves ("egg-load-old-curves", true, PRC_DESC("When this is true, a <NurbsCurve> entry appearing in an egg file " "will load as a NurbsCurve or ClassicNurbsCurve object (see below). " "When this is false, it will load a RopeNode instead, which uses the " "new NurbsCurveEvaluator interface."))
 
ConfigVariableInt egg_max_indices ("egg-max-indices", 65535, PRC_DESC("Specifies the maximum number of vertex indices that will be " "added to any one GeomPrimitive by the egg loader."))
 
ConfigVariableInt egg_max_vertices ("egg-max-vertices", 65534, PRC_DESC("Specifies the maximum number of vertices that will be " "added to any one GeomVertexData by the egg loader."))
 
ConfigVariableDouble egg_normal_scale ("egg-normal-scale", 1.0)
 
ConfigVariableBool egg_preload_simple_textures ("egg-preload-simple-textures", true, PRC_DESC("This specifies whether the egg loader will generate simple " "texture images for each texture loaded. This supercedes the " "preload-simple-textures global default, for egg files. In " "fact, the egg loader will generate simple texture images if " "either this or preload-simple-textures is true."))
 
ConfigVariableBool egg_rigid_geometry ("egg-rigid-geometry", false, PRC_DESC("Set this true to create rigid pieces of an animated character as " "separate static nodes, or false to leave these in with the parent " "node as vertex-animated geometry. Setting this true means less " "geometry has to be vertex-animated, but there will tend to be " "more separate pieces."))
 
ConfigVariableBool egg_show_normals ("egg-show-normals", false)
 
ConfigVariableBool egg_suppress_hidden ("egg-suppress-hidden", false, PRC_DESC("When this is true, objects flagged as \"hidden\" with the visibility " "scalar are not created at all. When false, these objects are " "created, but initially stashed."))
 
ConfigVariableBool egg_unify ("egg-unify", true, PRC_DESC("When this is true, then in addition to flattening the scene graph " "nodes, the egg loader will also combine as many Geoms as " "possible within " "a given node into a single Geom. This has theoretical performance " "benefits, especially on higher-end graphics cards, but it also " "slightly slows down egg loading."))
 
ConfigVariableInt egg_vertex_max_num_joints ("egg-vertex-max-num-joints", 4, PRC_DESC("Specifies the maximum number of distinct joints that are allowed " "to control any one vertex. If a vertex requests assignment to " "more than this number of joints, the joints with the lesser membership " "value are ignored. Set this to -1 to allow any number of joints."))
 
ConfigVariableDouble egg_vertex_membership_quantize ("egg-vertex-membership-quantize", 0.1, PRC_DESC("Specifies the nearest amount to round each vertex joint " "membership value when loading an egg file. This affects animated " "egg files only. There is a substantial runtime " "performance advantage for reducing trivial differences in joint " "membership. Set this to 0 to leave joint membership as it is."))
 

Detailed Description

PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.

All rights reserved.

All use of this software is subject to the terms of the revised BSD license. You should have received a copy of this license along with this source code in a file named "LICENSE."

Author
drose
Date
2002-02-26

Definition in file config_egg2pg.cxx.

Function Documentation

◆ init_libegg2pg()

void init_libegg2pg ( )

Initializes the library.

This must be called at least once before any of the functions or classes in this library can be used. Normally it will be called by the static initializers and need not be called explicitly, but special cases exist.

Definition at line 208 of file config_egg2pg.cxx.

References LoaderFileTypeRegistry::get_global_ptr(), ConfigVariableManager::make_variable_template(), and LoaderFileTypeRegistry::register_type().

Referenced by init_libpandaegg().