14 #ifndef EGGRENDERMODE_H 15 #define EGGRENDERMODE_H 37 void write(std::ostream &out,
int indent_level)
const;
53 DWM_unspecified, DWM_off, DWM_on
57 DTM_unspecified, DTM_off, DTM_on
61 VM_unspecified, VM_hidden, VM_normal
64 INLINE
void set_alpha_mode(AlphaMode mode);
65 INLINE AlphaMode get_alpha_mode()
const;
67 INLINE
void set_depth_write_mode(DepthWriteMode mode);
68 INLINE DepthWriteMode get_depth_write_mode()
const;
70 INLINE
void set_depth_test_mode(DepthTestMode mode);
71 INLINE DepthTestMode get_depth_test_mode()
const;
73 INLINE
void set_visibility_mode(VisibilityMode mode);
74 INLINE VisibilityMode get_visibility_mode()
const;
76 INLINE
void set_depth_offset(
int bias);
77 INLINE
int get_depth_offset()
const;
78 INLINE
bool has_depth_offset()
const;
79 INLINE
void clear_depth_offset();
81 INLINE
void set_draw_order(
int order);
82 INLINE
int get_draw_order()
const;
83 INLINE
bool has_draw_order()
const;
84 INLINE
void clear_draw_order();
86 INLINE
void set_bin(
const std::string &bin);
87 INLINE std::string get_bin()
const;
88 INLINE
bool has_bin()
const;
89 INLINE
void clear_bin();
96 static AlphaMode string_alpha_mode(
const std::string &
string);
97 static DepthWriteMode string_depth_write_mode(
const std::string &
string);
98 static DepthTestMode string_depth_test_mode(
const std::string &
string);
99 static VisibilityMode string_visibility_mode(
const std::string &
string);
102 AlphaMode _alpha_mode;
103 DepthWriteMode _depth_write_mode;
104 DepthTestMode _depth_test_mode;
105 VisibilityMode _visibility_mode;
107 bool _has_depth_offset;
109 bool _has_draw_order;
117 static void init_type() {
125 EXPCL_PANDA_EGG std::ostream &operator << (std::ostream &out, EggRenderMode::AlphaMode mode);
126 EXPCL_PANDA_EGG std::istream &operator >> (std::istream &in, EggRenderMode::AlphaMode &mode);
128 EXPCL_PANDA_EGG std::ostream &operator << (std::ostream &out, EggRenderMode::DepthWriteMode mode);
129 EXPCL_PANDA_EGG std::ostream &operator << (std::ostream &out, EggRenderMode::DepthTestMode mode);
130 EXPCL_PANDA_EGG std::ostream &operator << (std::ostream &out, EggRenderMode::VisibilityMode mode);
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This class stores miscellaneous rendering properties that is associated with geometry,...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.