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);
This class stores miscellaneous rendering properties that is associated with geometry,...
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
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.