public RScene() { _root = new RSceneNode(); _root.Children = new List <RSceneNode>(); _root.Parent = null; _lights = new List <RLight>(); }
public T Create <T>(string name) where T : RSceneNode { T node = RSceneNode.Create <T>(); RLog.Info("Created a new node named: " + name); return(node); }
public RMeshBuilder CreateMeshBuilder(string name, RSceneNode parent) { RMeshBuilder mesh = (RMeshBuilder)Activator.CreateInstance(typeof(RMeshBuilder), true); mesh.Name = name; mesh.Children = new List <RSceneNode>(); mesh.Parent = parent; parent.Children.Add(mesh); return(mesh); }
public RMesh CreateMesh(string name, RSceneNode parent) { RMesh mesh = RMesh.Create <RMesh>(); mesh.Name = name; mesh.Children = new List <RSceneNode>(); mesh.Parent = parent; parent.Children.Add(mesh); return(mesh); }
internal void Prepare(RSceneNode node) { EffectParameter param; try { param = shader.GetParameterBySemantic("View"); param.SetValue(REngine.Instance._camera.viewMatrix); } catch { } try { param = shader.GetParameterBySemantic("ViewProjection"); param.SetValue(REngine.Instance._camera.ViewProjectionMatrix.matrix); } catch { } try { param = shader.GetParameterBySemantic("World"); param.SetValue(node.Matrix); } catch { } try { param = shader.GetParameterBySemantic("WorldViewProjection"); param.SetValue(node.Matrix * REngine.Instance._camera.ViewProjectionMatrix.matrix); } catch { } try { param = shader.GetParameterBySemantic("RLight"); if (node != null) { //param.StructureMembers; //param.Elements["Rlights"].SetValue(RLightingFactory.Instance.GetClosestActiveLights(node.Position)); } else { //param.SetValue(RLightingFactory.Instance.GetClosestActiveLights(REngine.Instance._camera.Position.vector)); } } catch { } }
public bool InView(RSceneNode node) { BoundingFrustum frus = new BoundingFrustum(viewMatrix * projMatrix); if (frus.Contains(node.Position) != ContainmentType.Disjoint) return true; else return false; }
public R3DVECTOR Unproject(R3DVECTOR Position, RSceneNode Node) { Vector3 v = REngine.Instance.GetViewport().Unproject(Position.vector, REngine.Instance._camera.projMatrix, REngine.Instance._camera.viewMatrix, Matrix.Identity); return R3DVECTOR.FromVector3(v); }