public MeshController(int left, int right, int bottom, int top, RenderingPipeline pipeline, Material material)
            {
                container = new GameObject("World Section",
                                           typeof(MeshRenderer),
                                           typeof(MeshFilter),
                                           typeof(MeshCollider));
                container.transform.position = new Vector3(left, 0, bottom);

                container.layer   = 8;
                controlling       = container.GetComponent <MeshFilter>().mesh;
                renderer          = container.GetComponent <MeshRenderer>();
                renderer.material = material;
                collider          = container.GetComponent <MeshCollider>();

                this.pipeline = pipeline;

                this.vert_left   = left;
                this.vert_right  = right;
                this.vert_top    = top;
                this.vert_bottom = bottom;

                vert_width  = right - left;
                vert_height = top - bottom;
                tile_width  = vert_width - 1;
                tile_height = vert_height - 1;

                vertex_update_queue = new Queue <Vector2Int>();

                // Create arrays
                colors    = new Color32[vert_width * vert_height];
                vertices  = new Vector3[vert_width * vert_height];
                triangles = new int[(vert_width - 1) * (vert_height - 1) * 6];

                CreateMesh();
            }
Пример #2
0
        public void PreInitialize()
        {
            // Initialize the viewport
            Viewport     = new Viewport(new Resolution(this.Configuration.Width, this.Configuration.Height));
            MainViewport = Viewport;

            // Initialize the rendering pipeline
            RenderingPipeline = new RenderingPipeline(this);
        }
        public TerrainRenderer(GameObject mesh_parent, RenderingPipeline pipeline, Material material)
        {
            this.mesh_parent = mesh_parent;

            this.pipeline = pipeline;
            this.material = material;

            CreateMesh();
        }
Пример #4
0
        protected override void Draw(GameTime time)
        {
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);

            RenderingPipeline.Draw(camera.Camera, shader => {
                GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
                foreach (Model model in models)
                {
                    model.Draw(shader, camera.Camera);
                }
            });

            base.Draw(time);
        }
Пример #5
0
    // Start is called before the first frame update
    void Start()
    {
        string _directory;

        if (Application.platform == RuntimePlatform.Android)
        {
            _directory = "jar:file://" + Application.dataPath + "!/assets" + "/NEONDSSampleLiDARPointCloud";
        }
        else
        {
            _directory = Application.dataPath + @"\StreamingAssets\NEONDSSampleLiDARPointCloud";
        }

        _rand = new System.Random();

        TraversalParams p = new TraversalParams()
        {
            PointBudget = 3000000,
        };

        //traversalCam = GameObject.Find("TraversalCamera").GetComponent<Camera>();
        //traversalCam.enabled = false;
        //traversalCam.fieldOfView = 60;

        _renderingPipeline = gameObject.AddComponent <RenderingPipeline>();
        _renderingPipeline.OnNodeRendered += onNodeRendered;
        _renderingPipeline.OnNodeRemoved  += onNodeRemoved;
        _renderingPipeline.OnNodeUpdated  += onNodeUpdated;

        _renderingPipeline.Initialize(Camera.main, Camera.main, _directory, p);

        _shift           = _renderingPipeline.Shift;
        _colliderObjects = new Dictionary <UPICNode, GameObject[]>();
        _inactiveGOs     = new Queue <GameObject>();

        _colliders      = new GameObject();
        _inactives      = new GameObject();
        _colliders.name = "Colliders";
        _inactives.name = "Inactive Colliders";

        _colliders.transform.position = Vector3.zero;

        player = GameObject.Find("Player");
    }