public override void OnRender(RenderView view) { if (view.GetRenderType() == RenderViewType.SHADOWS) return; SkyElementManager s = (SkyElementManager)view.GetRenderElementManager(RenderPass.Sky); if (s != null) s.Elements.Add(renderElement); base.OnRender(view); }
public override void OnRender(RenderView view) { base.OnRender(view); if (view.GetRenderType() == RenderViewType.MAIN) { if (view.GetFrustum().Contains(bounds) != ContainmentType.Disjoint) { MainRenderView renderView = (MainRenderView)view; renderView.AddDecalElement(material, transform); } } }
public void AddRenderView(RenderView view) { RenderViews[(int)view.GetRenderType()].Add(view); }
public void OnRender(RenderView view) { fpsModel.OnRender(view, false); if (view.GetRenderType() == RenderViewType.MAIN && !datablock.IsMelee) { GUIElementManager elemManager = GFX.Inst.GetGUI(); int ammoRatio = (int)((float)ReserveAmmo / (float)AmmoPerClip); GUITextElement elem = new GUITextElement(new Vector2(0.85f, -0.85f), ammo.ToString() + "/"+ammoRatio); elemManager.AddElement(elem); } }
public void AddRenderView(RenderView view) { RenderViews.Enqueue(view, (int)view.GetRenderType()); }
public void RemoveRenderView(RenderView view) { int index = RenderViews[(int)view.GetRenderType()].IndexOf(view); if (index >= 0) RenderViews[(int)view.GetRenderType()].RemoveAt(index); }
public void RemoveRenderView(RenderView view) { RenderViews.RemoveAt((int)view.GetRenderType(), view); }
public override void OnRender(RenderView view) { if (view.GetRenderType() == RenderViewType.MAIN) { DrawLives(); DrawHealthBar(); DrawGemProgressBar(); if (hitFlashTimer >= MAX_FLASH_TIMER) hitFlashTimer = 0; else if (hitFlashTimer > 0) { hitFlashTimer++; DrawHitFlash(); } if (deathFadeTimer > 0) { deathFadeTimer++; DrawDeathFade(); } if (lives < 0) { Vector2 max = new Vector2(1, 1); Vector2 min = new Vector2(-1, -1); Gaia.Resources.TextureResource image = Resources.ResourceManager.Inst.GetTexture("Textures/Details/GameOver.png"); GUIElement element = new GUIElement(min, max, image); GFX.Inst.GetGUI().AddElement(element); } if (numGemsCollected >= scene.NUM_GEMS_Required) { Vector2 max = new Vector2(1, 1); Vector2 min = new Vector2(-1, -1); Gaia.Resources.TextureResource image = Resources.ResourceManager.Inst.GetTexture("Textures/Details/Congrats.png"); GUIElement element = new GUIElement(min, max, image); GFX.Inst.GetGUI().AddElement(element); } } base.OnRender(view); }
public override void OnRender(RenderView view) { if(view.GetRenderType() == RenderViewType.SHADOWS) return; bool canRender = (view.GetFrustum().Contains(Transformation.GetBounds()) != ContainmentType.Disjoint); canRender |= (type == LightType.Directional || type == LightType.Ambient); if (canRender) { LightElementManager lightMgr = (LightElementManager)view.GetRenderElementManager(RenderPass.Light); if (lightMgr != null) { switch (type) { case LightType.Ambient: lightMgr.AmbientLights.Add(this); break; case LightType.Directional: if (castsShadows) lightMgr.DirectionalShadowLights.Add(this); else lightMgr.DirectionalLights.Add(this); break; case LightType.Point: lightMgr.PointLights.Add(this); break; case LightType.Spot: lightMgr.SpotLights.Add(this); break; } } } base.OnRender(view); }
void RecursivelyRender(KDNode<ForestElement> node, RenderView view) { if (node == null || view.GetFrustum().Contains(node.bounds) == ContainmentType.Disjoint) return; if (node.element != null && (view.GetFrustum().Contains(node.element.Bounds) != ContainmentType.Disjoint)) { if (view.GetRenderType() == RenderViewType.MAIN && useImposters) { float distToCamera = Vector3.DistanceSquared(node.element.Transform.GetPosition(), view.GetPosition()); node.element.RenderImposters = (distToCamera >= GFXShaderConstants.IMPOSTERDISTANCESQUARED) ? ImposterState.Enabled : ImposterState.Disabled; if (node.element.RenderImposters == ImposterState.Enabled && distToCamera <= GFXShaderConstants.IMPOSTER_DISTANCE_FALLOFF) { node.element.RenderImposters = ImposterState.Both; } if (distToCamera > GFXShaderConstants.GRASS_FADE_SQUARED) node.element.RenderImposters = ImposterState.None; } if (useImposters) { if (node.element.RenderImposters != ImposterState.None) { if (node.element.RenderImposters == ImposterState.Enabled || node.element.RenderImposters == ImposterState.Both) node.element.Mesh.RenderImposters(node.element.Transform.GetTransform(), view, false); if (node.element.RenderImposters == ImposterState.Disabled || node.element.RenderImposters == ImposterState.Both) node.element.Mesh.Render(node.element.Transform.GetTransform(), view, false); } } else node.element.Mesh.Render(node.element.Transform.GetTransform(), view, false); nodesRendered++; } RecursivelyRender(node.leftChild, view); RecursivelyRender(node.rightChild, view); }
public override void OnRender(RenderView view) { nodesRendered = 0; if (isEnabled && view.GetRenderType() != RenderViewType.REFLECTIONS) RecursivelyRender(visibleMeshes.GetRoot(), view); /* if (view.GetRenderType() == RenderViewType.MAIN && visibleMeshes.GetRoot().bounds.Contains(view.GetPosition()) != ContainmentType.Disjoint && entityCount != 3000) { Gaia.Rendering.GUIElementManager guiMgr = Gaia.Rendering.GFX.Inst.GetGUI(); guiMgr.AddElement( new Gaia.Rendering.GUITextElement(new Vector2(0, 0.9f), "Nodes rendered: " + nodesRendered + "/" + entityCount)); } if (view.GetRenderType() == RenderViewType.MAIN && visibleMeshes.GetRoot().bounds.Contains(view.GetPosition()) != ContainmentType.Disjoint) { RecursivelyRenderDebug(visibleMeshes.GetRoot(), view, 0, false); } */ base.OnRender(view); }