re-active Draw:Primitive
This commit is contained in:
parent
e3b0ae1bc3
commit
b37791b9b0
|
|
@ -75,7 +75,7 @@ PStatCollector GraphicsStateGuardian::_vertices_indexed_tristrip_pcollector("Ver
|
|||
PStatCollector GraphicsStateGuardian::_state_pcollector("State changes");
|
||||
PStatCollector GraphicsStateGuardian::_transform_state_pcollector("State changes:Transforms");
|
||||
PStatCollector GraphicsStateGuardian::_texture_state_pcollector("State changes:Textures");
|
||||
PStatCollector GraphicsStateGuardian::_draw_primitive_pcollector("Draw:Primitive");
|
||||
PStatCollector GraphicsStateGuardian::_draw_primitive_pcollector("Draw:Primitive:Draw");
|
||||
PStatCollector GraphicsStateGuardian::_clear_pcollector("Draw:Clear");
|
||||
PStatCollector GraphicsStateGuardian::_flush_pcollector("Draw:Flush");
|
||||
|
||||
|
|
|
|||
|
|
@ -898,6 +898,7 @@ begin_draw_primitives(const Geom *geom, const GeomMunger *munger,
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian8::
|
||||
draw_triangles(const GeomTriangles *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
_vertices_tri_pcollector.add_level(primitive->get_num_vertices());
|
||||
_primitive_batches_tri_pcollector.add_level(1);
|
||||
if (primitive->is_indexed()) {
|
||||
|
|
@ -954,6 +955,7 @@ draw_triangles(const GeomTriangles *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian8::
|
||||
draw_tristrips(const GeomTristrips *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
if (connect_triangle_strips && _current_fill_mode != RenderModeAttrib::M_wireframe) {
|
||||
// One long triangle strip, connected by the degenerate vertices
|
||||
// that have already been set up within the primitive.
|
||||
|
|
@ -1103,6 +1105,7 @@ draw_tristrips(const GeomTristrips *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian8::
|
||||
draw_trifans(const GeomTrifans *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
CPTA_int ends = primitive->get_ends();
|
||||
_primitive_batches_trifan_pcollector.add_level(ends.size());
|
||||
|
||||
|
|
@ -1201,6 +1204,7 @@ draw_trifans(const GeomTrifans *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian8::
|
||||
draw_lines(const GeomLines *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
_vertices_other_pcollector.add_level(primitive->get_num_vertices());
|
||||
_primitive_batches_other_pcollector.add_level(1);
|
||||
|
||||
|
|
@ -1258,6 +1262,7 @@ draw_lines(const GeomLines *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian8::
|
||||
draw_linestrips(const GeomLinestrips *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -1267,6 +1272,7 @@ draw_linestrips(const GeomLinestrips *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian8::
|
||||
draw_points(const GeomPoints *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
_vertices_other_pcollector.add_level(primitive->get_num_vertices());
|
||||
_primitive_batches_other_pcollector.add_level(1);
|
||||
|
||||
|
|
|
|||
|
|
@ -1373,6 +1373,7 @@ data = _vertex_data -> get_array (first_index);
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian9::
|
||||
draw_triangles(const GeomTriangles *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
|
||||
// DBG_SH5 dxgsg9_cat.debug ( ) << "draw_triangles 1\n"; DBG_E
|
||||
|
||||
|
|
@ -1444,6 +1445,7 @@ draw_triangles(const GeomTriangles *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian9::
|
||||
draw_tristrips(const GeomTristrips *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
|
||||
DBG_SH5 dxgsg9_cat.debug ( ) << "draw_tristrips\n"; DBG_E
|
||||
|
||||
|
|
@ -1605,6 +1607,7 @@ draw_tristrips(const GeomTristrips *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian9::
|
||||
draw_trifans(const GeomTrifans *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
|
||||
DBG_SH5 dxgsg9_cat.debug ( ) << "draw_trifans\n"; DBG_E
|
||||
|
||||
|
|
@ -1706,6 +1709,7 @@ draw_trifans(const GeomTrifans *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian9::
|
||||
draw_lines(const GeomLines *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
_vertices_other_pcollector.add_level(primitive->get_num_vertices());
|
||||
_primitive_batches_other_pcollector.add_level(1);
|
||||
|
||||
|
|
@ -1764,6 +1768,7 @@ draw_lines(const GeomLines *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian9::
|
||||
draw_linestrips(const GeomLinestrips *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -1773,6 +1778,7 @@ draw_linestrips(const GeomLinestrips *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian9::
|
||||
draw_points(const GeomPoints *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
_vertices_other_pcollector.add_level(primitive->get_num_vertices());
|
||||
_primitive_batches_other_pcollector.add_level(1);
|
||||
|
||||
|
|
|
|||
|
|
@ -1642,6 +1642,8 @@ disable_standard_vertex_arrays()
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void CLP(GraphicsStateGuardian)::
|
||||
draw_triangles(const GeomTriangles *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
|
||||
#ifndef NDEBUG
|
||||
if (GLCAT.is_spam()) {
|
||||
GLCAT.spam() << "draw_triangles: " << *primitive << "\n";
|
||||
|
|
@ -1684,6 +1686,7 @@ draw_triangles(const GeomTriangles *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void CLP(GraphicsStateGuardian)::
|
||||
draw_tristrips(const GeomTristrips *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
|
||||
report_my_gl_errors();
|
||||
|
||||
|
|
@ -1766,6 +1769,7 @@ draw_tristrips(const GeomTristrips *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void CLP(GraphicsStateGuardian)::
|
||||
draw_trifans(const GeomTrifans *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
#ifndef NDEBUG
|
||||
if (GLCAT.is_spam()) {
|
||||
GLCAT.spam() << "draw_trifans: " << *primitive << "\n";
|
||||
|
|
@ -1822,6 +1826,7 @@ draw_trifans(const GeomTrifans *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void CLP(GraphicsStateGuardian)::
|
||||
draw_lines(const GeomLines *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
#ifndef NDEBUG
|
||||
if (GLCAT.is_spam()) {
|
||||
GLCAT.spam() << "draw_lines: " << *primitive << "\n";
|
||||
|
|
@ -1862,6 +1867,7 @@ draw_lines(const GeomLines *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void CLP(GraphicsStateGuardian)::
|
||||
draw_linestrips(const GeomLinestrips *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
#ifndef NDEBUG
|
||||
if (GLCAT.is_spam()) {
|
||||
GLCAT.spam() << "draw_linestrips: " << *primitive << "\n";
|
||||
|
|
@ -1877,6 +1883,7 @@ draw_linestrips(const GeomLinestrips *primitive) {
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void CLP(GraphicsStateGuardian)::
|
||||
draw_points(const GeomPoints *primitive) {
|
||||
PStatTimer timer(_draw_primitive_pcollector);
|
||||
#ifndef NDEBUG
|
||||
if (GLCAT.is_spam()) {
|
||||
GLCAT.spam() << "draw_points: " << *primitive << "\n";
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@
|
|||
#include "boundingSphere.h"
|
||||
|
||||
UpdateSeq Geom::_next_modified;
|
||||
PStatCollector Geom::_draw_primitive_setup_pcollector("Draw:Primitive:Setup");
|
||||
|
||||
TypeHandle Geom::_type_handle;
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -1090,6 +1092,7 @@ check_will_be_valid(const GeomVertexData *vertex_data) const {
|
|||
void Geom::
|
||||
do_draw(GraphicsStateGuardianBase *gsg, const GeomMunger *munger,
|
||||
const GeomVertexData *vertex_data, const Geom::CData *cdata) const {
|
||||
PStatTimer timer(_draw_primitive_setup_pcollector);
|
||||
if (gsg->begin_draw_primitives(this, munger, vertex_data)) {
|
||||
Primitives::const_iterator pi;
|
||||
for (pi = cdata->_primitives.begin();
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
#include "indirectLess.h"
|
||||
#include "pset.h"
|
||||
#include "boundingVolume.h"
|
||||
#include "pStatCollector.h"
|
||||
|
||||
class GeomContext;
|
||||
class PreparedGraphicsObjects;
|
||||
|
|
@ -256,6 +257,7 @@ private:
|
|||
Contexts _contexts;
|
||||
|
||||
static UpdateSeq _next_modified;
|
||||
static PStatCollector _draw_primitive_setup_pcollector;
|
||||
|
||||
public:
|
||||
static void register_with_read_factory();
|
||||
|
|
|
|||
Loading…
Reference in New Issue