private void FormMain_Load(object sender, EventArgs e) { var position = new vec3(5, 3, 4) * 0.5f; var center = new vec3(0, 0, 0); var up = new vec3(0, 1, 0); var camera = new Camera(position, center, up, CameraType.Perspective, this.winGLCanvas1.Width, this.winGLCanvas1.Height); Texture texture = GetCubemapTexture(); this.node = CubemapViewerNode.Create(texture); var scene = new Scene(camera); scene.RootNode = node; this.scene = scene; var list = new ActionList(); var transformAction = new TransformAction(scene); list.Add(transformAction); var renderAction = new RenderAction(scene); list.Add(renderAction); this.actionList = list; //// uncomment these lines to enable manipualter of camera! //var manipulater = new FirstPerspectiveManipulater(); //manipulater.BindingMouseButtons = System.Windows.Forms.MouseButtons.Right; //manipulater.Bind(camera, this.winGLCanvas1); }
public static CubemapViewerNode Create(Texture skybox) { var model = new CubemapViewerModel(); var vs = new VertexShader(vertexCode); var fs = new FragmentShader(reflectFragmentCode); var provider = new ShaderArray(vs, fs); var map = new AttributeMap(); map.Add("inPosition", CubemapViewerModel.strPosition); var builder = new RenderMethodBuilder(provider, map); var node = new CubemapViewerNode(model, builder); node.skyboxTexture = skybox; node.Initialize(); return(node); }