コード例 #1
0
        /// <summary>
        /// Render flabellum in modern opengl.
        /// </summary>
        /// <returns></returns>
        public static FlabellumRenderer Create()
        {
            var vertexShader   = new VertexShader(vertexCode, "inPositoin", "inColor");
            var fragmentShader = new FragmentShader(fragmentCode);
            var provider       = new ShaderArray(vertexShader, fragmentShader);
            var map            = new AttributeMap();

            map.Add("inPosition", Flabellum.strPosition);
            map.Add("inColor", Flabellum.strColor);
            var renderer = new FlabellumRenderer(new Flabellum(), provider, map);

            renderer.Initialize();

            return(renderer);
        }
コード例 #2
0
        /// <summary>
        /// Render propeller in legacy opengl.
        /// </summary>
        public PropellerRenderer()
        {
            this.ModelSize = new vec3(xLength * 2, yLength * 2, zLength * 2);
            this.Children.Add(new LegacyBoundingBoxNode(this.ModelSize));

            var xflabellum = new FlabellumRenderer()
            {
                WorldPosition = new vec3(2, 0, 0)
            };

            xflabellum.Children.Add(new LegacyBoundingBoxNode(xflabellum.ModelSize));

            var nxflabellum = new FlabellumRenderer()
            {
                WorldPosition = new vec3(-2, 0, 0), RotationAngle = 180,
            };

            nxflabellum.Children.Add(new LegacyBoundingBoxNode(nxflabellum.ModelSize));

            var zflabellum = new FlabellumRenderer()
            {
                WorldPosition = new vec3(0, 0, -2), RotationAngle = 90,
            };

            zflabellum.Children.Add(new LegacyBoundingBoxNode(zflabellum.ModelSize));

            var nzflabellum = new FlabellumRenderer()
            {
                WorldPosition = new vec3(0, 0, 2), RotationAngle = 270,
            };

            nzflabellum.Children.Add(new LegacyBoundingBoxNode(nzflabellum.ModelSize));

            this.Children.Add(xflabellum);
            this.Children.Add(nxflabellum);
            this.Children.Add(zflabellum);
            this.Children.Add(nzflabellum);
        }