openSG
程序简单框架
1、
包含所需的基本的头文件
#include <OpenSG/OSGConfig.h> //OpenSG
的基本配置
#include <OpenSG/OSGGLUT.h> //OpenSG
窗体
#include <OpenSG/OSGSimpleGeometry.h>
#include <OpenSG/OSGGLRTWindow.h>
#include <OpenSG/OSGSimpleSceneManager.h> //OpenSG
屏幕管理
2、
引入
OpenSG
命名空间
OPG_USING_NAMESPACE
3、
OpenSG
程序流程
1、
初始化
OpenSG
子系统
osgInit(argc,argv);
2、
创建并设置
GLUT
(可封装为一个函数
setGlut(int * argc,char ** argv)
)
glutInit(argc,argv);
glutInitDisplayMode(GLUT_RGB|GLUT_DEPTH_GLUT_DOUBLE);
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMotionFunc(motion);
glutMouseFunc(mouse);
int wind = glutCreateWindow(“OpenSG First Application”);
3、
创建并设置
GLUTWindowPtr
GLUTWindowPtr gwin = GLUTWindow::create();
gwin->setId(wind);
gwin->init();
4、
创建
NodePtr
NodePtr scene = makeTorus(0.5,2,16,16);
5、
创建并设置
SimpleSceneManager;
SimpleSceneManager mgr = new SimpleSceneManager;
mgr->setWindow(gwin);
mgr->setRoot(scene);
6、
显示图形
mgr->showAll();
7、
循环显示
glutMainLoop();
GLUT
——〉
GLUTWindowPtr
——〉
SimpleSceneManager
NodePtr
——〉