本文整理汇总了C++中GLUTWindowRefPtr::setGlutId方法的典型用法代码示例。如果您正苦于以下问题:C++ GLUTWindowRefPtr::setGlutId方法的具体用法?C++ GLUTWindowRefPtr::setGlutId怎么用?C++ GLUTWindowRefPtr::setGlutId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GLUTWindowRefPtr
的用法示例。
在下文中一共展示了GLUTWindowRefPtr::setGlutId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doMain
//
// setup scene
//
static int doMain(int argc, char *argv[])
{
preloadSharedObject("OSGFileIO");
preloadSharedObject("OSGImageFileIO");
osgInit(argc,argv);
int winid = setupGLUT(&argc, argv);
win = GLUTWindow::create();
win->setGlutId(winid);
win->init();
if(argc < 2)
{
FWARNING(("No file given!\n"));
FWARNING(("Supported file formats:\n"));
std::list<const char*> suffixes;
SceneFileHandler::the()->getSuffixList(suffixes);
for(std::list<const char*>::iterator it = suffixes.begin();
it != suffixes.end();
++it)
{
FWARNING(("%s\n", *it));
}
staticScene = createStaticScene();
}
else
{
staticScene = SceneFileHandler::the()->read(argv[1]);
}
dynamicScene = createDynamicScene();
commitChanges();
mgr = SimpleSceneManager::create();
NodeUnrecPtr root = makeCoredNode<Group>();
root->addChild(staticScene);
mgr->setWindow(win);
mgr->setRoot (root);
GradientBackgroundUnrecPtr background = GradientBackground::create();
background->addLine(Color3f(0,0,0), 0);
background->addLine(Color3f(1,1,1), 1);
staticVp = win->getPort(0);
staticVp->setBackground(background);
camera = staticVp->getCamera();
mgr->showAll();
return 0;
}
示例2: doMain
//
// setup scene
//
static int doMain(int argc, char *argv[])
{
preloadSharedObject("OSGFileIO");
preloadSharedObject("OSGImageFileIO");
osgInit(argc,argv);
int winid = setupGLUT(&argc, argv);
win = GLUTWindow::create();
win->setGlutId(winid);
win->init();
if(argc < 2)
{
FWARNING(("No file given!\n"));
FWARNING(("Supported file formats:\n"));
std::list<const char*> suffixes;
SceneFileHandler::the()->getSuffixList(suffixes);
for(std::list<const char*>::iterator it = suffixes.begin();
it != suffixes.end();
++it)
{
FWARNING(("%s\n", *it));
}
scene = makeTorus(.5, 2, 16, 16);
}
else
{
scene = SceneFileHandler::the()->read(argv[1]);
}
commitChanges();
mgr = new SimpleSceneManager;
mgr->setWindow(win);
mgr->setRoot (scene);
GradientBackgroundUnrecPtr background = GradientBackground::create();
background->addLine(Color3f(0,0,0), 0);
background->addLine(Color3f(1,1,1), 1);
Viewport* viewport = win->getPort(0);
viewport->setBackground(background);
mgr->showAll();
return 0;
}
示例3: main
// Initialize GLUT & OpenSG and set up the scene
int main(int argc, char **argv)
{
// OSG init
osgInit(argc,argv);
// GLUT init
int winid = setupGLUT(&argc, argv);
if(argc >= 2)
scene = SceneFileHandler::the()->read(argv[1]);
else
scene = SceneFileHandler::the()->read("Data/tie.wrl");
if(scene == NULL)
scene = makeTorus(0.3, 4, 16, 64);
// init material
phong_chunk = createPhongShaderMaterial();
// get all the Materials of the current scene
getAllMaterials(scene, materials);
// add the phong material chunk to every found material
for(int i = 0; i < materials.size(); ++i)
{
(materials[i])->addChunk(phong_chunk);
}
phong_active = true;
// open a new scope, because the pointers below should go out of scope
// before entering glutMainLoop.
// Otherwise OpenSG will complain about objects being alive after shutdown.
{
// the connection between GLUT and OpenSG
GLUTWindowRefPtr gwin = GLUTWindow::create();
gwin->setGlutId(winid);
gwin->init ( );
// create the SimpleSceneManager helper
_mgr = new SimpleSceneManager;
// tell the manager what to manage
_mgr->setWindow (gwin );
_mgr->setRoot (scene);
_mgr->turnHeadlightOn( );
commitChanges();
// show the whole scene
_mgr->showAll();
// create a gradient background.
GradientBackgroundRefPtr gbg = GradientBackground::create();
gbg->clearLines();
gbg->addLine(Color3f(0.7, 0.7, 0.8), 0);
gbg->addLine(Color3f(0.0, 0.1, 0.3), 1);
//set gradient background
ViewportRefPtr vp = gwin->getPort(0);
vp->setBackground(gbg);
commitChanges();
}
// GLUT main loop
glutMainLoop();
return 0;
}