OpenSceneGraph API
osg.AlphaFuncosg.AnimationPathosg.AnimationPathCallbackosg.ApplicationUsageosg.ApplicationUsageProxyosg.ArgumentParserosg.Arrayosg.ArrayVisitorosg.AtomicCounterBufferBindingosg.AtomicCounterBufferObjectosg.AttributeDispatchosg.AttributeDispatchersosg.AttributeFunctorArrayVisitorosg.AudioSinkosg.AudioStreamosg.AutoTransformosg.BarrierOperationosg.Billboardosg.BindImageTextureosg.BlendColorosg.BlendEquationosg.BlendEquationiosg.BlendFuncosg.BlendFunciosg.BlockAndFlushOperationosg.BoundingBoxImplosg.BoundingSphereImplosg.Boxosg.BufferDataosg.buffered_objectosg.buffered_valueosg.BufferIndexBindingosg.BufferObjectosg.BufferObjectProfileosg.BufferTemplateosg.BuildShapeGeometryVisitorosg.Callbackosg.CallbackObjectosg.Cameraosg.CameraRenderOrderSortOposg.CameraViewosg.Capabilityosg.Capabilityiosg.Capsuleosg.CastAndScaleToFloatOperationosg.ClampColorosg.ClampedLinearCostFunction1Dosg.ClearNodeosg.ClipControlosg.ClipNodeosg.ClipPlaneosg.ClusterCullingCallbackosg.CollectOccludersVisitorosg.ColorMaskosg.ColorMaskiosg.ColorMatrixosg.CompositeShapeosg.ComputeBoundsVisitorosg.Coneosg.ConfigureBufferObjectsVisitorosg.ConstArrayVisitorosg.ConstAttributeFunctorArrayVisitorosg.ConstShapeVisitorosg.ConstValueVisitorosg.ContextDataosg.ConvexHullosg.ConvexPlanarOccluderosg.ConvexPlanarPolygonosg.CoordinateSystemNodeosg.CopyOposg.CullFaceosg.CullingSetosg.CullSettingsosg.CullStackosg.Cylinderosg.DefaultIndirectCommandDrawArraysosg.DefaultIndirectCommandDrawElementsosg.DefaultUserDataContainerosg.DeleteHandlerosg.depends_onosg.Depthosg.DepthRangeIndexedosg.Disableiosg.DispatchComputeosg.DisplaySettingsosg.Drawableosg.DrawableCullCallbackosg.DrawableEventCallbackosg.DrawableUpdateCallbackosg.DrawArrayLengthsosg.DrawArraysosg.DrawArraysIndirectosg.DrawArraysIndirectCommandosg.DrawElementsosg.DrawElementsIndirectosg.DrawElementsIndirectCommandosg.DrawElementsIndirectUByteosg.DrawElementsIndirectUIntosg.DrawElementsIndirectUShortosg.DrawElementsUByteosg.DrawElementsUIntosg.DrawElementsUShortosg.DrawIndirectBufferObjectosg.DrawPixelsosg.DummyObjectosg.ElapsedTimeosg.ElementBufferObjectosg.EllipsoidModelosg.Enableiosg.EndOfDynamicDrawBlockosg.fast_back_stackosg.FlushDeletedGLObjectsOperationosg.Fogosg.FragmentProgramosg.FrameBufferAttachmentosg.FrameBufferObjectosg.FrameStamposg.FrontFaceosg.Geodeosg.Geometryosg.GeometryCostEstimatorosg.GetScalarValueosg.GLBufferObjectosg.GLBufferObjectManagerosg.GLBufferObjectSetosg.GLExtensionsosg.GLFrameBufferObjectManagerosg.GLObjectManagerosg.GLRenderBufferManagerosg.GraphicsContextosg.GraphicsCostEstimatorosg.GraphicsObjectosg.GraphicsObjectManagerosg.GraphicsOperationosg.GraphicsThreadosg.Grouposg.HeightFieldosg.Hintosg.Identifierosg.Imageosg.ImageSequenceosg.ImageStreamosg.IndexArrayosg.IndirectCommandDrawArraysosg.IndirectCommandDrawElementsosg.InfinitePlaneosg.KdTreeosg.KdTreeBuilderosg.Lightosg.LightModelosg.LightSourceosg.LineSegmentosg.LineStippleosg.LineWidthosg.LODosg.LogicOposg.MakeStringosg.Materialosg.Matrix2Templateosg.Matrix2x3Templateosg.Matrix2x4Templateosg.Matrix3Templateosg.Matrix3x2Templateosg.Matrix3x4Templateosg.Matrix4x2Templateosg.Matrix4x3Templateosg.Matrixdosg.Matrixfosg.MatrixTransformosg.MixinVectorosg.MultiDrawArraysosg.MultiDrawArraysIndirectosg.MultiDrawElementsIndirectUByteosg.MultiDrawElementsIndirectUIntosg.MultiDrawElementsIndirectUShortosg.Multisampleosg.Nodeosg.NodeAcceptOposg.NodeCallbackosg.NodeTrackerCallbackosg.NodeVisitorosg.NotifyHandlerosg.Objectosg.Observerosg.observer_ptrosg.ObserverNodePathosg.ObserverSetosg.OccluderNodeosg.OcclusionQueryNodeosg.Operationosg.OperationQueueosg.OperationThreadosg.PagedLODosg.PatchParameterosg.PixelBufferObjectosg.PixelDataBufferObjectosg.PixelStorageModesosg.Planeosg.Pointosg.PointSpriteosg.PolygonModeosg.PolygonOffsetosg.PolygonStippleosg.Polytopeosg.PositionAttitudeTransformosg.PrimitiveFunctorosg.PrimitiveIndexFunctorosg.PrimitiveRestartIndexosg.PrimitiveSetosg.Programosg.ProgramCostEstimatorosg.Projectionosg.ProxyNodeosg.PushPopObjectosg.PushPopValueosg.Quatosg.QueryGeometryosg.ref_ptrosg.RefBlockosg.RefBlockCountosg.Referencedosg.RefMatrixdosg.RefMatrixfosg.ReleaseContext_Block_MakeCurrentOperationosg.RenderBufferosg.RenderInfoosg.RunOperationsosg.SampleMaskiosg.Samplerosg.Scissorosg.ScissorIndexedosg.Scriptosg.ScriptEngineosg.ScriptNodeCallbackosg.Sequenceosg.SetScalarValueosg.ShadeModelosg.Shaderosg.ShaderAttributeosg.ShaderBinaryosg.ShaderComponentosg.ShaderComposerosg.ShaderPragmasosg.ShaderStorageBufferBindingosg.ShaderStorageBufferObjectosg.ShadowVolumeOccluderosg.Shapeosg.ShapeDrawableosg.ShapeVisitorosg.Sphereosg.StandardNotifyHandlerosg.Stateosg.StateAttributeosg.StateAttributeCallbackosg.StateSetosg.Statsosg.Stencilosg.StencilTwoSidedosg.SwapBuffersOperationosg.Switchosg.SyncSwapBuffersCallbackosg.TemplateArrayosg.TemplateArrayUniformosg.TemplateIndexArrayosg.TemplateMatrixosg.TemplatePrimitiveFunctorosg.TemplatePrimitiveIndexFunctorosg.TemplateUniformosg.TemplateValueObjectosg.TessellationHintsosg.TestResultosg.TexEnvosg.TexEnvCombineosg.TexEnvFilterosg.TexGenosg.TexGenNodeosg.TexMatosg.Textureosg.Texture1Dosg.Texture2Dosg.Texture2DArrayosg.Texture2DMultisampleosg.Texture3Dosg.TextureAttributeosg.TextureBufferosg.TextureCostEstimatorosg.TextureCubeMaposg.TextureObjectManagerosg.TextureObjectSetosg.TextureRectangleosg.Timerosg.TransferFunctionosg.TransferFunction1Dosg.Transformosg.TransformFeedbackBufferBindingosg.TriangleFunctorosg.TriangleIndexFunctorosg.TriangleLinePointIndexFunctorosg.TriangleMeshosg.UniformBaseosg.UniformBufferBindingosg.UniformBufferObjectosg.UniformCallbackosg.UniformClassNameTraitosg.UserDataContainerosg.ValueMaposg.ValueObjectosg.ValueObjectClassNameTraitosg.ValueStackosg.ValueVisitorosg.Vec2bosg.Vec2dosg.Vec2fosg.Vec2iosg.Vec2sosg.Vec2ubosg.Vec2uiosg.Vec2usosg.Vec3bosg.Vec3dosg.Vec3fosg.Vec3iosg.Vec3sosg.Vec3ubosg.Vec3uiosg.Vec3usosg.Vec4bosg.Vec4dosg.Vec4fosg.Vec4iosg.Vec4sosg.Vec4ubosg.Vec4uiosg.Vec4usosg.VertexArrayStateosg.VertexArrayStateListosg.VertexAttribAliasosg.VertexAttribDivisorosg.VertexBufferObjectosg.VertexProgramosg.Viewosg.Viewportosg.ViewportIndexedosg.WindowingSystemInterfaceProxyosgAnimation.ActionosgAnimation.ActionAnimationosgAnimation.ActionBlendInosgAnimation.ActionBlendOutosgAnimation.ActionStripAnimationosgAnimation.ActionVisitorosgAnimation.AnimationosgAnimation.AnimationManagerBaseosgAnimation.AnimationUpdateCallbackosgAnimation.AnimationUpdateCallbackBaseosgAnimation.BasicAnimationManagerosgAnimation.BoneosgAnimation.BoneMapVisitorosgAnimation.ChannelosgAnimation.ClearActionVisitorosgAnimation.CompositeMotionosgAnimation.InBackFunctionosgAnimation.InBounceFunctionosgAnimation.InCircFunctionosgAnimation.InCubicFunctionosgAnimation.InElasticFunctionosgAnimation.InExpoFunctionosgAnimation.InOutBackFunctionosgAnimation.InOutBounceFunctionosgAnimation.InOutCircFunctionosgAnimation.InOutCubicFunctionosgAnimation.InOutElasticFunctionosgAnimation.InOutExpoFunctionosgAnimation.InOutQuadFunctionosgAnimation.InOutQuartFunctionosgAnimation.InOutSineFunctionosgAnimation.InQuadFunctionosgAnimation.InQuartFunctionosgAnimation.InSineFunctionosgAnimation.KeyframeosgAnimation.KeyframeContainerosgAnimation.LinearFunctionosgAnimation.LinkVisitorosgAnimation.MathMotionTemplateosgAnimation.MorphGeometryosgAnimation.MorphTransformosgAnimation.MorphTransformHardwareosgAnimation.MorphTransformSoftwareosgAnimation.MotionosgAnimation.OutBackFunctionosgAnimation.OutBounceFunctionosgAnimation.OutCircFunctionosgAnimation.OutCubicFunctionosgAnimation.OutElasticFunctionosgAnimation.OutExpoFunctionosgAnimation.OutQuadFunctionosgAnimation.OutQuartFunctionosgAnimation.OutSineFunctionosgAnimation.RigComputeBoundingBoxCallbackosgAnimation.RigGeometryosgAnimation.RigTransformosgAnimation.RigTransformHardwareosgAnimation.RigTransformSoftwareosgAnimation.RunActionosgAnimation.SamplerosgAnimation.SamplerMotionTemplateosgAnimation.SkeletonosgAnimation.StackedMatrixElementosgAnimation.StackedQuaternionElementosgAnimation.StackedRotateAxisElementosgAnimation.StackedScaleElementosgAnimation.StackedTransformosgAnimation.StackedTransformElementosgAnimation.StackedTranslateElementosgAnimation.StatsActionVisitorosgAnimation.StatsHandlerosgAnimation.TargetosgAnimation.TemplateChannelosgAnimation.TemplateCompositeSamplerosgAnimation.TemplateCubicBezierosgAnimation.TemplateCubicBezierInterpolatorosgAnimation.TemplateInterpolatorBaseosgAnimation.TemplateKeyframeosgAnimation.TemplateKeyframeContainerosgAnimation.TemplateLinearInterpolatorosgAnimation.TemplateLinearPackedInterpolatorosgAnimation.TemplateSamplerosgAnimation.TemplateSphericalLinearInterpolatorosgAnimation.TemplateStepInterpolatorosgAnimation.TemplateTargetosgAnimation.TimelineosgAnimation.TimelineAnimationManagerosgAnimation.UpdateActionVisitorosgAnimation.UpdateBoneosgAnimation.UpdateFloatUniformosgAnimation.UpdateMaterialosgAnimation.UpdateMatrixfUniformosgAnimation.UpdateMatrixTransformosgAnimation.UpdateMorphosgAnimation.UpdateMorphGeometryosgAnimation.UpdateRigGeometryosgAnimation.UpdateUniformosgAnimation.UpdateVec2fUniformosgAnimation.UpdateVec3fUniformosgAnimation.UpdateVec4fUniformosgAnimation.Vec3ArrayPackedosgAnimation.Vec3PackedosgAnimation.VertexInfluenceosgAnimation.VertexInfluenceMaposgDB.ArchiveosgDB.AuthenticationDetailsosgDB.AuthenticationMaposgDB.base64_decodestateosgDB.base64_encodestateosgDB.Base64decoderosgDB.Base64encoderosgDB.BaseCompressorosgDB.BaseSerializerosgDB.basic_type_wrapperosgDB.BitFlagsSerializerosgDB.ClassInterfaceosgDB.DatabasePagerosgDB.DatabaseRevisionosgDB.DatabaseRevisionsosgDB.DeprecatedDotOsgWrapperManagerosgDB.DotOsgWrapperosgDB.DynamicLibraryosgDB.EnumSerializerosgDB.ExternalFileWriterosgDB.FieldosgDB.FieldReaderosgDB.FieldReaderIteratorosgDB.FileCacheosgDB.FileListosgDB.FileLocationCallbackosgDB.FileNameComparatorosgDB.FindFileCallbackosgDB.FinishedObjectReadCallbackosgDB.GLenumSerializerosgDB.ifstreamosgDB.ImageOptionsosgDB.ImagePagerosgDB.ImageProcessorosgDB.ImageSerializerosgDB.InputosgDB.InputExceptionosgDB.InputIteratorosgDB.InputStreamosgDB.IntLookuposgDB.IsAVectorSerializerosgDB.ListSerializerosgDB.MapBaseSerializerosgDB.MapIteratorObjectosgDB.MapSerializerosgDB.MatrixSerializerosgDB.MethodObjectosgDB.ObjectCacheosgDB.ObjectGLenumosgDB.ObjectMarkosgDB.ObjectPropertyosgDB.ObjectSerializerosgDB.ObjectWrapperosgDB.ObjectWrapperAssociateosgDB.ObjectWrapperManagerosgDB.ofstreamosgDB.OptionsosgDB.OutputosgDB.OutputExceptionosgDB.OutputIteratorosgDB.OutputStreamosgDB.ParameterOutputosgDB.PluginFunctionProxyosgDB.PropByRefSerializerosgDB.PropByValSerializerosgDB.ReaderWriterosgDB.ReaderWriterInfoosgDB.ReadFileCallbackosgDB.RegisterCompressorProxyosgDB.RegisterCustomWrapperProxyosgDB.RegisterDotOsgWrapperProxyosgDB.RegisterImageProcessorProxyosgDB.RegisterReaderWriterProxyosgDB.RegisterWrapperProxyosgDB.RegistryosgDB.SharedStateManagerosgDB.StringSerializerosgDB.TemplateRegisterDotOsgWrapperProxyosgDB.TemplateSerializerosgDB.type_wrapperosgDB.UpdateWrapperVersionProxyosgDB.UserLookupTableProxyosgDB.UserSerializerosgDB.VectorBaseSerializerosgDB.VectorSerializerosgDB.WriteFileCallbackosgDB.XmlNodeosgFX.AnisotropicLightingosgFX.BumpMappingosgFX.CartoonosgFX.EffectosgFX.MultiTextureControlosgFX.OutlineosgFX.RegistryosgFX.ScribeosgFX.SpecularHighlightsosgFX.TechniqueosgFX.ValidatorosgGA.AnimationPathManipulatorosgGA.CameraManipulatorosgGA.CameraViewSwitchManipulatorosgGA.DeviceosgGA.DriveManipulatorosgGA.EventosgGA.EventHandlerosgGA.EventQueueosgGA.EventVisitorosgGA.FirstPersonManipulatorosgGA.FlightManipulatorosgGA.GUIActionAdapterosgGA.GUIEventAdapterosgGA.GUIEventHandlerosgGA.KeySwitchMatrixManipulatorosgGA.MultiTouchTrackballManipulatorosgGA.NodeTrackerManipulatorosgGA.OrbitManipulatorosgGA.PointerDataosgGA.SphericalManipulatorosgGA.StandardManipulatorosgGA.StateSetManipulatorosgGA.TerrainManipulatorosgGA.TrackballManipulatorosgGA.UFOManipulatorosgGA.WidgetosgManipulator.AntiSquishosgManipulator.CommandManagerosgManipulator.CompositeDraggerosgManipulator.ConstraintosgManipulator.CylinderPlaneProjectorosgManipulator.CylinderProjectorosgManipulator.DraggerosgManipulator.DraggerCallbackosgManipulator.DraggerTransformCallbackosgManipulator.GridConstraintosgManipulator.LineProjectorosgManipulator.MotionCommandosgManipulator.PlaneProjectorosgManipulator.PointerInfoosgManipulator.ProjectorosgManipulator.Rotate3DCommandosgManipulator.RotateCylinderDraggerosgManipulator.RotateSphereDraggerosgManipulator.Scale1DCommandosgManipulator.Scale1DDraggerosgManipulator.Scale2DCommandosgManipulator.Scale2DDraggerosgManipulator.ScaleAxisDraggerosgManipulator.ScaleUniformCommandosgManipulator.SpherePlaneProjectorosgManipulator.SphereProjectorosgManipulator.TabBoxDraggerosgManipulator.TabBoxTrackballDraggerosgManipulator.TabPlaneDraggerosgManipulator.TabPlaneTrackballDraggerosgManipulator.TrackballDraggerosgManipulator.Translate1DDraggerosgManipulator.Translate2DDraggerosgManipulator.TranslateAxisDraggerosgManipulator.TranslateInLineCommandosgManipulator.TranslateInPlaneCommandosgManipulator.TranslatePlaneDraggerosgParticle.AccelOperatorosgParticle.AngularAccelOperatorosgParticle.AngularDampingOperatorosgParticle.BounceOperatorosgParticle.BoxPlacerosgParticle.CenteredPlacerosgParticle.CompositePlacerosgParticle.ConnectedParticleSystemosgParticle.ConstantRateCounterosgParticle.CounterosgParticle.DampingOperatorosgParticle.DomainOperatorosgParticle.EmitterosgParticle.ExplosionDebrisEffectosgParticle.ExplosionEffectosgParticle.ExplosionOperatorosgParticle.FireEffectosgParticle.FluidFrictionOperatorosgParticle.FluidProgramosgParticle.ForceOperatorosgParticle.InterpolatorosgParticle.LinearInterpolatorosgParticle.ModularEmitterosgParticle.ModularProgramosgParticle.MultiSegmentPlacerosgParticle.OperatorosgParticle.OrbitOperatorosgParticle.ParticleosgParticle.ParticleEffectosgParticle.ParticleProcessorosgParticle.ParticleSystemosgParticle.ParticleSystemUpdaterosgParticle.PlacerosgParticle.PointPlacerosgParticle.PrecipitationEffectosgParticle.ProgramosgParticle.RadialShooterosgParticle.RandomRateCounterosgParticle.rangeosgParticle.SectorPlacerosgParticle.SegmentPlacerosgParticle.ShooterosgParticle.SinkOperatorosgParticle.SmokeEffectosgParticle.SmokeTrailEffectosgParticle.VariableRateCounterosgPresentation.ActiveOperatorsosgPresentation.AnimationMaterialosgPresentation.AnimationMaterialCallbackosgPresentation.CompileSlideCallbackosgPresentation.CursorosgPresentation.dereference_lessosgPresentation.FilePathDataosgPresentation.HomePositionosgPresentation.HUDSettingsosgPresentation.HUDTransformosgPresentation.ImageSequenceUpdateCallbackosgPresentation.JumpDataosgPresentation.KeyEventHandlerosgPresentation.KeyPositionosgPresentation.LayerAttributesosgPresentation.LayerCallbackosgPresentation.ObjectOperatorosgPresentation.PickEventHandlerosgPresentation.PropertyAnimationosgPresentation.PropertyEventCallbackosgPresentation.PropertyManagerosgPresentation.PropertyReaderosgPresentation.SlideEventHandlerosgPresentation.SlideShowConstructorosgPresentation.TimeoutosgShadow.ConvexPolyhedronosgShadow.DebugShadowMaposgShadow.LightSpacePerspectiveShadowMapAlgorithmosgShadow.LightSpacePerspectiveShadowMapCBosgShadow.LightSpacePerspectiveShadowMapDBosgShadow.LightSpacePerspectiveShadowMapVBosgShadow.MinimalCullBoundsShadowMaposgShadow.MinimalDrawBoundsShadowMaposgShadow.MinimalShadowMaposgShadow.ParallelSplitShadowMaposgShadow.ProjectionShadowMaposgShadow.ShadowedSceneosgShadow.ShadowMaposgShadow.ShadowSettingsosgShadow.ShadowTechniqueosgShadow.ShadowTextureosgShadow.SoftShadowMaposgShadow.StandardShadowMaposgShadow.ViewDependentShadowMaposgShadow.ViewDependentShadowTechniqueosgSim.AzimElevationSectorosgSim.AzimRangeosgSim.AzimSectorosgSim.BlinkSequenceosgSim.ColorRangeosgSim.ConeSectorosgSim.DatabaseCacheReadCallbackosgSim.DirectionalSectorosgSim.DOFTransformosgSim.ElevationRangeosgSim.ElevationSectorosgSim.ElevationSliceosgSim.GeographicLocationosgSim.HeightAboveTerrainosgSim.ImpostorosgSim.ImpostorSpriteosgSim.ImpostorSpriteManagerosgSim.InsertImpostorsVisitorosgSim.LightPointosgSim.LightPointNodeosgSim.LightPointSystemosgSim.LineOfSightosgSim.MultiSwitchosgSim.ObjectRecordDataosgSim.OverlayNodeosgSim.ScalarBarosgSim.ScalarsToColorsosgSim.SectorosgSim.SequenceGrouposgSim.ShapeAttributeosgSim.ShapeAttributeListosgSim.SphereSegmentosgSim.VisibilityGrouposgTerrain.CompositeLayerosgTerrain.ContourLayerosgTerrain.DisplacementMappingTechniqueosgTerrain.GeometryPoolosgTerrain.GeometryTechniqueosgTerrain.HeightFieldDrawableosgTerrain.HeightFieldLayerosgTerrain.ImageLayerosgTerrain.LayerosgTerrain.LocatorosgTerrain.NoDataValueosgTerrain.ProxyLayerosgTerrain.SharedGeometryosgTerrain.SwitchLayerosgTerrain.TerrainosgTerrain.TerrainNeighboursosgTerrain.TerrainTechniqueosgTerrain.TerrainTileosgTerrain.TileIDosgTerrain.ValidDataOperatorosgTerrain.ValidRangeosgTerrain.WhiteListTileLoadedCallbackosgText.BevelosgText.FadeTextosgText.FontosgText.GlyphosgText.Glyph3DosgText.GlyphGeometryosgText.GlyphTextureosgText.StringosgText.StyleosgText.TextosgText.Text3DosgText.TextBaseosgText.VectorUIntosgUI.AlignmentSettingsosgUI.CloseCallbackosgUI.ColorPaletteosgUI.ComboBoxosgUI.DialogosgUI.DoubleValidatorosgUI.DragCallbackosgUI.FrameSettingsosgUI.HandleCallbackosgUI.IntValidatorosgUI.ItemosgUI.LabelosgUI.LineEditosgUI.PopuposgUI.PushButtonosgUI.StyleosgUI.TabosgUI.TabWidgetosgUI.TextSettingsosgUI.ValidatorosgUI.WidgetosgUtil.AddRangeOperatorosgUtil.BaseOptimizerVisitorosgUtil.ConvertVecosgUtil.CubeMapGeneratorosgUtil.CullVisitorosgUtil.DelaunayConstraintosgUtil.DelaunayTriangulatorosgUtil.dereference_clearosgUtil.dereference_lessosgUtil.DisplayRequirementsVisitorosgUtil.DrawElementTypeSimplifierosgUtil.DrawElementTypeSimplifierVisitorosgUtil.EdgeCollectorosgUtil.GeometryCollectorosgUtil.GLObjectsOperationosgUtil.GLObjectsVisitorosgUtil.HalfWayMapGeneratorosgUtil.HighlightMapGeneratorosgUtil.IncrementalCompileOperationosgUtil.IndexMeshVisitorosgUtil.IntersectionVisitorosgUtil.IntersectorosgUtil.IntersectorGrouposgUtil.LessDepthSortFunctorosgUtil.LineSegmentIntersectorosgUtil.MultiplyRangeOperatorosgUtil.OperationArrayFunctorosgUtil.OptimizerosgUtil.PerlinNoiseosgUtil.PlaneIntersectorosgUtil.PolytopeIntersectorosgUtil.PositionalStateContainerosgUtil.PrintVisitorosgUtil.RayIntersectorosgUtil.ReflectionMapGeneratorosgUtil.RenderBinosgUtil.RenderLeafosgUtil.RenderStageosgUtil.ReversePrimitiveFunctorosgUtil.SceneGraphBuilderosgUtil.SceneViewosgUtil.ShaderGenVisitorosgUtil.SharedArrayOptimizerosgUtil.SimplifierosgUtil.SmoothingVisitorosgUtil.StateGraphosgUtil.StateToCompileosgUtil.StatisticsosgUtil.StatsVisitorosgUtil.TangentSpaceGeneratorosgUtil.TessellatorosgUtil.TransformAttributeFunctorosgUtil.TransformCallbackosgUtil.UpdateVisitorosgUtil.VertexAccessOrderVisitorosgUtil.VertexCacheMissVisitorosgUtil.VertexCacheVisitorosgViewer.WGLosgViewer.AcrossAllScreensosgViewer.CompositeViewerosgViewer.DepthPartitionSettingsosgViewer.GraphicsHandleCarbonosgViewer.GraphicsHandleCocoaosgViewer.GraphicsHandleWin32osgViewer.GraphicsHandleX11osgViewer.GraphicsWindowosgViewer.GraphicsWindowEmbeddedosgViewer.GraphicsWindowFunctionProxyosgViewer.GraphicsWindowWin32osgViewer.GraphicsWindowX11osgViewer.HelpHandlerosgViewer.InteractiveImageHandlerosgViewer.KeystoneosgViewer.KeystoneHandlerosgViewer.LODScaleHandlerosgViewer.OpenGLQuerySupportosgViewer.PanoramicSphericalDisplayosgViewer.PixelBufferWin32osgViewer.PixelBufferX11osgViewer.RecordCameraPathHandlerosgViewer.RendererosgViewer.SceneosgViewer.ScreenCaptureHandlerosgViewer.SingleScreenosgViewer.SingleWindowosgViewer.SphericalDisplayosgViewer.StatsHandlerosgViewer.ThreadingHandlerosgViewer.ToggleSyncToVBlankHandlerosgViewer.ViewosgViewer.ViewConfigosgViewer.ViewerosgViewer.ViewerBaseosgViewer.WindowSizeHandlerosgViewer.WoWVxDisplayosgViewer.XGLAttributesosgVolume.AlphaFuncPropertyosgVolume.CollectPropertiesVisitorosgVolume.CompositeLayerosgVolume.CompositePropertyosgVolume.ExteriorTransparencyFactorPropertyosgVolume.FixedFunctionTechniqueosgVolume.ImageDetailsosgVolume.ImageLayerosgVolume.IsoSurfacePropertyosgVolume.LayerosgVolume.LightingPropertyosgVolume.LocatorosgVolume.MaximumIntensityProjectionPropertyosgVolume.MultipassTechniqueosgVolume.PropertyosgVolume.PropertyAdjustmentCallbackosgVolume.PropertyVisitorosgVolume.RayTracedTechniqueosgVolume.SampleDensityPropertyosgVolume.SampleDensityWhenMovingPropertyosgVolume.SampleRatioPropertyosgVolume.SampleRatioWhenMovingPropertyosgVolume.ScalarPropertyosgVolume.SwitchPropertyosgVolume.TexGenLocatorCallbackosgVolume.TileDataosgVolume.TileIDosgVolume.TransferFunctionPropertyosgVolume.TransformLocatorCallbackosgVolume.TransparencyPropertyosgVolume.VolumeosgVolume.VolumeSceneosgVolume.VolumeSettingsosgVolume.VolumeTechniqueosgVolume.VolumeTileosgWidget.BoxosgWidget.BrowserosgWidget.BrowserImageosgWidget.BrowserManagerosgWidget.CallbackosgWidget.CallbackInterfaceosgWidget.CameraSwitchHandlerosgWidget.CanvasosgWidget.EventosgWidget.EventInterfaceosgWidget.FrameosgWidget.FunctionCallbackosgWidget.GeometryHintsosgWidget.InputosgWidget.KeyboardHandlerosgWidget.LabelosgWidget.LuaEngineosgWidget.MouseHandlerosgWidget.NotifyWidgetosgWidget.NullWidgetosgWidget.ObjectCallbackosgWidget.PdfImageosgWidget.PdfReaderosgWidget.PythonEngineosgWidget.ResizeHandlerosgWidget.ScriptEngineosgWidget.StyleosgWidget.StyleInterfaceosgWidget.StyleManagerosgWidget.TableosgWidget.UIObjectParentosgWidget.VncClientosgWidget.VncImageosgWidget.WidgetosgWidget.WindowosgWidget.WindowManagerOpenThreads.AffinityOpenThreads.AtomicOpenThreads.AtomicPtrOpenThreads.BarrierOpenThreads.BlockOpenThreads.BlockCountOpenThreads.ConditionOpenThreads.MutexOpenThreads.ReadWriteMutexOpenThreads.ReentrantMutexOpenThreads.ReverseScopedLockOpenThreads.ReverseScopedPointerLockOpenThreads.ScopedLockOpenThreads.ScopedPointerLockOpenThreads.ScopedReadLockOpenThreads.ScopedWriteLockOpenThreads.Thread

