Esempio n. 1
0
 // you can replace PointCloudModel with IBufferable in the method's parameter.
 public static RandomPointsRenderer Create(RandomPointsModel model)
 {
     var shaderCodes = new ShaderCode[2];
     shaderCodes[0] = new ShaderCode(File.ReadAllText(@"shaders\RandomPoints.vert"), ShaderType.VertexShader);
     shaderCodes[1] = new ShaderCode(File.ReadAllText(@"shaders\RandomPoints.frag"), ShaderType.FragmentShader);
     var map = new CSharpGL.AttributeMap();
     map.Add("in_Position", RandomPointsModel.position);
     var renderer = new RandomPointsRenderer(model, shaderCodes, map);
     renderer.ModelSize = model.Lengths;
     //renderer.stateList.Add(new PointSizeState(10));
     return renderer;
 }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static PointsRenderer Create(Points model)
        {
            var shaderCodes = new ShaderCode[2];
            shaderCodes[0] = new ShaderCode(ManifestResourceLoader.LoadTextFile(@"Resources\Points.vert"), ShaderType.VertexShader);
            shaderCodes[1] = new ShaderCode(ManifestResourceLoader.LoadTextFile(@"Resources\Points.frag"), ShaderType.FragmentShader);
            var map = new CSharpGL.AttributeMap();
            map.Add("in_Position", Points.strposition);
            var renderer = new PointsRenderer(model, shaderCodes, map, Points.strposition);
            renderer.ModelSize = model.Lengths;
            renderer.WorldPosition = model.WorldPosition;
            renderer.stateList.Add(new PointSizeState(10));

            return renderer;
        }
Esempio n. 3
0
        // you can replace PointCloudModel with IBufferable in the method's parameter.
        public static RandomPointsRenderer Create(RandomPointsModel model)
        {
            var shaderCodes = new ShaderCode[2];

            shaderCodes[0] = new ShaderCode(File.ReadAllText(@"shaders\RandomPoints.vert"), ShaderType.VertexShader);
            shaderCodes[1] = new ShaderCode(File.ReadAllText(@"shaders\RandomPoints.frag"), ShaderType.FragmentShader);
            var map = new CSharpGL.AttributeMap();

            map.Add("in_Position", RandomPointsModel.position);
            var renderer = new RandomPointsRenderer(model, shaderCodes, map);

            renderer.Lengths = model.Lengths;
            //renderer.switchList.Add(new PointSizeSwitch(10));
            return(renderer);
        }
Esempio n. 4
0
        // you can replace PointCloudModel with IBufferable in the method's parameter.
        public static PointCloudRenderer Create(PointCloudModel model)
        {
            var shaderCodes = new ShaderCode[2];

            shaderCodes[0] = new ShaderCode(File.ReadAllText(@"shaders\PointCloud.vert"), ShaderType.VertexShader);
            shaderCodes[1] = new ShaderCode(File.ReadAllText(@"shaders\PointCloud.frag"), ShaderType.FragmentShader);
            var map = new CSharpGL.AttributeMap();

            map.Add("in_Position", PointCloudModel.position);
            var renderer = new PointCloudRenderer(model, shaderCodes, map);

            renderer.ModelSize     = model.Lengths;
            renderer.WorldPosition = model.WorldPosition;
            //renderer.stateList.Add(new PointSizeState(10));
            return(renderer);
        }
Esempio n. 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static PointsRenderer Create(Points model)
        {
            var shaderCodes = new ShaderCode[2];

            shaderCodes[0] = new ShaderCode(ManifestResourceLoader.LoadTextFile(@"Resources\Points.vert"), ShaderType.VertexShader);
            shaderCodes[1] = new ShaderCode(ManifestResourceLoader.LoadTextFile(@"Resources\Points.frag"), ShaderType.FragmentShader);
            var map = new CSharpGL.AttributeMap();

            map.Add("in_Position", Points.strposition);
            var renderer = new PointsRenderer(model, shaderCodes, map, Points.strposition);

            renderer.ModelSize     = model.Lengths;
            renderer.WorldPosition = model.WorldPosition;
            renderer.stateList.Add(new PointSizeState(10));

            return(renderer);
        }
