mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
119 lines
3.7 KiB
C++
119 lines
3.7 KiB
C++
// Filename: config_grutil.cxx
|
|
// Created by: drose (24May00)
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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."
|
|
//
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
#include "config_grutil.h"
|
|
#include "frameRateMeter.h"
|
|
#include "sceneGraphAnalyzerMeter.h"
|
|
#include "meshDrawer.h"
|
|
#include "meshDrawer2D.h"
|
|
#include "geoMipTerrain.h"
|
|
#include "ffmpegTexture.h"
|
|
#include "movieTexture.h"
|
|
#include "pandaSystem.h"
|
|
#include "texturePool.h"
|
|
#include "nodeVertexTransform.h"
|
|
#include "rigidBodyCombiner.h"
|
|
#include "pipeOcclusionCullTraverser.h"
|
|
|
|
#include "dconfig.h"
|
|
|
|
Configure(config_grutil);
|
|
NotifyCategoryDef(grutil, "");
|
|
|
|
ConfigureFn(config_grutil) {
|
|
init_libgrutil();
|
|
}
|
|
|
|
ConfigVariableDouble frame_rate_meter_update_interval
|
|
("frame-rate-meter-update-interval", 1.5);
|
|
|
|
ConfigVariableString frame_rate_meter_text_pattern
|
|
("frame-rate-meter-text-pattern", "%0.1f fps");
|
|
|
|
ConfigVariableInt frame_rate_meter_layer_sort
|
|
("frame-rate-meter-layer-sort", 1000);
|
|
|
|
ConfigVariableDouble frame_rate_meter_scale
|
|
("frame-rate-meter-scale", 0.05);
|
|
|
|
ConfigVariableDouble frame_rate_meter_side_margins
|
|
("frame-rate-meter-side-margins", 0.5);
|
|
|
|
ConfigVariableDouble scene_graph_analyzer_meter_update_interval
|
|
("scene-graph-analyzer-meter-update-interval", 2.0);
|
|
|
|
ConfigVariableInt scene_graph_analyzer_meter_layer_sort
|
|
("scene-graph-analyzer-meter-layer-sort", 1000);
|
|
|
|
ConfigVariableDouble scene_graph_analyzer_meter_scale
|
|
("scene-graph-analyzer-meter-scale", 0.05);
|
|
|
|
ConfigVariableDouble scene_graph_analyzer_meter_side_margins
|
|
("scene-graph-analyzer-meter-side-margins", 0.5);
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
// Function: init_libgrutil
|
|
// Description: 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.
|
|
////////////////////////////////////////////////////////////////////
|
|
void
|
|
init_libgrutil() {
|
|
ConfigVariableBool use_movietexture
|
|
("use-movietexture", false,
|
|
PRC_DESC("Panda contains a new animated texture class, MovieTexture. "
|
|
"Because it is not yet fully tested, the texture loader "
|
|
"will not use it unless this variable is set. Eventually, "
|
|
"this config variable will go away and the new code will "
|
|
"be enabled all the time."));
|
|
|
|
static bool initialized = false;
|
|
if (initialized) {
|
|
return;
|
|
}
|
|
initialized = true;
|
|
|
|
FrameRateMeter::init_type();
|
|
MeshDrawer::init_type();
|
|
MeshDrawer2D::init_type();
|
|
GeoMipTerrain::init_type();
|
|
NodeVertexTransform::init_type();
|
|
RigidBodyCombiner::init_type();
|
|
PipeOcclusionCullTraverser::init_type();
|
|
SceneGraphAnalyzerMeter::init_type();
|
|
|
|
#ifdef HAVE_AUDIO
|
|
MovieTexture::init_type();
|
|
MovieTexture::register_with_read_factory();
|
|
#endif // HAVE_AUDIO
|
|
|
|
#ifdef HAVE_FFMPEG
|
|
av_register_all();
|
|
FFMpegTexture::init_type();
|
|
FFMpegTexture::register_with_read_factory();
|
|
#endif
|
|
|
|
#if defined(HAVE_FFMPEG)
|
|
TexturePool *ts = TexturePool::get_global_ptr();
|
|
if (use_movietexture) {
|
|
ts->register_texture_type(MovieTexture::make_texture, "avi mov mpg mpeg mp4 wmv asf flv nut ogm mkv");
|
|
} else {
|
|
ts->register_texture_type(FFMpegTexture::make_texture, "avi mov mpg mpeg mp4 wmv asf flv nut ogm mkv");
|
|
}
|
|
#endif
|
|
}
|
|
|