Panda3D
config_gobj.h
1 // Filename: config_gobj.h
2 // Created by: drose (01Oct99)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef CONFIG_GOBJ_H
16 #define CONFIG_GOBJ_H
17 
18 #include "pandabase.h"
19 #include "notifyCategoryProxy.h"
20 #include "configVariableBool.h"
21 #include "configVariableInt.h"
22 #include "configVariableEnum.h"
23 #include "configVariableDouble.h"
24 #include "configVariableFilename.h"
25 #include "configVariableString.h"
26 #include "configVariableList.h"
27 #include "autoTextureScale.h"
28 
29 NotifyCategoryDecl(gobj, EXPCL_PANDA_GOBJ, EXPTP_PANDA_GOBJ);
30 NotifyCategoryDecl(shader, EXPCL_PANDA_GOBJ, EXPTP_PANDA_GOBJ);
31 
32 BEGIN_PUBLISH
33 enum ShaderUtilization {
34  SUT_none,
35  SUT_basic,
36  SUT_advanced,
37  SUT_unspecified,
38 };
39 END_PUBLISH
40 
41 EXPCL_PANDA_GOBJ ostream &operator << (ostream &out, ShaderUtilization sut);
42 EXPCL_PANDA_GOBJ istream &operator >> (istream &in, ShaderUtilization &sut);
43 
44 // Configure variables for gobj package.
45 extern EXPCL_PANDA_GOBJ ConfigVariableInt max_texture_dimension;
46 extern EXPCL_PANDA_GOBJ ConfigVariableDouble texture_scale;
47 extern EXPCL_PANDA_GOBJ ConfigVariableInt texture_scale_limit;
48 extern EXPCL_PANDA_GOBJ ConfigVariableList exclude_texture_scale;
49 
50 
51 extern EXPCL_PANDA_GOBJ ConfigVariableBool keep_texture_ram;
52 extern EXPCL_PANDA_GOBJ ConfigVariableBool compressed_textures;
53 extern EXPCL_PANDA_GOBJ ConfigVariableBool driver_compress_textures;
54 extern EXPCL_PANDA_GOBJ ConfigVariableBool driver_generate_mipmaps;
55 extern EXPCL_PANDA_GOBJ ConfigVariableBool vertex_buffers;
56 extern EXPCL_PANDA_GOBJ ConfigVariableBool vertex_arrays;
57 extern EXPCL_PANDA_GOBJ ConfigVariableBool display_lists;
58 extern EXPCL_PANDA_GOBJ ConfigVariableBool hardware_animated_vertices;
59 extern EXPCL_PANDA_GOBJ ConfigVariableBool hardware_point_sprites;
60 extern EXPCL_PANDA_GOBJ ConfigVariableBool hardware_points;
61 extern EXPCL_PANDA_GOBJ ConfigVariableBool singular_points;
62 extern EXPCL_PANDA_GOBJ ConfigVariableBool matrix_palette;
63 extern EXPCL_PANDA_GOBJ ConfigVariableBool display_list_animation;
64 extern EXPCL_PANDA_GOBJ ConfigVariableBool connect_triangle_strips;
65 extern EXPCL_PANDA_GOBJ ConfigVariableBool preserve_triangle_strips;
66 extern EXPCL_PANDA_GOBJ ConfigVariableBool dump_generated_shaders;
67 extern EXPCL_PANDA_GOBJ ConfigVariableBool cache_generated_shaders;
68 extern EXPCL_PANDA_GOBJ ConfigVariableBool enforce_attrib_lock;
69 extern EXPCL_PANDA_GOBJ ConfigVariableBool vertices_float64;
70 extern EXPCL_PANDA_GOBJ ConfigVariableInt vertex_column_alignment;
71 extern EXPCL_PANDA_GOBJ ConfigVariableBool vertex_animation_align_16;
72 
73 extern EXPCL_PANDA_GOBJ ConfigVariableEnum<AutoTextureScale> textures_power_2;
74 extern EXPCL_PANDA_GOBJ ConfigVariableEnum<AutoTextureScale> textures_square;
75 extern EXPCL_PANDA_GOBJ ConfigVariableBool textures_auto_power_2;
76 extern EXPCL_PANDA_GOBJ ConfigVariableBool textures_header_only;
77 extern EXPCL_PANDA_GOBJ ConfigVariableInt simple_image_size;
78 extern EXPCL_PANDA_GOBJ ConfigVariableDouble simple_image_threshold;
79 
80 extern EXPCL_PANDA_GOBJ ConfigVariableEnum<ShaderUtilization> shader_utilization;
81 extern EXPCL_PANDA_GOBJ ConfigVariableBool shader_auto_utilization;
82 
83 extern EXPCL_PANDA_GOBJ ConfigVariableInt geom_cache_size;
84 extern EXPCL_PANDA_GOBJ ConfigVariableInt geom_cache_min_frames;
85 extern EXPCL_PANDA_GOBJ ConfigVariableInt released_vbuffer_cache_size;
86 extern EXPCL_PANDA_GOBJ ConfigVariableInt released_ibuffer_cache_size;
87 
88 extern EXPCL_PANDA_GOBJ ConfigVariableDouble default_near;
89 extern EXPCL_PANDA_GOBJ ConfigVariableDouble default_far;
90 extern EXPCL_PANDA_GOBJ ConfigVariableDouble lens_far_limit;
91 extern EXPCL_PANDA_GOBJ ConfigVariableDouble default_fov;
92 extern EXPCL_PANDA_GOBJ ConfigVariableDouble default_iod;
93 extern EXPCL_PANDA_GOBJ ConfigVariableDouble default_converge;
94 extern EXPCL_PANDA_GOBJ ConfigVariableDouble default_keystone;
95 
96 extern EXPCL_PANDA_GOBJ ConfigVariableFilename vertex_save_file_directory;
97 extern EXPCL_PANDA_GOBJ ConfigVariableString vertex_save_file_prefix;
98 extern EXPCL_PANDA_GOBJ ConfigVariableInt vertex_data_small_size;
99 extern EXPCL_PANDA_GOBJ ConfigVariableInt vertex_data_page_threads;
100 extern EXPCL_PANDA_GOBJ ConfigVariableInt graphics_memory_limit;
101 extern EXPCL_PANDA_GOBJ ConfigVariableInt sampler_object_limit;
102 extern EXPCL_PANDA_GOBJ ConfigVariableDouble adaptive_lru_weight;
103 extern EXPCL_PANDA_GOBJ ConfigVariableInt adaptive_lru_max_updates_per_frame;
104 extern EXPCL_PANDA_GOBJ ConfigVariableDouble async_load_delay;
105 extern EXPCL_PANDA_GOBJ ConfigVariableInt lens_geom_segments;
106 extern EXPCL_PANDA_GOBJ ConfigVariableBool stereo_lens_old_convergence;
107 
108 extern EXPCL_PANDA_GOBJ ConfigVariableString cg_glsl_version;
109 extern EXPCL_PANDA_GOBJ ConfigVariableBool glsl_preprocess;
110 extern EXPCL_PANDA_GOBJ ConfigVariableInt glsl_include_recursion_limit;
111 
112 #endif
This is a convenience class to specialize ConfigVariable as a Filename type.
This is a convenience class to specialize ConfigVariable as a boolean type.
This class is similar to ConfigVariable, but it reports its value as a list of strings.
This is a convenience class to specialize ConfigVariable as a floating-point type.
This is a convenience class to specialize ConfigVariable as a string type.
This class specializes ConfigVariable as an enumerated type.
This is a convenience class to specialize ConfigVariable as an integer type.