osgVolume.MultipassTechnique

osgVolume.MultipassTechnique 是OpenSceneGraph中一个用于体积渲染的多通道技术,它允许用户以自定义的方式组合多个体积渲染通道,从而获得更加灵活的渲染效果。

简介

osgVolume.MultipassTechnique 实现了在多个通道之间无缝切换的渲染技术,从而使得渲染过程更加灵活。使用该技术,用户可以在不同的通道中实现不同的体积渲染效果,例如投影、光照、反射等,从而组合出更加生动逼真的渲染效果。

使用方法

用户可以通过如下几个步骤使用osgVolume.MultipassTechnique

  1. 创建 osgVolume.MultipassTechnique 对象。

    osg::ref_ptr<osgVolume::MultipassTechnique> mpt = new osgVolume::MultipassTechnique;
    
  2. 添加体积渲染通道。

    // 添加第一个通道
    osg::ref_ptr<osgVolume::RenderStage> rs1 = new osgVolume::RenderStage;
    mpt->addRenderStage(rs1.get());
    
    // 添加第二个通道
    osg::ref_ptr<osgVolume::RenderStage> rs2 = new osgVolume::RenderStage;
    mpt->addRenderStage(rs2.get());
    
  3. 设置当前渲染通道。

    // 设置渲染第一个通道
    mpt->setCurrentRenderStage(rs1.get());
    
    // 渲染第一个通道
    mpt->render(sceneGraph.get(), camera.get());
    
    // 设置渲染第二个通道
    mpt->setCurrentRenderStage(rs2.get());
    
    // 渲染第二个通道
    mpt->render(sceneGraph.get(), camera.get());
    
  4. 在渲染通道中添加渲染节点。

    // 添加渲染节点到第一个通道中
    rs1->addChild(volumeNode.get());
    
    // 添加渲染节点到第二个通道中
    rs2->addChild(volumeNode.get());
    
  5. 修改通道中的属性参数。

    // 修改第一个通道中的属性参数
    rs1->getVolumeShader()->setGradientMagnitude(0.1f);
    
    // 修改第二个通道中的属性参数
    rs2->getVolumeShader()->setLightingEnabled(true);
    rs2->getVolumeShader()->setLightAttenuation(osg::Vec3(0.1f, 0.2f, 0.3f));
    

