Quantcast
Channel: beginners - openFrameworks
Viewing all articles
Browse latest Browse all 4929

Drawing ofVboMesh with OF_PRIMITIVE_LINES is much slower than OF_PRIMITIVE_POINTS

$
0
0

@Jikid wrote:

Hi everyone,
I'm trying to draw 200,000 lines/points with a real-time generated ofVboMesh.
However, the drawing is much slower (more than 50%) with OF_PRIMITIVE_LINES mode to OF_PRIMITIVE_POINTS mode.

Here is my code for reference

ofVboMesh mesh;

void ofApp::setup() {
    ofDisableDepthTest();
    genMesh();
}

void ofApp::genMesh()
{
    mesh.clear();
   
    mesh.setMode(OF_PRIMITIVE_LINES);

    ofVec3f pos;
    for(int i = 0; i < 200000; i++)
    {
        pos.set(ofRandom(-200, 200), ofRandom(-200, 200), ofRandom(-200, 200));
        mesh.addVertex(pos);
        mesh.addColor(ofColor(255, 50));
        
        pos.set(ofRandom(-200, 200), ofRandom(-200, 200), ofRandom(-200, 200));
        mesh.addVertex(pos);
        mesh.addColor(ofColor(255, 50));
        
        mesh.addIndex(i * 2);
        mesh.addIndex(i * 2 + 1);
    }
}

void ofApp::updateMesh()
{
    ofVec3f pos;
    for(int i = 0; i < mesh.getNumVertices(); i++)
    {
        pos.set(ofRandom(-200, 200), ofRandom(-200, 200), ofRandom(-200, 200));
        mesh.setVertex(i, pos);
    }
}

//--------------------------------------------------------------
void ofApp::update()
{
    updateMesh();
}

//--------------------------------------------------------------
void ofApp::draw()
{
    ofBackground(ofColor::black);
    ofTranslate(ofGetWidth() / 2, ofGetHeight() / 2);
    mesh.draw();
}

I had 60fps with mesh.setMode(OF_PRIMITIVE_POINTS);
but got only 30fps with mesh.setMode(OF_PRIMITIVE_LINES);

Those vertex positions in mesh should have some other real-time generated values, but that's not relevant here, so I just put some random positions instead.

So, is there any way to improve the performance when dealing with OF_PRIMITIVE_LINES mode?
Thank you in advance!

Posts: 3

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 4929

Trending Articles