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

osgParticle.FluidProgram

osgParticle.FluidProgram是OpenSceneGraph中的一个粒子系统,用于表示类似流体的效果。通过这个程序可以以程序化的方式计算出粒子的运动和外观,具有灵活性和高度的可控性。本文档将介绍osgParticle.FluidProgram的一些基本概念和使用方法。

概述

osgParticle.FluidProgram是OpenSceneGraph中的一个节点类。它是osgParticle程序库中的一个组成部分,用于实现流体效果的计算与渲染。其实现可以分为以下几个步骤:

  • 创建粒子系统:根据粒子的种类和数量等参数,在场景中创建一个粒子系统。
  • 初始化粒子状态:设置粒子的初始位置、速度、颜色等信息,随机生成或根据固定规则生成粒子。
  • 粒子运动模拟:根据流体效果的计算公式,在每一帧中更新粒子的位置、速度、加速度等信息,模拟粒子在流体中的行为。
  • 粒子渲染:根据粒子的位置、颜色等信息,将粒子渲染到屏幕上。

osgParticle.FluidProgram提供了许多可以定制的参数,可以用于控制粒子的模拟和渲染效果。

创建粒子系统

使用osgParticle.FluidProgram创建粒子系统需要先创建一个Program。一个粒子系统都需要一个Program,可以使用osgParticle.createFluidProgram函数来创建一个FluidProgram。

const emitter =  new osgParticle.Emitter();
// emitter.setColorRange(new osg.Vec4(0.7,0.3,0.3,1.0), new osg.Vec4(1.0,0.5,0.5,1.0));
emitter.setLifeTime(5.0);
emitter.setStartSizeRange(20, 1);
emitter.setEndSizeRange(5, 1);
emitter.setParticleAlignment(osgParticle.Constant);
emitter.setEmissionRange(20, 30);
emitter.setRateRange(100, 1000);

const center = new osg.Vec3(0,0,0);

const fluidProgram = osgParticle.createFluidProgram(emitter,center);

在创建FluidProgram的过程中,需要传入两个参数:Emitter和Center。Emitter是粒子的发射器,用于控制粒子的数量、速度、位置等信息。Center表示粒子系统的中心点,用于控制粒子的扩散方向、行为等特性。

初始化粒子状态

初始化粒子状态是一个比较重要的步骤,可以控制粒子的初始状态和运动轨迹。osgParticle.FluidProgram允许使用多种方式来初始化粒子的状态,包括随机生成、按照一定规律生成等。下面是一个使用随机方式生成粒子状态的示例:

const particleIniter = new osgParticle.RandomRateCounter();
particleIniter.setRateRange(5, 10);

const colorRange = new osgParticle.Range();
colorRange.minimum = [0.2,0.2,0.2,1.0];
colorRange.maximum = [1.0,1.0,1.0,1.0];

const sizeRange = new osgParticle.Range();
sizeRange.minimum = 1;
sizeRange.maximum = 10;

const velocityRange = new osgParticle.Range();
velocityRange.minimum = 20;
velocityRange.maximum = 40;

const lifeTimeRange = new osgParticle.Range();
lifeTimeRange.minimum = 1.0;
lifeTimeRange.maximum = 2.0;

const emitter = new osgParticle.Emitter();
emitter.setParticleIniter(particleIniter);
emitter.setColorRange(colorRange);
emitter.setSizeRange(sizeRange);
emitter.setVelocityRange(velocityRange);
emitter.setLifeTimeRange(lifeTimeRange);

通过设置ParticleIniter可以控制粒子数量,设置ColorRange可以控制粒子颜色,设置SizeRange可以控制粒子大小,设置VelocityRange可以控制粒子速度,设置LifeTimeRange可以控制粒子生命周期。其中ParticleIniter通过设置RateRange控制粒子生成速率。

粒子运动模拟

粒子运动模拟是整个粒子系统的核心,它决定了粒子的行为、形状和位置。osgParticle.FluidProgram中使用的是类似于牛顿力学中的物理模型,它模拟了粒子受到重力、空气阻力、摩擦力等力的作用,以及粒子之间的相互作用。

常见的粒子运动模型是基于Particle-In-Cell (PIC)方法的。它将流体分成一个个小的区域,称为particles。对于每个particle,PIC方法会根据粒子当前状态计算出其所处位置的流体力场信息。这种方法可以实现比较真实的流体动画效果,但计算量较大。

osgParticle.FluidProgram中实现了一种简化版的PIC方法,称为Particle-In-Box (PIB)方法。它不同于传统PIC方法在于,它将流体的作用范围限定在一个小区域内,称为box。样本点和流体作用者都位于该区域内。

具体使用方法如下:

const radius = 10;

const fluidConstraints = new osgParticle.ExternalFluidProgram.Constraints();
const boundary = new osgParticle.ExternalFluidProgram.BoxFluidBoundary(center, radius);
const simulationMethod = new osgParticle.ExternalFluidProgram.AnsisotropicHydrodynamicsSimulation(radius, 1.0);

fluidConstraints.boundary = boundary;

const externalFluidProgram = new osgParticle.ExternalFluidProgram();
externalFluidProgram.setFluidConstraints(fluidConstraints);
externalFluidProgram.setSimulationMethod(simulationMethod);

osgParticle.FluidProgram提供了多种风格的粒子运动模拟方法,包括基于速度的方法、基于加速度的方法、基于自然力的方法等。

粒子渲染

粒子渲染是将计算好的粒子状态,渲染到屏幕上的过程。osgParticle.FluidProgram中提供了多种粒子渲染方法,包括点精灵(PointSprite)、纹理粒子(TexturedParticle)、线段粒子(LineSegment)、四边形粒子(Quad)等。可以使用setRenderer函数设置渲染器。

const particleRenderer = new osgParticle.PointSpriteRenderer();
particleRenderer.setBlendFunc({
    source_rgb : 'GL_SRC_ALPHA',
    destination_rgb: 'GL_ONE_MINUS_SRC_ALPHA',
    source_alpha: 'GL_SRC_ALPHA',
    destination_alpha: 'GL_ONE_MINUS_SRC_ALPHA'
});

particleRenderer.setTexture('img/Textures/particle.rgb');
particleRenderer.setParticleAlignment(osgParticle.Constant);

osgParticle.FluidProgram还提供了多种材质效果,包括粒子透明度、粒子大小、粒子颜色等。

const materials = new osgParticle.Materials();
materials.addMaterial(this._defaultMaterial);

const particleSystem = new osgParticle.ParticleSystem();
particleSystem.addRenderer(particleRenderer);
particleSystem.addOperator(new osgParticle.AccelerationOperator());
particleSystem.addOperator(new osgParticle.FluidFrictionOperator());
particleSystem.setMaterials(materials);
particleSystem.setParticleAlignment(osgParticle.Constant);

结论

osgParticle.FluidProgram是OpenSceneGraph的一个非常有用的组件,可以实现流体效果,提供了许多可以控制粒子运动模拟和渲染效果的参数。在本文档中,我们介绍了osgParticle.FluidProgram的基本概念和使用方法,希望能对读者有所帮助。更详细的内容,请参考OpenSceneGraph官方文档。