From 3537460b0eb3408047faa2f9a56d7529c2677bc6 Mon Sep 17 00:00:00 2001 From: Julien Valentin Date: Mon, 31 Jul 2017 03:08:52 +0200 Subject: [PATCH] Add arguments, command line usage and use DrawElementsUInt for classic case --- examples/osgsimpleMDI/osgsimpleMDI.cpp | 38 +++++++++++++++++--------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/examples/osgsimpleMDI/osgsimpleMDI.cpp b/examples/osgsimpleMDI/osgsimpleMDI.cpp index e7814f2c3..13ca86dbb 100644 --- a/examples/osgsimpleMDI/osgsimpleMDI.cpp +++ b/examples/osgsimpleMDI/osgsimpleMDI.cpp @@ -38,7 +38,7 @@ #include #include -#include +#include #include #include @@ -49,13 +49,29 @@ /////////////////////////////////////////////////////////////////////////// -#define MAXX 100 -#define MAXY 100 -//#define VIAINTERFACE 1 +//#define MAXX 1000 +//#define MAXY 1000 + int main( int argc, char**argv ) { osg::ArgumentParser arguments(&argc,argv); + arguments.getApplicationUsage()->setDescription(arguments.getApplicationName()+" is the example which demonstrates Multi Indirect Draw with basevertex"); + arguments.getApplicationUsage()->setCommandLineUsage(arguments.getApplicationName()+" [options] "); + arguments.getApplicationUsage()->addCommandLineOption("-h or --help","Display this information"); + arguments.getApplicationUsage()->addCommandLineOption("--numX","square count on X"); + arguments.getApplicationUsage()->addCommandLineOption("--numY","square count on Y"); + arguments.getApplicationUsage()->addCommandLineOption("--classic","disable MDI and use classic DrawElements"); + + if (arguments.read("-h") || arguments.read("--help")) + { + arguments.getApplicationUsage()->write(std::cout); + return 1; + } + + int MAXX=200;int MAXY=200; + arguments.read("--numX",MAXX); + arguments.read("--numY",MAXY); bool MDIenable=true; if(arguments.read("--classic")) @@ -87,13 +103,9 @@ int main( int argc, char**argv ) osg::Vec3(0.7f,0.0f,0.7f) }; - unsigned short myIndices[] = - { - 0, - 1, - 3, - 2 - }; + unsigned short myIndices[] = { 0, 1, 3, 2 }; + unsigned int myIndicesUI[] = { 0, 1, 3, 2 }; + osg::Vec3Array * verts=new osg::Vec3Array(); @@ -120,8 +132,8 @@ int main( int argc, char**argv ) } else for(int i=0; isetElementBufferObject(ebo); geom->addPrimitiveSet(dre); }