Esempio n. 6
0
        /// <summary>
        /// Creates a renderer that renders a evaluator(a bezier curve or surface) and its control points.
        /// </summary>
        /// <param name="controlPoints"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static BezierRenderer Create(IList <vec3> controlPoints, BezierType type)
        {
            var shaderCodes = new ShaderCode[2];

            shaderCodes[0] = new ShaderCode(ManifestResourceLoader.LoadTextFile(@"Resources\Points.vert"), ShaderType.VertexShader);
            shaderCodes[1] = new ShaderCode(ManifestResourceLoader.LoadTextFile(@"Resources\Points.frag"), ShaderType.FragmentShader);
            var map = new CSharpGL.AttributeMap();

            map.Add("in_Position", Points.strposition);
            var model    = new Points(controlPoints);
            var renderer = new BezierRenderer(controlPoints, type, model, shaderCodes, map, Points.strposition);

            renderer.Lengths       = model.Lengths;
            renderer.WorldPosition = model.WorldPosition;
            renderer.switchList.Add(new PointSizeSwitch(10));

            return(renderer);
        }
Esempio n. 7
0
 private RandomPointsRenderer(CSharpGL.IBufferable model, CSharpGL.ShaderCode[] shaderCodes, CSharpGL.AttributeMap attributeMap, params GLSwitch[] switches) :
     base(model, shaderCodes, attributeMap, switches)
 {
 }
Esempio n. 8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="model"></param>
 /// <param name="shaderProgramProvider"></param>
 /// <param name="attributeMap"></param>
 /// <param name="positionNameInIBufferable"></param>
 /// <param name="switches"></param>
 public PointsRenderer(Points model, CSharpGL.IShaderProgramProvider shaderProgramProvider, CSharpGL.AttributeMap attributeMap, string positionNameInIBufferable, params GLState[] switches) :
     base(model, shaderProgramProvider, attributeMap, positionNameInIBufferable, switches)
 {
 }
Esempio n. 9
0
        /// <summary>
        /// Rendering a evaluator(a bezier curve or surface) and its control points.
        /// </summary>
        /// <param name="controlPoints"></param>
        /// <param name="type"></param>
        /// <param name="model"></param>
        /// <param name="shaderProgramProvider"></param>
        /// <param name="attributeMap"></param>
        /// <param name="positionNameInIBufferable"></param>
        /// <param name="switches"></param>
        private BezierRenderer(IList <vec3> controlPoints, BezierType type, Points model, CSharpGL.IShaderProgramProvider shaderProgramProvider, CSharpGL.AttributeMap attributeMap, string positionNameInIBufferable, params GLState[] switches) :
            base(model, shaderProgramProvider, attributeMap, positionNameInIBufferable, switches)
        {
            switch (type)
            {
            case BezierType.Curve:
                this.Evaluator = new Evaluator1DRenderer(controlPoints);    //, lengths);
                break;

            case BezierType.Surface:
                this.Evaluator = new Evaluator2DRenderer(controlPoints);    //, lengths);
                break;

            default:
                throw new System.NotImplementedException();
            }
        }
Esempio n. 10
0
 private PointCloudRenderer(CSharpGL.IBufferable model, CSharpGL.ShaderCode[] shaderCodes, CSharpGL.AttributeMap attributeMap, params GLState[] switches) :
     base(model, shaderCodes, attributeMap, switches)
 {
 }
Esempio n. 11
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="model"></param>
 /// <param name="shaderCodes"></param>
 /// <param name="attributeMap"></param>
 /// <param name="positionNameInIBufferable"></param>
 /// <param name="switches"></param>
 public PointsRenderer(Points model, CSharpGL.ShaderCode[] shaderCodes, CSharpGL.AttributeMap attributeMap, string positionNameInIBufferable, params GLSwitch[] switches) :
     base(model, shaderCodes, attributeMap, positionNameInIBufferable, switches)
 {
 }
Esempio n. 12
0
 private RandomPointsRenderer(IBufferable model, IShaderProgramProvider shaderProgramProvider, CSharpGL.AttributeMap attributeMap, params GLState[] switches) :
     base(model, shaderProgramProvider, attributeMap, switches)
 {
 }