/// <summary> /// Render a teapot in modern opengl. /// </summary> /// <returns></returns> public static TeapotNode Create(bool adjacent = false) { IBufferSource model; vec3 size; if (adjacent) { var m = new AdjacentTeapot(); size = m.GetModelSize(); model = m; } else { var m = new Teapot(); size = m.GetModelSize(); model = m; } string position = adjacent ? AdjacentTeapot.strPosition : Teapot.strPosition; string color = adjacent ? AdjacentTeapot.strColor : Teapot.strColor; var vs = new VertexShader(vertexCode); var fs = new FragmentShader(fragmentCode); var provider = new ShaderArray(vs, fs); var map = new AttributeMap(); map.Add(inPosition, position); map.Add(inColor, color); var builder = new RenderMethodBuilder(provider, map); var node = new TeapotNode(model, position, builder); node.Initialize(); node.ModelSize = size; return(node); }
/// <summary> /// Render a teapot in modern opengl. /// </summary> /// <returns></returns> public static TeapotNode Create() { var vs = new VertexShader(vertexCode); var fs = new FragmentShader(fragmentCode); var provider = new ShaderArray(vs, fs); var map = new AttributeMap(); map.Add(inPosition, Teapot.strPosition); map.Add(inColor, Teapot.strColor); var builder = new RenderMethodBuilder(provider, map); var node = new TeapotNode(new Teapot(), Teapot.strPosition, builder); node.Initialize(); return(node); }