属性设置

osgVolume.MultipassTechnique 中可以设置的属性包括:

属性 类型 描述
currentRenderStage osg::ref_ptr<RenderStage> 当前渲染通道。
renderStages std::vector<RenderStage*> 渲染通道列表。
renderResolution osg::Vec2s 渲染分辨率。
clearColor osg::Vec4 渲染背景色。

osgVolume.RenderStage 中可以设置的属性包括:

属性 类型 描述
child osg::ref_ptr<osg::Node> 渲染节点。
active bool 是否启用该渲染通道。
cullMask unsigned int 剔除掩码。
preCullCallback osg::ref_ptr<osg::Camera::DrawCallback> 在剔除之前进行的回调函数。
volumeShader osg::ref_ptr<osgVolume::Shader> 体积渲染着色器。
textureSize osg::Vec3s 渲染纹理尺寸。
textureFormat GLenum 渲染纹理格式。
fboAttachment GLenum FBO附加点。

osgVolume.Shader 中可以设置的属性包括:

属性 类型 描述
lightAttenuation osg::Vec3 光照衰减系数。
lightingEnabled bool 是否启用光照。
transferFunction osg::ref_ptr<osg::TransferFunction> 应用于体积的转换函数。
gradientMagnitude float 梯度幅度。
opacityModulation osg::Vec2 不透明度调制参数。
useTextureAtlasOffsets bool 是否使用支持纹理偏移的纹理。
useTransferFunction bool 是否应用转换函数。
supportDynamicTextureUpdates bool 是否支持动态纹理更新。

