Skip to content

ghub/osg3bg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenSceneGraph 3.0 Beginner's Guide Rui Wang; Xuelei Qian Packt Publishing 2010

  1. The Journey into OpenSceneGraph

Retained (Deferred) vs Immediate rendering mode

Scene Graph Root node Group node Child node Leaf node

No directed cycle No orphan node

1998 Don Burns 1999 Robert Osfield 2005 1.0 2007 2.0 2011 3.0

Core libraries OpenThreads osg osgDB osgUtil NodeKits osgAnimation osgFX osgGA osgManipulator osgParticle osgShadow osgSim osgTerrain osgText osgViewer osgVolumn osgWidget osgQt

  1. Compilation and Installation of OpenSceneGraph

osgversion osgconv osgviewer W wireframe T texture L lighting F full-screen S statistics

Release stable: even minor version number un-stable: odd minor version number

Common environment variables OSG_FILE_PATH OSG_NOTIFY_LEVEL OSG_ROOT

  1. Creating Your First OSG Program

osg::Geode - geometry node - leaf osg::Drawable osg::ShapeDrawable (inefficient) osg::Geometry

osgUtil::Simplifier osgUtil::SmoothingVisitor osgUtil::TangentSpaceGenerator osgUtil::Tessellator osgUtil::TriStripVisitor

osg::Drawable::AttributeFunctor osg::Drawable::ConstAttributeFunctor osg::PrimitiveFunctor osg::PrimitiveIndexFunctor

osg::Drawable computeBound() drawImplementation() setUseDisplayList()

  1. Building Geometry Models

  2. Managing Scene Graph

Depth first traversal event update cull draw

Reference frame relative absolute

OSG uses row-major matrix.

osg::Node osg::Group

osg::Transform osg::MatrixTransform osg::PositionAttitudeTransform

osg::Switch osg::Simplifier

osg::LOD osg::ProxyNode osg::PagedLOD osg::DatabasePager

  1. Creating Realistic Rendering Effects

OpenGL state machine attributes modes

osg::StateSet Non-texture setAttribute() setMode() setAttributeAndModes() Texture setTextureAttribute() setTextureMode() setTextureAttributeAndModes()

  1. Viewing the World

Object Space (right-handed) Modeling Transform World Space (right-handed) View Transform Eye Space (right-handed) Projection Transform Clip Space (left-handed) Perspective Divide Normalized Device Space (left-handed) View and Depth Range Transform Window Space (left-handed)

Model-View matrix Move scene: model matrix glTranslate(), glRotate() osg::MatrixTransform, osg::PositionAttitudeTransform Move camera: view matrix gluLookAt() osg::Camera Combined glMultMatrix() osg::Transform

osg::Camera Matrix and viewport View matrix setViewMatrix() setViewMatrixAsLookAt() Projection matrix setProjectionMatrix() setProjectionMatrixAsFrustum() setProjectionMatrixAsOrtho() setProjectionMatrixAsOrtho2D() setProjectionMatrixAsPerspective() Viewport setViewport() Clear setClearMask() setClearColor() setClearDepth() setClearStensil() setClearAccum() Context Buffer color depth texture Other setRenderOrder()

osgViewer::Viewer run() manipulate camera modify graphics context render frame realize() initialize graphics context initialize resources initialize threads

OSG_WINDOW setUpViewInWindow() setUpViewOnSingleScreen() setUpViewFor3dSphericalDisplay()

osgViewer::CompositeViewer

osg::DisplaySettings instance() setDoubleBuffer() setDepthBuffer() setMinimumNumAlphaBits() setNumMultiSamples() stereo mode osg::GraphicsContext

  1. Animating Scene Objects
  2. Interacting with Outside Elements

osg::GraphicsContext::createGraphicsContext() osg::GraphicsContext::Traits

  1. Saving and Loading Files
  2. Developing Visual Components

osg::Billboard setMode() addChild() setNormal()

osgText::Text setFont() setPosition() setCharacterSize() setText()

  1. Improving Rendering Efficiency

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published