Browse Source

set_render_mode_thickness/perspective no longer overwrites wireframe color

rdb 10 years ago
parent
commit
5f59f54475
1 changed files with 15 additions and 15 deletions
  1. 15 15
      panda/src/pgraph/nodePath.cxx

+ 15 - 15
panda/src/pgraph/nodePath.cxx

@@ -4940,9 +4940,9 @@ get_fog() const {
 void NodePath::
 void NodePath::
 set_render_mode_wireframe(int priority) {
 set_render_mode_wireframe(int priority) {
   nassertv_always(!is_empty());
   nassertv_always(!is_empty());
-  PN_stdfloat thickness = get_render_mode_thickness();
-  bool perspective = get_render_mode_perspective();
-  node()->set_attrib(RenderModeAttrib::make(RenderModeAttrib::M_wireframe, thickness, perspective), priority);
+  const RenderModeAttrib *rma;
+  node()->get_state()->get_attrib_def(rma);
+  node()->set_attrib(RenderModeAttrib::make(RenderModeAttrib::M_wireframe, rma->get_thickness(), rma->get_perspective()), priority);
 }
 }
 
 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
@@ -4955,9 +4955,9 @@ set_render_mode_wireframe(int priority) {
 void NodePath::
 void NodePath::
 set_render_mode_filled(int priority) {
 set_render_mode_filled(int priority) {
   nassertv_always(!is_empty());
   nassertv_always(!is_empty());
-  PN_stdfloat thickness = get_render_mode_thickness();
-  bool perspective = get_render_mode_perspective();
-  node()->set_attrib(RenderModeAttrib::make(RenderModeAttrib::M_filled, thickness, perspective), priority);
+  const RenderModeAttrib *rma;
+  node()->get_state()->get_attrib_def(rma);
+  node()->set_attrib(RenderModeAttrib::make(RenderModeAttrib::M_filled, rma->get_thickness(), rma->get_perspective()), priority);
 }
 }
 
 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
@@ -4971,9 +4971,9 @@ set_render_mode_filled(int priority) {
 void NodePath::
 void NodePath::
 set_render_mode_filled_wireframe(const LColor &wireframe_color, int priority) {
 set_render_mode_filled_wireframe(const LColor &wireframe_color, int priority) {
   nassertv_always(!is_empty());
   nassertv_always(!is_empty());
-  PN_stdfloat thickness = get_render_mode_thickness();
-  bool perspective = get_render_mode_perspective();
-  node()->set_attrib(RenderModeAttrib::make(RenderModeAttrib::M_filled_wireframe, thickness, perspective, wireframe_color), priority);
+  const RenderModeAttrib *rma;
+  node()->get_state()->get_attrib_def(rma);
+  node()->set_attrib(RenderModeAttrib::make(RenderModeAttrib::M_filled_wireframe, rma->get_thickness(), rma->get_perspective(), wireframe_color), priority);
 }
 }
 
 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
@@ -4994,9 +4994,9 @@ set_render_mode_filled_wireframe(const LColor &wireframe_color, int priority) {
 void NodePath::
 void NodePath::
 set_render_mode_perspective(bool perspective, int priority) {
 set_render_mode_perspective(bool perspective, int priority) {
   nassertv_always(!is_empty());
   nassertv_always(!is_empty());
-  RenderModeAttrib::Mode mode = get_render_mode();
-  PN_stdfloat thickness = get_render_mode_thickness();
-  node()->set_attrib(RenderModeAttrib::make(mode, thickness, perspective), priority);
+  const RenderModeAttrib *rma;
+  node()->get_state()->get_attrib_def(rma);
+  node()->set_attrib(RenderModeAttrib::make(rma->get_mode(), rma->get_thickness(), perspective, rma->get_wireframe_color()), priority);
 }
 }
 
 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
@@ -5015,9 +5015,9 @@ set_render_mode_perspective(bool perspective, int priority) {
 void NodePath::
 void NodePath::
 set_render_mode_thickness(PN_stdfloat thickness, int priority) {
 set_render_mode_thickness(PN_stdfloat thickness, int priority) {
   nassertv_always(!is_empty());
   nassertv_always(!is_empty());
-  RenderModeAttrib::Mode mode = get_render_mode();
-  bool perspective = get_render_mode_perspective();
-  node()->set_attrib(RenderModeAttrib::make(mode, thickness, perspective), priority);
+  const RenderModeAttrib *rma;
+  node()->get_state()->get_attrib_def(rma);
+  node()->set_attrib(RenderModeAttrib::make(rma->get_mode(), thickness, rma->get_perspective(), rma->get_wireframe_color()), priority);
 }
 }
 
 
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////