mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 00:32:57 -04:00
Fix debug rendering: switch from modify_geom to set_geom
This commit is contained in:
parent
67dc3fabfa
commit
3262f702a3
@ -52,20 +52,10 @@ BulletDebugNode(const char *name) : GeomNode(name) {
|
|||||||
prim = new GeomLines(Geom::UH_stream);
|
prim = new GeomLines(Geom::UH_stream);
|
||||||
prim->set_shade_model(Geom::SM_uniform);
|
prim->set_shade_model(Geom::SM_uniform);
|
||||||
|
|
||||||
/*
|
|
||||||
// Draw something in oder to prevent getting optimized away
|
|
||||||
GeomVertexWriter vwriter(vdata, InternalName::get_vertex());
|
|
||||||
vwriter.add_data3(0.0, 0.0, 0.0);
|
|
||||||
vwriter.add_data3(0.0, 0.0, 0.0);
|
|
||||||
vwriter.add_data3(0.0, 0.0, 0.0);
|
|
||||||
prim->add_next_vertices(2);
|
|
||||||
prim->close_primitive();
|
|
||||||
*/
|
|
||||||
|
|
||||||
geom = new Geom(vdata);
|
geom = new Geom(vdata);
|
||||||
geom->add_primitive(prim);
|
geom->add_primitive(prim);
|
||||||
|
|
||||||
this->add_geom(geom);
|
add_geom(geom);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Triangles
|
// Triangles
|
||||||
@ -79,20 +69,10 @@ BulletDebugNode(const char *name) : GeomNode(name) {
|
|||||||
prim = new GeomTriangles(Geom::UH_stream);
|
prim = new GeomTriangles(Geom::UH_stream);
|
||||||
prim->set_shade_model(Geom::SM_uniform);
|
prim->set_shade_model(Geom::SM_uniform);
|
||||||
|
|
||||||
/*
|
|
||||||
// Draw something in oder to prevent getting optimized away
|
|
||||||
GeomVertexWriter vwriter(vdata, InternalName::get_vertex());
|
|
||||||
vwriter.add_data3(0.0, 0.0, 0.0);
|
|
||||||
vwriter.add_data3(0.0, 0.0, 0.0);
|
|
||||||
vwriter.add_data3(0.0, 0.0, 0.0);
|
|
||||||
prim->add_next_vertices(3);
|
|
||||||
prim->close_primitive();
|
|
||||||
*/
|
|
||||||
|
|
||||||
geom = new Geom(vdata);
|
geom = new Geom(vdata);
|
||||||
geom->add_primitive(prim);
|
geom->add_primitive(prim);
|
||||||
|
|
||||||
this->add_geom(geom);
|
add_geom(geom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -230,6 +210,8 @@ sync_b2p(btDynamicsWorld *world) {
|
|||||||
|
|
||||||
if (is_overall_hidden()) return;
|
if (is_overall_hidden()) return;
|
||||||
|
|
||||||
|
nassertv(get_num_geoms() == 2);
|
||||||
|
|
||||||
// Collect debug geometry data
|
// Collect debug geometry data
|
||||||
_drawer._lines.clear();
|
_drawer._lines.clear();
|
||||||
_drawer._triangles.clear();
|
_drawer._triangles.clear();
|
||||||
@ -243,13 +225,14 @@ sync_b2p(btDynamicsWorld *world) {
|
|||||||
|
|
||||||
// Render lines
|
// Render lines
|
||||||
{
|
{
|
||||||
PT(Geom) geom = modify_geom(0); // TODO idx "0" is assumed
|
PT(GeomVertexData) vdata;
|
||||||
PT(GeomVertexData) vdata = geom->modify_vertex_data();
|
PT(Geom) geom;
|
||||||
PT(GeomPrimitive) prim = geom->modify_primitive(0);
|
PT(GeomLines) prim;
|
||||||
|
|
||||||
geom->clear_cache();
|
vdata = new GeomVertexData("", GeomVertexFormat::get_v3c4(), Geom::UH_stream);
|
||||||
vdata->clear_rows();
|
|
||||||
prim->clear_vertices();
|
prim = new GeomLines(Geom::UH_stream);
|
||||||
|
prim->set_shade_model(Geom::SM_uniform);
|
||||||
|
|
||||||
GeomVertexWriter vwriter = GeomVertexWriter(vdata, InternalName::get_vertex());
|
GeomVertexWriter vwriter = GeomVertexWriter(vdata, InternalName::get_vertex());
|
||||||
GeomVertexWriter cwriter = GeomVertexWriter(vdata, InternalName::get_color());
|
GeomVertexWriter cwriter = GeomVertexWriter(vdata, InternalName::get_color());
|
||||||
@ -269,17 +252,23 @@ sync_b2p(btDynamicsWorld *world) {
|
|||||||
prim->add_vertex(v++);
|
prim->add_vertex(v++);
|
||||||
prim->close_primitive();
|
prim->close_primitive();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
geom = new Geom(vdata);
|
||||||
|
geom->add_primitive(prim);
|
||||||
|
|
||||||
|
set_geom(0, geom);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Render triangles
|
// Render triangles
|
||||||
{
|
{
|
||||||
PT(Geom) geom = modify_geom(1); // TODO idx "1" is assumed
|
PT(GeomVertexData) vdata;
|
||||||
PT(GeomVertexData) vdata = geom->modify_vertex_data();
|
PT(Geom) geom;
|
||||||
PT(GeomPrimitive) prim = geom->modify_primitive(0);
|
PT(GeomTriangles) prim;
|
||||||
|
|
||||||
geom->clear_cache();
|
vdata = new GeomVertexData("", GeomVertexFormat::get_v3c4(), Geom::UH_stream);
|
||||||
vdata->clear_rows();
|
|
||||||
prim->clear_vertices();
|
prim = new GeomTriangles(Geom::UH_stream);
|
||||||
|
prim->set_shade_model(Geom::SM_uniform);
|
||||||
|
|
||||||
GeomVertexWriter vwriter = GeomVertexWriter(vdata, InternalName::get_vertex());
|
GeomVertexWriter vwriter = GeomVertexWriter(vdata, InternalName::get_vertex());
|
||||||
GeomVertexWriter cwriter = GeomVertexWriter(vdata, InternalName::get_color());
|
GeomVertexWriter cwriter = GeomVertexWriter(vdata, InternalName::get_color());
|
||||||
@ -302,6 +291,11 @@ sync_b2p(btDynamicsWorld *world) {
|
|||||||
prim->add_vertex(v++);
|
prim->add_vertex(v++);
|
||||||
prim->close_primitive();
|
prim->close_primitive();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
geom = new Geom(vdata);
|
||||||
|
geom->add_primitive(prim);
|
||||||
|
|
||||||
|
set_geom(1, geom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user