public bool CheckNeedShowDevelopmentDataOfAreaAndPoints(ViewportRenderingContext context, GetRenderSceneDataMode mode) { if (EnabledInHierarchy && VisibleInHierarchy && mode == GetRenderSceneDataMode.InsideFrustum) { if (ParentScene.GetDisplayDevelopmentDataInThisApplication() && ParentScene.DisplayAreas) { return(true); } var context2 = context.objectInSpaceRenderingContext; if (context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this) || context2.objectToCreate == this) { return(true); } foreach (var point in GetPoints()) { if (context2.selectedObjects.Contains(point) || context2.canSelectObjects.Contains(point) || context2.objectToCreate == point) { return(true); } } } return(false); }
protected override bool OnEnabledSelectionByCursor() { if (!ParentScene.GetDisplayDevelopmentDataInThisApplication() || !ParentScene.DisplayLabels) { return(false); } return(base.OnEnabledSelectionByCursor()); }
public override void OnGetRenderSceneData(ViewportRenderingContext context, GetRenderSceneDataMode mode) { base.OnGetRenderSceneData(context, mode); if (mode == GetRenderSceneDataMode.InsideFrustum) { var context2 = context.objectInSpaceRenderingContext; //context. bool show = (ParentScene.GetDisplayDevelopmentDataInThisApplication() && ParentScene.DisplayCameras) || context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this) || context2.objectToCreate == this; if (show) { var skip = false; var cameraSettings = context.Owner.CameraSettings; //!!!! if ((cameraSettings.Position - TransformV.Position).Length() < 0.5) { skip = true; } if (!skip && context2.displayCamerasCounter < context2.displayCamerasMax) { context2.displayCamerasCounter++; ColorValue color; if (context2.selectedObjects.Contains(this)) { color = ProjectSettings.Get.SelectedColor; } else if (context2.canSelectObjects.Contains(this)) { color = ProjectSettings.Get.CanSelectColor; } else { color = ProjectSettings.Get.SceneShowLightColor; } var viewport = context.Owner; viewport.Simple3DRenderer.SetColor(color, color * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier); DebugDraw(viewport); } } //if( !show ) // context.disableShowingLabelForThisObject = true; } }
public override void OnGetRenderSceneData(ViewportRenderingContext context, GetRenderSceneDataMode mode, Component_Scene.GetObjectsInSpaceItem modeGetObjectsItem) { base.OnGetRenderSceneData(context, mode, modeGetObjectsItem); if (mode == GetRenderSceneDataMode.InsideFrustum) { var context2 = context.objectInSpaceRenderingContext; if (!ParentScene.GetDisplayDevelopmentDataInThisApplication()) { context2.disableShowingLabelForThisObject = true; } } }
public override void OnGetRenderSceneData(ViewportRenderingContext context, GetRenderSceneDataMode mode) { base.OnGetRenderSceneData(context, mode); //if( WhenUpdate.Value.HasFlag( WhenUpdateEnum.Render ) ) // Update(); if (EnabledInHierarchy && VisibleInHierarchy && mode == GetRenderSceneDataMode.InsideFrustum) { var context2 = context.objectInSpaceRenderingContext; bool show = (ParentScene.GetDisplayDevelopmentDataInThisApplication() && ParentScene.DisplaySensors) || context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this) || context2.objectToCreate == this; if (show) { if (context2.displaySensorsCounter < context2.displaySensorsMax) { context2.displaySensorsCounter++; var displayColor = DisplayColor.Value; if (displayColor.Alpha != 0) { context.Owner.Simple3DRenderer.SetColor(displayColor, displayColor * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier); RenderShape(context2); } } if (DisplayObjects) { var color = DisplayObjectsColor.Value; if (color.Alpha != 0) { context.Owner.Simple3DRenderer.SetColor(color, color * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier); //foreach( var refObject in Objects ) //{ // var obj = refObject.Value; // if( obj != null && obj.EnabledInHierarchy ) // context.viewport.Simple3DRenderer.AddBounds( obj.SpaceBounds.CalculatedBoundingBox ); //} foreach (var item in CalculateObjects()) { RenderItem(context.Owner.Simple3DRenderer, item); } } } } } }
private void Scene_GetRenderSceneData(Component_Scene scene, ViewportRenderingContext context) { var context2 = context.objectInSpaceRenderingContext; bool display = false; ColorValue color = Color; if (VisibleInHierarchy) { if ((ParentScene.GetDisplayDevelopmentDataInThisApplication() /*&& ParentScene.DisplayLights */) || context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this) || context2.objectToCreate == this) { if (context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this)) { display = true; if (context2.selectedObjects.Contains(this)) { color = ProjectSettings.Get.SelectedColor; } else { color = ProjectSettings.Get.CanSelectColor; } } if (EngineApp.ApplicationType == EngineApp.ApplicationTypeEnum.Editor && DisplayCurveInEditor) { display = true; } } if (EngineApp.ApplicationType == EngineApp.ApplicationTypeEnum.Simulation && DisplayCurveInSimulation) { display = true; } } if (display) { Render(context2, color); } if (!ParentScene.GetDisplayDevelopmentDataInThisApplication()) { context2.disableShowingLabelForThisObject = true; } }
public override void OnGetRenderSceneData(ViewportRenderingContext context, GetRenderSceneDataMode mode, Component_Scene.GetObjectsInSpaceItem modeGetObjectsItem) { base.OnGetRenderSceneData(context, mode, modeGetObjectsItem); if (EnabledInHierarchy && VisibleInHierarchy) { var item = new Component_RenderingPipeline.RenderSceneData.TransparentRenderingAddOffsetWhenSortByDistanceVolumeItem(); item.Box = GetBox(); context.FrameData.RenderSceneData.TransparentRenderingAddOffsetWhenSortByDistanceVolumes.Add(item); } if (EnabledInHierarchy && VisibleInHierarchy && mode == GetRenderSceneDataMode.InsideFrustum) { var context2 = context.objectInSpaceRenderingContext; bool show = (ParentScene.GetDisplayDevelopmentDataInThisApplication() && ParentScene.DisplayVolumes) || context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this) || context2.objectToCreate == this; if (show) { //if( context2.displayVolumesCounter < context2.displayVolumesMax ) //{ // context2.displayVolumesCounter++; ColorValue color; if (context2.selectedObjects.Contains(this)) { color = ProjectSettings.Get.SelectedColor; } else if (context2.canSelectObjects.Contains(this)) { color = ProjectSettings.Get.CanSelectColor; } else { color = ProjectSettings.Get.SceneShowVolumeColor; } if (color.Alpha != 0) { context.Owner.Simple3DRenderer.SetColor(color, color * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier); RenderShape(context2); } //} } } }
public override void OnGetRenderSceneData(ViewportRenderingContext context, GetRenderSceneDataMode mode) { base.OnGetRenderSceneData(context, mode); //if( EnabledInHierarchyAndIsNotResource ) // Update(); if (mode == GetRenderSceneDataMode.InsideFrustum) { var context2 = context.objectInSpaceRenderingContext; bool show = (ParentScene.GetDisplayDevelopmentDataInThisApplication() && ParentScene.DisplaySoundSources) || context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this) || context2.objectToCreate == this; if (show) { if (context2.displaySoundSourcesCounter < context2.displaySoundSourcesMax) { context2.displaySoundSourcesCounter++; ColorValue color; if (context2.selectedObjects.Contains(this)) { color = ProjectSettings.Get.SelectedColor; } else if (context2.canSelectObjects.Contains(this)) { color = ProjectSettings.Get.CanSelectColor; } else { color = ProjectSettings.Get.SceneShowSoundSourceColor; } var viewport = context.Owner; viewport.Simple3DRenderer.SetColor(color, color * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier); DebugDraw(viewport); } } } }
public override void OnGetRenderSceneData(ViewportRenderingContext context, GetRenderSceneDataMode mode) { if (EnabledInHierarchy && VisibleInHierarchy && mode == GetRenderSceneDataMode.InsideFrustum) { var cameraSettings = context.Owner.CameraSettings; var tr = Transform.Value; bool skip = false; var maxDistance = VisibilityDistance.Value; if (maxDistance < cameraSettings.FarClipDistance && (cameraSettings.Position - tr.Position).LengthSquared() > maxDistance * maxDistance) { skip = true; } if (!skip) { { var item = new Component_RenderingPipeline.RenderSceneData.DecalItem(); item.Creator = this; item.BoundingBox = SpaceBounds.CalculatedBoundingBox; //item.BoundingSphere = SpaceBounds.CalculatedBoundingSphere; item.Position = tr.Position; item.Rotation = tr.Rotation.ToQuaternionF(); item.Scale = tr.Scale.ToVector3F(); item.Material = Material; item.Color = Color; item.NormalsMode = NormalsMode.Value; item.SortOrder = SortOrder; context.FrameData.RenderSceneData.Decals.Add(ref item); } //display editor selection { var context2 = context.objectInSpaceRenderingContext; bool show = (ParentScene.GetDisplayDevelopmentDataInThisApplication() && ParentScene.DisplayDecals) || context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this) || context2.objectToCreate == this; if (show) { if (context2.displayDecalsCounter < context2.displayDecalsMax) { context2.displayDecalsCounter++; ColorValue color; if (context2.selectedObjects.Contains(this)) { color = ProjectSettings.Get.SelectedColor; } else if (context2.canSelectObjects.Contains(this)) { color = ProjectSettings.Get.CanSelectColor; } else { color = ProjectSettings.Get.SceneShowDecalColor; } var viewport = context.Owner; if (viewport.Simple3DRenderer != null) { viewport.Simple3DRenderer.SetColor(color, color * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier); DebugDraw(viewport); } } } //if( !show ) // context.disableShowingLabelForThisObject = true; } } } }
public override void OnGetRenderSceneData(ViewportRenderingContext context, GetRenderSceneDataMode mode, Component_Scene.GetObjectsInSpaceItem modeGetObjectsItem) { base.OnGetRenderSceneData(context, mode, modeGetObjectsItem); if (mode == GetRenderSceneDataMode.InsideFrustum) { var context2 = context.objectInSpaceRenderingContext; //!!!!опцию DisplayPathfindingGeometries bool show = (ParentScene.GetDisplayDevelopmentDataInThisApplication() /*!!!! && ParentScene.DisplayLights */) || context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this) || context2.objectToCreate == this; if (show) { ColorValue color; if (context2.selectedObjects.Contains(this)) { color = ProjectSettings.Get.SelectedColor; } else if (context2.canSelectObjects.Contains(this)) { color = ProjectSettings.Get.CanSelectColor; } else { //!!!! color = new ColorValue(0, 0, 1); //color = ProjectSettings.Get.SceneShowLightColor; } var viewport = context.Owner; viewport.Simple3DRenderer.SetColor(color, color * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier); DebugDraw(viewport); } //if( !show ) // context.disableShowingLabelForThisObject = true; //var displayColor = DisplayColor.Value; //if( displayColor.Alpha != 0 ) //{ // context.viewport.Simple3DRenderer.SetColor( displayColor, displayColor * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier ); // RenderShape( context ); //} //if( DisplayObjects ) //{ // var color = DisplayObjectsColor.Value; // if( color.Alpha != 0 ) // { // context.viewport.Simple3DRenderer.SetColor( color, color * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier ); // //foreach( var refObject in Objects ) // //{ // // var obj = refObject.Value; // // if( obj != null && obj.EnabledInHierarchy ) // // context.viewport.Simple3DRenderer.AddBounds( obj.SpaceBounds.CalculatedBoundingBox ); // //} // foreach( var item in CalculateObjects() ) // RenderItem( context.viewport.Simple3DRenderer, item ); // } //} } }
public override void OnGetRenderSceneData(ViewportRenderingContext context, GetRenderSceneDataMode mode, Component_Scene.GetObjectsInSpaceItem modeGetObjectsItem) { base.OnGetRenderSceneData(context, mode, modeGetObjectsItem); if (mode == GetRenderSceneDataMode.InsideFrustum) { var context2 = context.objectInSpaceRenderingContext; if (!ParentScene.GetDisplayDevelopmentDataInThisApplication()) { context2.disableShowingLabelForThisObject = true; } var renderer = context.Owner.Simple3DRenderer; if (renderer != null) { var start = GetStartPosition(); var startScale = GetStartScale(); var end = GetEndPosition(); var endScale = GetEndScale(); if (end != start) { var center = (start + end) * 0.5; var dir = (end - start).GetNormalize(); //!!!!transparent rendering renderer.SetColor(Color); switch (StartCapStyle.Value) { case CapStyleEnum.Arrow: renderer.AddArrow(center, start, Thickness * 5 * startScale, Thickness * 1.5 * startScale, true, Thickness); break; case CapStyleEnum.Flat: renderer.AddLine(center - dir * Thickness * 0.5, start + dir * Thickness * 0.5, Thickness); break; case CapStyleEnum.Sphere: renderer.AddLine(center - dir * Thickness * 0.5, start + dir * Thickness * 0.5, Thickness); renderer.AddSphere(start, Thickness * 2 * startScale, solid: true); break; } switch (EndCapStyle.Value) { case CapStyleEnum.Arrow: renderer.AddArrow(center, end, Thickness * 5 * endScale, Thickness * 1.5 * endScale, true, Thickness); break; case CapStyleEnum.Flat: renderer.AddLine(center + dir * Thickness * 0.5, end - dir * Thickness * 0.5, Thickness); break; case CapStyleEnum.Sphere: renderer.AddLine(center + dir * Thickness * 0.5, end - dir * Thickness * 0.5, Thickness); renderer.AddSphere(end, Thickness * 2 * endScale, solid: true); break; } } } } }
public override void OnGetRenderSceneData(ViewportRenderingContext context, GetRenderSceneDataMode mode, Component_Scene.GetObjectsInSpaceItem modeGetObjectsItem) { if (mode == GetRenderSceneDataMode.InsideFrustum) { //UpdateProcessedCubemaps(); var sphere = Sphere; if (sphere.Radius > 0) { var item = new Component_RenderingPipeline.RenderSceneData.ReflectionProbeItem(); item.Creator = this; item.BoundingBox = SpaceBounds.CalculatedBoundingBox; //item.BoundingSphere = SpaceBounds.CalculatedBoundingSphere; item.Sphere = sphere; //if( Mode.Value == ModeEnum.Resource ) //{ if (processedEnvironmentCubemap != null) { item.CubemapEnvironment = processedEnvironmentCubemap; } else { item.CubemapEnvironment = Cubemap; } item.CubemapIrradiance = processedIrradianceCubemap; GetRotationMatrix(out item.Rotation); item.Multiplier = Multiplier.Value.ToVector3F(); //item.CubemapEnvironment = Cubemap; //item.CubemapIrradiance = CubemapIrradiance; //} //else //{ // //!!!!IBL // item.CubemapEnvironment = CaptureTexture; //} context.FrameData.RenderSceneData.ReflectionProbes.Add(item); } { var context2 = context.objectInSpaceRenderingContext; bool show = (ParentScene.GetDisplayDevelopmentDataInThisApplication() && ParentScene.DisplayReflectionProbes) || context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this) || context2.objectToCreate == this; if (show) { if (context2.displayReflectionProbesCounter < context2.displayReflectionProbesMax) { context2.displayReflectionProbesCounter++; ColorValue color; if (context2.selectedObjects.Contains(this)) { color = ProjectSettings.Get.SelectedColor; } else if (context2.canSelectObjects.Contains(this)) { color = ProjectSettings.Get.CanSelectColor; } else { color = ProjectSettings.Get.SceneShowReflectionProbeColor; } var viewport = context.Owner; if (viewport.Simple3DRenderer != null) { viewport.Simple3DRenderer.SetColor(color, color * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier); DebugDraw(viewport); //viewport.Simple3DRenderer.AddSphere( Transform.Value.ToMat4(), 0.5, 32 ); } } } //if( !show ) // context.disableShowingLabelForThisObject = true; } } }
public override void OnGetRenderSceneData(ViewportRenderingContext context, GetRenderSceneDataMode mode) { base.OnGetRenderSceneData(context, mode); if (EnabledInHierarchy && VisibleInHierarchy) { var item = new Component_RenderingPipeline.RenderSceneData.CutVolumeItem(); item.Shape = Shape; switch (item.Shape) { case ShapeEnum.Box: item.Transform = Transform; break; case ShapeEnum.Sphere: { var sphere = GetSphere(); var scl = sphere.Radius * 2; item.Transform = new Transform(sphere.Origin, Quaternion.Identity, new Vector3(scl, scl, scl)); } break; case ShapeEnum.Cylinder: { var tr = Transform.Value; var sclYZ = Math.Max(tr.Scale.Y, tr.Scale.Z); item.Transform = new Transform(tr.Position, tr.Rotation, new Vector3(tr.Scale.X, sclYZ, sclYZ)); } break; } context.FrameData.RenderSceneData.CutVolumes.Add(item); } if (EnabledInHierarchy && VisibleInHierarchy && mode == GetRenderSceneDataMode.InsideFrustum) { var context2 = context.objectInSpaceRenderingContext; bool show = (ParentScene.GetDisplayDevelopmentDataInThisApplication() && ParentScene.DisplayVolumes) || context2.selectedObjects.Contains(this) || context2.canSelectObjects.Contains(this) || context2.objectToCreate == this; if (show) { //if( context2.displayVolumesCounter < context2.displayVolumesMax ) //{ // context2.displayVolumesCounter++; ColorValue color; if (context2.selectedObjects.Contains(this)) { color = ProjectSettings.Get.SelectedColor; } else if (context2.canSelectObjects.Contains(this)) { color = ProjectSettings.Get.CanSelectColor; } else { color = ProjectSettings.Get.SceneShowVolumeColor; } if (color.Alpha != 0) { context.Owner.Simple3DRenderer.SetColor(color, color * ProjectSettings.Get.HiddenByOtherObjectsColorMultiplier); RenderShape(context2); } //} } } }