コード例 #1
0
        private void GLControl_Load(object sender, EventArgs e)
        {
            GL.Enable(EnableCap.DepthTest);
            _renderer           = new Renderer();
            _rayTracer          = new SamplesRayTracer(8, 1000, Vec2Sampling.Jittered, gLControl.Width, 10);
            _cameraController   = new CameraController(_camera, gLControl, UpdateLastModification);
            _scene.AmbientLight = new AmbientLight {
                Color = Color.FromColor4(Color4.LightSkyBlue)
            };
            _scene.AddModel(new Sphere
            {
                Position = new Vector3(0, 5.5f, 0), Scale = 1,
                Material = new MasterMaterial(new Emissive(Color.FromColor4(Color4.LightYellow), 25))
            }.Load());

            _scene.AddModel(new Sphere
            {
                Position = new Vector3(-2.5f, 0.5f, 2.5f), Scale = 1,
                Material = new MasterMaterial(new Diffuse(Color.FromColor4(Color4.Red)))
            }.Load());

            _scene.AddModel(new Sphere
            {
                Position = new Vector3(2.5f, 0.5f, -2.5f),
                Scale    = 1,
                Material = new MasterMaterial(new Diffuse(new Texture("earthmap.jpg")))
            }.Load());

            _scene.AddModel(new Sphere
            {
                Position = new Vector3(2.5f, 0.5f, 2.5f),
                Scale    = 1,
                Material = new MasterMaterial(new Refractive(Color.FromColor4(Color4.White), 1.5f))
            }.Load());

            _scene.AddModel(new Sphere
            {
                Position = new Vector3(-2.5f, 0.5f, -2.5f),
                Scale    = 1,
                Material = new MasterMaterial(new Reflective(Color.FromColor4(Color4.White), 0.05f))
            }.Load());

            _scene.AddModel(new Plane
            {
                Position = new Vector3(0, -0.5f, 0), Scale = 1,
                Material = new MasterMaterial(new Diffuse(Color.FromColor4(Color4.Green)),
                                              new Reflective(Color.FromColor4(Color4.White), 0.1f),
                                              new Refractive(Color.FromColor4(Color4.Green), 1))
                {
                    Parts = (0.0f, 0.8f, 0.1f, 0.0f)
                }
            }.Load());
コード例 #2
0
 public SettingsController(Camera camera, IncrementalRayTracer rayTracer, bool mode)
 {
     Camera        = camera;
     RayTracer     = rayTracer;
     AutomaticMode = mode;
 }