mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
respect vertex color properly
This commit is contained in:
parent
4b315b5170
commit
cb2819a5d7
@ -19,6 +19,7 @@
|
|||||||
#include "cullHandler.h"
|
#include "cullHandler.h"
|
||||||
#include "renderState.h"
|
#include "renderState.h"
|
||||||
#include "renderModeAttrib.h"
|
#include "renderModeAttrib.h"
|
||||||
|
#include "colorAttrib.h"
|
||||||
#include "bamWriter.h"
|
#include "bamWriter.h"
|
||||||
#include "bamReader.h"
|
#include "bamReader.h"
|
||||||
#include "datagram.h"
|
#include "datagram.h"
|
||||||
@ -375,6 +376,9 @@ render_thread(CullTraverser *trav, CullTraverserData &data,
|
|||||||
|
|
||||||
CPT(RenderAttrib) thick = RenderModeAttrib::make(RenderModeAttrib::M_unchanged, get_thickness());
|
CPT(RenderAttrib) thick = RenderModeAttrib::make(RenderModeAttrib::M_unchanged, get_thickness());
|
||||||
CPT(RenderState) state = data._state->add_attrib(thick);
|
CPT(RenderState) state = data._state->add_attrib(thick);
|
||||||
|
if (get_use_vertex_color()) {
|
||||||
|
state = state->add_attrib(ColorAttrib::make_vertex());
|
||||||
|
}
|
||||||
|
|
||||||
CullableObject *object =
|
CullableObject *object =
|
||||||
new CullableObject(geom, state,
|
new CullableObject(geom, state,
|
||||||
@ -420,9 +424,14 @@ render_tape(CullTraverser *trav, CullTraverserData &data,
|
|||||||
|
|
||||||
PT(Geom) geom = new Geom(vdata);
|
PT(Geom) geom = new Geom(vdata);
|
||||||
geom->add_primitive(strip);
|
geom->add_primitive(strip);
|
||||||
|
|
||||||
|
CPT(RenderState) state = data._state;
|
||||||
|
if (get_use_vertex_color()) {
|
||||||
|
state = state->add_attrib(ColorAttrib::make_vertex());
|
||||||
|
}
|
||||||
|
|
||||||
CullableObject *object =
|
CullableObject *object =
|
||||||
new CullableObject(geom, data._state,
|
new CullableObject(geom, state,
|
||||||
data.get_net_transform(trav),
|
data.get_net_transform(trav),
|
||||||
data.get_modelview_transform(trav),
|
data.get_modelview_transform(trav),
|
||||||
trav->get_gsg());
|
trav->get_gsg());
|
||||||
@ -472,9 +481,14 @@ render_billboard(CullTraverser *trav, CullTraverserData &data,
|
|||||||
|
|
||||||
PT(Geom) geom = new Geom(vdata);
|
PT(Geom) geom = new Geom(vdata);
|
||||||
geom->add_primitive(strip);
|
geom->add_primitive(strip);
|
||||||
|
|
||||||
|
CPT(RenderState) state = data._state;
|
||||||
|
if (get_use_vertex_color()) {
|
||||||
|
state = state->add_attrib(ColorAttrib::make_vertex());
|
||||||
|
}
|
||||||
|
|
||||||
CullableObject *object =
|
CullableObject *object =
|
||||||
new CullableObject(geom, data._state,
|
new CullableObject(geom, state,
|
||||||
data.get_net_transform(trav),
|
data.get_net_transform(trav),
|
||||||
data.get_modelview_transform(trav),
|
data.get_modelview_transform(trav),
|
||||||
trav->get_gsg());
|
trav->get_gsg());
|
||||||
@ -531,9 +545,14 @@ render_tube(CullTraverser *trav, CullTraverserData &data,
|
|||||||
|
|
||||||
PT(Geom) geom = new Geom(vdata);
|
PT(Geom) geom = new Geom(vdata);
|
||||||
geom->add_primitive(strip);
|
geom->add_primitive(strip);
|
||||||
|
|
||||||
|
CPT(RenderState) state = data._state;
|
||||||
|
if (get_use_vertex_color()) {
|
||||||
|
state = state->add_attrib(ColorAttrib::make_vertex());
|
||||||
|
}
|
||||||
|
|
||||||
CullableObject *object =
|
CullableObject *object =
|
||||||
new CullableObject(geom, data._state,
|
new CullableObject(geom, state,
|
||||||
data.get_net_transform(trav),
|
data.get_net_transform(trav),
|
||||||
data.get_modelview_transform(trav),
|
data.get_modelview_transform(trav),
|
||||||
trav->get_gsg());
|
trav->get_gsg());
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
#include "geomTristrips.h"
|
#include "geomTristrips.h"
|
||||||
#include "geomVertexWriter.h"
|
#include "geomVertexWriter.h"
|
||||||
#include "boundingSphere.h"
|
#include "boundingSphere.h"
|
||||||
|
#include "colorAttrib.h"
|
||||||
|
#include "renderState.h"
|
||||||
|
|
||||||
TypeHandle SheetNode::_type_handle;
|
TypeHandle SheetNode::_type_handle;
|
||||||
|
|
||||||
@ -347,9 +349,14 @@ render_sheet(CullTraverser *trav, CullTraverserData &data,
|
|||||||
|
|
||||||
PT(Geom) geom = new Geom(vdata);
|
PT(Geom) geom = new Geom(vdata);
|
||||||
geom->add_primitive(strip);
|
geom->add_primitive(strip);
|
||||||
|
|
||||||
|
CPT(RenderState) state = data._state;
|
||||||
|
if (use_vertex_color) {
|
||||||
|
state = state->add_attrib(ColorAttrib::make_vertex());
|
||||||
|
}
|
||||||
|
|
||||||
CullableObject *object =
|
CullableObject *object =
|
||||||
new CullableObject(geom, data._state,
|
new CullableObject(geom, state,
|
||||||
data.get_net_transform(trav),
|
data.get_net_transform(trav),
|
||||||
data.get_modelview_transform(trav),
|
data.get_modelview_transform(trav),
|
||||||
trav->get_gsg());
|
trav->get_gsg());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user