示例代码

以下示例代码演示了如何使用osgVolume.MultipassTechnique绘制一个立方体体积。

#include <osg/Geometry>
#include <osg/PositionAttitudeTransform>
#include <osg/Texture3D>
#include <osg/TransferFunction>
#include <osg/TransferFunction1D>
#include <osg/TransferFunction2D>
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
#include <osgVolume/MultipassTechnique>

int main()
{
    // 1. 创建体积纹理
    osg::ref_ptr<osg::Texture3D> texture = new osg::Texture3D;
    osg::ref_ptr<osg::Image> image = osgDB::readImageFile("lz.osgb");
    texture->setImage(image.get());
    texture->setWrap(osg::Texture3D::WRAP_S, osg::Texture3D::CLAMP_TO_BORDER);
    texture->setWrap(osg::Texture3D::WRAP_T, osg::Texture3D::CLAMP_TO_BORDER);
    texture->setWrap(osg::Texture3D::WRAP_R, osg::Texture3D::CLAMP_TO_BORDER);

    // 2. 创建转换函数
    osg::ref_ptr<osg::TransferFunction1D> tf1D = new osg::TransferFunction1D;
    tf1D->setColor(0.1, 0.5, 0.8);
    tf1D->setColor(0.7, 1.0, 1.0);
    osg::ref_ptr<osg::TransferFunction2D> tf2D = new osg::TransferFunction2D;
    tf2D->setAlpha(0.0, 0.0);
    tf2D->setAlpha(0.3, 0.3);
    tf2D->setAlpha(0.7, 0.8);
    osg::ref_ptr<osg::TransferFunction> tf = new osg::TransferFunction;
    tf->setFunction1D(tf1D.get());
    tf->setFunction2D(tf2D.get());

    // 3. 创建体积节点
    osg::ref_ptr<osgVolume::Volume> volume = new osgVolume::Volume;
    volume->setTexture(texture.get());
    volume->setTransferFunction(tf.get());
    volume->setUseShader(true);

    // 4. 创建渲染节点
    osg::ref_ptr<osg::Geode> geode = new osg::Geode;
    osg::ref_ptr<osg::Geometry> geometry = osg::createTexturedQuadGeometry(osg::Vec3(0, 0, 0), osg::Vec3(500, 0, 0), osg::Vec3(0, 500, 0), 0, 0, 2, 2);
    geode->addDrawable(geometry.get());

    // 5. 创建场景图
    osg::ref_ptr<osg::Group> root = new osg::Group;
    root->addChild(volume.get());
    root->addChild(geode.get());

    // 6. 创建摄像机
    osg::ref_ptr<osg::Camera> camera = new osg::Camera;
    camera->setClearColor(osg::Vec4(0.1, 0.1, 0.1, 1.0));
    camera->setProjectionMatrixAsPerspective(60.0, 1.0, 1.0, 100.0);
    camera->setViewMatrixAsLookAt(osg::Vec3(25.0, -25.0, 25.0), osg::Vec3(0.0, 0.0, 0.0), osg::Vec3(0.0, 0.0, 1.0));

    // 7. 创建多通道渲染器
    osg::ref_ptr<osgVolume::MultipassTechnique> mpt = new osgVolume::MultipassTechnique;
    osg::ref_ptr<osgVolume::RenderStage> rs1 = new osgVolume::RenderStage;
    osg::ref_ptr<osgVolume::RenderStage> rs2 = new osgVolume::RenderStage;
    rs1->addChild(volume.get());
    rs2->addChild(volume.get());
    rs1->getVolumeShader()->setTransferFunction(tf.get());
    rs1->getVolumeShader()->setGradientMagnitude(0.2);
    rs2->getVolumeShader()->setTransferFunction(tf.get());
    rs2->getVolumeShader()->setLightingEnabled(true);
    rs2->getVolumeShader()->setLightAttenuation(osg::Vec3(0.1, 0.1, 0.1));
    geode->getOrCreateStateSet()->setTextureAttributeAndModes(0, mpt->getOutputTexture(), osg::StateAttribute::ON);

    mpt->addRenderStage(rs1.get());
    mpt->addRenderStage(rs2.get());
    mpt->setCurrentRenderStage(rs1.get());

    // 8. 将场景图设置到摄像机中并启动渲染循环
    camera->addChild(root.get());
    osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer;
    viewer->setCamera(camera.get());
    viewer->setSceneData(root.get());
    viewer->realize();
    while (!viewer->done())
    {
        mpt->setCurrentRenderStage(rs1.get());
        mpt->render(root.get(), camera.get());
        mpt->setCurrentRenderStage(rs2.get());
        mpt->render(root.get(), camera.get());
        viewer->frame();
    }
}

参考资料

  1. OpenSceneGraph官方文档