// 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; }
/// <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; }
// 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); }
// 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); }
/// <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); }
/// <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); }
private RandomPointsRenderer(CSharpGL.IBufferable model, CSharpGL.ShaderCode[] shaderCodes, CSharpGL.AttributeMap attributeMap, params GLSwitch[] switches) : base(model, shaderCodes, attributeMap, switches) { }
/// <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) { }
/// <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(); } }
private PointCloudRenderer(CSharpGL.IBufferable model, CSharpGL.ShaderCode[] shaderCodes, CSharpGL.AttributeMap attributeMap, params GLState[] switches) : base(model, shaderCodes, attributeMap, switches) { }
/// <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) { }
private RandomPointsRenderer(IBufferable model, IShaderProgramProvider shaderProgramProvider, CSharpGL.AttributeMap attributeMap, params GLState[] switches) : base(model, shaderProgramProvider, attributeMap, switches) { }