コード例 #1
0
ファイル: TestScene3.cpp プロジェクト: soulmerge/PURGE
void
TestScene3::runOsg()
{
	// open window
	auto viewer = new osgViewer::Viewer();
	viewer->setUpViewInWindow(560, 240, 800, 600); 
	// adjust camera
	auto camera = viewer->getCamera();
	camera->setViewMatrixAsLookAt(osg::Vec3d(100, 100, 100), osg::Vec3d(0, 0, 0), osg::Vec3d(0, 1, 0));
	// loop
	runOsgLoop(viewer);
}
コード例 #2
0
ファイル: TestScene5.cpp プロジェクト: soulmerge/PURGE
void
TestScene5::runOsg()
{
	// open window
	auto viewer = new osgViewer::Viewer();
	viewer->setUpViewInWindow(560, 240, 800, 600); 
	// adjust camera
	auto camera = viewer->getCamera();
	camera->setViewMatrixAsLookAt(osg::Vec3d(100, 100, 100), osg::Vec3d(0, 0, 0), osg::Vec3d(0, 1, 0));
	// load & integrate model
	auto modelNode = osgDB::readNodeFile("/home/soulmerge/projects/Diplomarbeit/Prototype/resources/Ogre/alexandria.3ds");
	auto modelPositioner = new osg::PositionAttitudeTransform();
	modelPositioner->addChild(modelNode);
	modelPositioner->setPosition(osg::Vec3(-100, -100, -100));
	viewer->setSceneData(modelPositioner);
	// loop
	runOsgLoop(viewer);
}
コード例 #3
0
ファイル: WeaponHUD.cpp プロジェクト: goost/BrainTrain
	void WeaponHUD::createWeaponHUD() {
	
		ref_ptr<Node> crow = osgDB::readNodeFile("../BlenderFiles/exports/Brecheisen.ive");
	/*
	 * here a transformation is applied to the crowbar to show 
	 * it at the lower right of the screen as if it is held in
	 * the right hand
	 */
		ref_ptr<MatrixTransform> crowTransform = new MatrixTransform;
        crowTransform->setMatrix(
         Matrix::rotate(osg::DegreesToRadians(3.0f), Y_AXIS)
       * Matrix::rotate(DegreesToRadians(190.0f), Z_AXIS)
       * Matrix::translate(osg::Vec3(1.0f, 1.5f, -1.5f))
                                );
		crowTransform->addChild(crow);
	/*
	 * adjusting the shininess to give the crowbar a good appearance 
	 */
        brtr::ModifyMaterialVisitor mmv;
        mmv.setShininess(42).setSpecular(Vec4(0.4, 0.4, 0.4, 1));
        crow->accept(mmv);
	/*
	 * Adding a weapon switch to enable multiple weapon use
	 */
        ref_ptr<Switch> switcher = new Switch;
        switcher->addChild(crowTransform, true);
        _switcher = switcher;
        _handler = new WeaponSwitchHandler(switcher);

        ref_ptr<brtr::CelShading> celshade = new brtr::CelShading;
        celshade->addChild(switcher);
        celshade->setNodeMask(~brtr::interactionAndCollisionMask);

		setClearMask(GL_DEPTH_BUFFER_BIT);
		setRenderOrder(Camera::POST_RENDER);
        setReferenceFrame(Camera::ABSOLUTE_RF);
        setProjectionMatrixAsPerspective(100, 1, 0.001, 5);
		
        setViewMatrixAsLookAt(Vec3(), Vec3(0,1,0), Z_AXIS);
        getOrCreateStateSet()->setMode(GL_LIGHTING, StateAttribute::OFF | StateAttribute::PROTECTED | StateAttribute::OVERRIDE);
        addChild(celshade);
	}