protected override void OnLoad(EventArgs e) { base.OnLoad(e); GL.ClearColor(0, 0, 0, 0); GL.Enable(EnableCap.DepthTest); GL.Enable(EnableCap.Texture2D); GL.Hint(HintTarget.PerspectiveCorrectionHint, HintMode.Nicest); GL.Enable(EnableCap.CullFace); GL.ShadeModel(ShadingModel.Smooth); GL.Enable(EnableCap.Lighting); GL.Enable(EnableCap.Light0); Util.Set3DMode(); skydome.LoadSkydome("sky/space.jpg", 1f); world.Add(skydome); // skydome aina ekana koska se on kaikkien takana const float Scale = 100; city = new ObjModel("city", "city.obj", Scale, Scale, Scale); world.Add(city); // lataa reitit cameraPath = new Path("path", "camerapath.obj", Scale, Scale, Scale); // sama skaalaus ku cityssä cameraPath.MakeCurve(3); // tehdään reitistä spline cameraPath.FollowPath(cam, true, true); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); GL.ClearColor(0, 0, 0, 0); GL.Enable(EnableCap.DepthTest); GL.Enable(EnableCap.Texture2D); GL.Hint(HintTarget.PerspectiveCorrectionHint, HintMode.Nicest); GL.Enable(EnableCap.CullFace); GL.ShadeModel(ShadingModel.Smooth); GL.Enable(EnableCap.Lighting); GL.Enable(EnableCap.Light0); Util.Set3DMode(); skydome.LoadSkydome("sky/space.jpg", 1f); world.Add(skydome); // skydome aina ekana koska se on kaikkien takana car = new ObjModel("car", "car.obj", 7, 7, 7); car.FixRotation.Y = -90; world.Add(car); const float Scale = 110; city = new ObjModel("city", "city.obj", Scale, Scale, Scale); world.Add(city); // lataa reitit carPath = new Path("carpath", "carpath.obj", Scale, Scale, Scale); // sama skaalaus ku cityssä carPath.FollowPath(car, true, true); cam.Position.Y = 60; cam.Front.Z = -10; cam.Update6DOF(); // car path on tehty xz tasossa (tai jotain y arvoja säädetty mutta menee aika pieleen), // joten korjataan ne y arvot. tämä katsoo joka vertexin kohdalta y arvon ja lisää siihen yp:n (tässä 0). carPath.FixPathY(0, ref city); }