Beispiel #1
0
        private static IBufferable GetModel(BuildInSceneObject buildIn)
        {
            IBufferable model = null;

            switch (buildIn)
            {
            case BuildInSceneObject.Cube:
                model = new Cube();
                break;

            case BuildInSceneObject.Sphere:
                model = new Sphere();
                break;

            case BuildInSceneObject.Ground:
                model = new Ground(1, groundXLength / 2, groundZLength / 2);
                break;

            case BuildInSceneObject.Axis:
                model = new Axis();
                break;

            default:
                throw new NotImplementedException();
            }

            return(model);
        }
Beispiel #2
0
        private static vec3 GetLengths(BuildInSceneObject buildIn)
        {
            var lengths = new vec3(1, 1, 1) * 2;

            switch (buildIn)
            {
            case BuildInSceneObject.Cube:
                break;

            case BuildInSceneObject.Sphere:
                break;

            case BuildInSceneObject.Ground:
                lengths = new vec3(groundXLength, 1, groundZLength);
                break;

            case BuildInSceneObject.Axis:
                break;

            default:
                throw new NotImplementedException();
            }

            return(lengths);
        }
Beispiel #3
0
        private static AttributeMap GetMap(BuildInSceneObject buildIn)
        {
            var map = new AttributeMap();

            switch (buildIn)
            {
            case BuildInSceneObject.Cube:
                map.Add("in_Position", Cube.strPosition);
                map.Add("in_Color", Cube.strColor);
                break;

            case BuildInSceneObject.Sphere:
                map.Add("in_Position", Sphere.strPosition);
                map.Add("in_Color", Sphere.strColor);
                break;

            case BuildInSceneObject.Ground:
                map.Add("in_Position", Ground.strPosition);
                map.Add("in_Color", Ground.strColor);
                break;

            case BuildInSceneObject.Axis:
                map.Add("in_Position", Axis.strPosition);
                map.Add("in_Color", Axis.strColor);
                break;

            default:
                throw new NotImplementedException();
            }

            return(map);
        }
        private static PropertyNameMap GetMap(BuildInSceneObject buildIn)
        {
            var map = new PropertyNameMap();

            switch (buildIn)
            {
                case BuildInSceneObject.Cube:
                    map.Add("in_Position", Cube.strPosition);
                    map.Add("in_Color", Cube.strColor);
                    break;
                case BuildInSceneObject.Sphere:
                    map.Add("in_Position", Sphere.strPosition);
                    map.Add("in_Color", Sphere.strColor);
                    break;
                case BuildInSceneObject.Ground:
                    map.Add("in_Position", Ground.strPosition);
                    map.Add("in_Color", Ground.strColor);
                    break;
                case BuildInSceneObject.Axis:
                    map.Add("in_Position", Axis.strPosition);
                    map.Add("in_Color", Axis.strColor);
                    break;
                default:
                    throw new NotImplementedException();
            }

            return map;
        }
        private static IBufferable GetModel(BuildInSceneObject buildIn)
        {
            IBufferable bufferable = null;

            switch (buildIn)
            {
            case BuildInSceneObject.Cube:
                bufferable = new Cube();
                break;

            case BuildInSceneObject.Sphere:
                bufferable = new Sphere();
                break;

            case BuildInSceneObject.Ground:
                bufferable = new Ground(1, 1000, 1000);
                break;

            case BuildInSceneObject.Axis:
                bufferable = new Axis();
                break;

            default:
                throw new NotImplementedException();
            }

            return(bufferable);
        }
        private static vec3 GetLengths(BuildInSceneObject buildIn)
        {
            var lengths = new vec3(1, 1, 1) * 2;

            switch (buildIn)
            {
                case BuildInSceneObject.Cube:
                    break;

                case BuildInSceneObject.Sphere:
                    break;

                case BuildInSceneObject.Ground:
                    lengths = new vec3(groundXLength, 1, groundZLength);
                    break;

                case BuildInSceneObject.Axis:
                    break;

                default:
                    throw new NotImplementedException();
            }

            return lengths;
        }
 public DefaultRendererComponent(BuildInSceneObject buildIn, SceneObject bindingObject = null)
     : base(bindingObject)
 {
     var shaderCodes = new ShaderCode[2];
     shaderCodes[0] = new ShaderCode(ManifestResourceLoader.LoadTextFile(@"Resources\BuildInSceneObject.vert"), ShaderType.VertexShader);
     shaderCodes[1] = new ShaderCode(ManifestResourceLoader.LoadTextFile(@"Resources\BuildInSceneObject.frag"), ShaderType.FragmentShader);
     IBufferable bufferable = GetModel(buildIn);
     PropertyNameMap map = GetMap(buildIn);
     var renderer = new Renderer(bufferable, shaderCodes, map);
     renderer.Initialize();
     this.Renderer = renderer;
 }
