public MyFilm(Screen screen, uint nsamples) : base(screen) { Flag = new Bitmap((int)screen.Width, (int)screen.Height); Colors = new SampledColor[screen.Height, screen.Width]; for (var i = 0; i < screen.Height; ++i) { for (var j = 0; j < screen.Width; ++j) { Colors[i, j] = new SampledColor(nsamples); } } Screen = screen; }
private void InitNewScene() { _scene = new Scene(); var screen = new raytracer.core.Screen(1024, 768); _film = new MyFilm(screen, NSamples); Camera camera = new SimpleCamera(screen, Transformation.Translation((float)PositionX.Value, (float)PositionY.Value, (float)PositionZ.Value) * Transformation.RotateX((float)(RotationX.Value % 360)) * Transformation.RotateY((float)(RotationY.Value % 360)) * Transformation.RotateZ((float)(RotationZ.Value % 360))); _renderer = new Renderer(_scene, new GridSampler(screen), camera, _film, new WhittedIntegrator()); _scene.Lights.Add(new PointLight(Transformation.Translation(100, 650, -500), SampledSpectrum.White() * 2000000)); _scene.Lights.Add(new PointLight(Transformation.Translation(0, 0, -1000), SampledSpectrum.Random() * 200000)); SimpleObjParser(_scene, _file); }
public Form1() { InitializeComponent(); FileName.ForeColor = System.Drawing.Color.FromArgb((int)0xFF, (int)0x61, (int)0x61); FileName.Text = "No file selected."; _screen = new Screen((uint)RenderPicture.Width, (uint)RenderPicture.Height); _camera = new SimpleCamera(_screen, Transformation.Compose( Transformation.Translation(0, 0, -1000), Transformation.RotateX(0), Transformation.RotateY(0), Transformation.RotateZ(0) )); InitNewScene(); _pointLightReg = new Regex(@"^(PL( (-?|\+?)(\d)* (-?|\+?)(\d)* (-?|\+?)(\d)* (1|0)\.(\d)*$))", RegexOptions.Compiled); _diskLightReg = new Regex(@"^(DL( (-?|\+?)(\d)* (-?|\+?)(\d)* (-?|\+?)(\d)* (1|0)\.(\d)* (\d*\.)?(\d)*$))", RegexOptions.Compiled); _objReg = new Regex(@"^(O( [A-Z]:(\\([a-zA-Z]*[^*/\\.\[\]:;|=,])*)*\.obj$))", RegexOptions.Compiled); _cameraReg = new Regex(@"^(C( (-?|\+?)(\d)* (-?|\+?)(\d)* (-?|\+?)(\d)* (-?|\+?)(\d)* (-?|\+?)(\d)* (-?|\+?)(\d)*$))", RegexOptions.Compiled); }