Beispiel #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="buildIn"></param>
        /// <param name="bindingObject"></param>
        public DefaultRendererComponent(BuildInSceneObject buildIn, SceneObject bindingObject = null)
            : base(bindingObject)
        {
            var shaderCodes = new ShaderCode[2];

            shaderCodes[0] = new ShaderCode(File.ReadAllText(@"shaders\BuildInSceneObject.vert"), ShaderType.VertexShader);
            shaderCodes[1] = new ShaderCode(File.ReadAllText(@"shaders\BuildInSceneObject.frag"), ShaderType.FragmentShader);
            IBufferable     bufferable = GetModel(buildIn);
            PropertyNameMap map        = GetMap(buildIn);
            var             renderer   = new Renderer(bufferable, shaderCodes, map);

            renderer.Initialize();
            this.Renderer = renderer;
        }
        private void addSceneObjectToolStripMenuItem_Click(object sender, EventArgs e)
        {
            BuildInSceneObject type = (BuildInSceneObject)Enum.Parse(typeof(BuildInSceneObject),
                                                                     (sender as ToolStripItem).Text);
            SceneObject obj = SceneObjectFactory.GetBuildInSceneObject(type);

            obj.Children.ItemAdded   += Children_ItemAdded;
            obj.Children.ItemRemoved += Children_ItemRemoved;
            var node = new TreeNode(obj.ToString());

            node.Tag = obj;
            obj.Tag  = node;
            this.scene.RootObject.Children.Add(obj);
            this.treeView1.Nodes.Add(node);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="buildIn"></param>
        /// <returns></returns>
        public static SceneObject GetBuildInSceneObject(BuildInSceneObject buildIn)
        {
            var shaderCodes = new ShaderCode[2];
            shaderCodes[0] = new ShaderCode(File.ReadAllText(@"shaders\BuildInSceneObject.vert"), ShaderType.VertexShader);
            shaderCodes[1] = new ShaderCode(File.ReadAllText(@"shaders\BuildInSceneObject.frag"), ShaderType.FragmentShader);
            IBufferable model = GetModel(buildIn);
            AttributeMap map = GetMap(buildIn);
            vec3 lengths = GetLengths(buildIn);
            var renderer = new BuildInRenderer(lengths, model, shaderCodes, map);
            //renderer.Initialize();

            SceneObject obj = renderer.WrapToSceneObject();

            return obj;
        }
Beispiel #11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="buildIn"></param>
        /// <returns></returns>
        public static SceneObject GetBuildInSceneObject(BuildInSceneObject buildIn)
        {
            var shaderCodes = new ShaderCode[2];

            shaderCodes[0] = new ShaderCode(File.ReadAllText(@"shaders\BuildInSceneObject.vert"), ShaderType.VertexShader);
            shaderCodes[1] = new ShaderCode(File.ReadAllText(@"shaders\BuildInSceneObject.frag"), ShaderType.FragmentShader);
            IBufferable     bufferable = GetModel(buildIn);
            PropertyNameMap map        = GetMap(buildIn);
            var             renderer   = new BuildInRenderer(bufferable, shaderCodes, map);

            renderer.Initialize();

            SceneObject obj = renderer.WrapToSceneObject();

            return(obj);
        }
Beispiel #12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="buildIn"></param>
        /// <returns></returns>
        public static SceneObject GetBuildInSceneObject(BuildInSceneObject buildIn)
        {
            var shaderCodes = new ShaderCode[2];

            shaderCodes[0] = new ShaderCode(File.ReadAllText(@"shaders\BuildInSceneObject.vert"), ShaderType.VertexShader);
            shaderCodes[1] = new ShaderCode(File.ReadAllText(@"shaders\BuildInSceneObject.frag"), ShaderType.FragmentShader);
            IBufferable  model    = GetModel(buildIn);
            AttributeMap map      = GetMap(buildIn);
            vec3         lengths  = GetLengths(buildIn);
            var          renderer = new BuildInRenderer(lengths, model, shaderCodes, map);
            //renderer.Initialize();

            SceneObject obj = renderer.WrapToSceneObject();

            return(obj);
        }
        private static IBufferable GetModel(BuildInSceneObject buildIn)
        {
            IBufferable bufferable = null;

            switch (buildIn)
            {
                case BuildInSceneObject.Cube:
                    bufferable = new Cube();
                    break;
                case BuildInSceneObject.Sphere:
                    bufferable = new Sphere();
                    break;
                case BuildInSceneObject.Ground:
                    bufferable = new Ground(1, 1000, 1000);
                    break;
                case BuildInSceneObject.Axis:
                    bufferable = new Axis();
                    break;
                default:
                    throw new NotImplementedException();
            }

            return bufferable;
        }
        private static IBufferable GetModel(BuildInSceneObject buildIn)
        {
            IBufferable model = null;

            switch (buildIn)
            {
                case BuildInSceneObject.Cube:
                    model = new Cube();
                    break;

                case BuildInSceneObject.Sphere:
                    model = new Sphere();
                    break;

                case BuildInSceneObject.Ground:
                    model = new Ground(1, groundXLength / 2, groundZLength / 2);
                    break;

                case BuildInSceneObject.Axis:
                    model = new Axis();
                    break;

                default:
                    throw new NotImplementedException();
            }

            return model;
        }