Class1() { var str = "Hello World!"; var mesh = new Point3d(0.0, 0.0, 0.0); Color4f.FromArgb(0.0f, 0.0f, 0.0f, 0.0f); }
public static Color4f Contrast(Color4f color, float contrast) { var red = ((color.R - 0.5f) * contrast) + 0.5f; var green = ((color.G - 0.5f) * contrast) + 0.5f; var blue = ((color.B - 0.5f) * contrast) + 0.5f; red = Math.Min(1.0f, Math.Max(0.0f, red)); green = Math.Min(1.0f, Math.Max(0.0f, green)); blue = Math.Min(1.0f, Math.Max(0.0f, blue)); return(Color4f.FromArgb(color.A, red, green, blue)); }
// our main rendering function. public void Renderer() { RhinoApp.WriteLine("Starting modal MockingBird"); Paused = false; Done = false; using (var channel = RenderWindow.OpenChannel(RenderWindow.StandardChannels.RGBA)) { var size = RenderWindow.Size(); var max = (float)size.Width * size.Height; var rendered = 0; for (var x = 0; x < size.Width; x++) { for (var y = 0; y < size.Height; y++) { channel.SetValue(x, y, Color4f.FromArgb(1.0f, 1.0f, 0.75f, 0.5f)); rendered++; if (Cancel) { break; } RenderWindow.SetProgress("rendering...", rendered / max); } do { Thread.Sleep(10); } while (Paused && !Cancel); if (Cancel) { break; } } } // must set progress to 1.0f to signal RenderWindow (and pipeline/rc) // that rendering is now done. RenderWindow.SetProgress("MockingBird Modal done", 1.0f); // and send completion signal RenderWindow.EndAsyncRender(RenderWindow.RenderSuccessCode.Completed); Done = true; RhinoApp.WriteLine("... done"); }
protected override void SavePixels(float[] pixels, string name) { using (var rw = RenderWindow.Create(new Size(W, H))) { using (var ch = rw.OpenChannel(RenderWindow.StandardChannels.RGBA)) { for (var x = 0; x < W; x++) { for (var y = 0; y < H; y++) { var i = y * W * 4 + x * 4; ch.SetValue(x, y, Color4f.FromArgb(pixels[i + 3], pixels[i], pixels[i + 1], pixels[i + 2])); } } } var tmpfhdr = $"{Environment.GetEnvironmentVariable("TEMP")}\\float_{name}.exr"; rw.SaveRenderImageAs(tmpfhdr, true); } }
private void ColorPass(int pass) { var fac = pass / (float)MaxPasses; var c = Color4f.FromArgb(1.0f, _color.R * fac, _color.G * fac, _color.B * fac); using (var channel = rw.OpenChannel(RenderWindow.StandardChannels.RGBA)) { var size = rw.Size(); for (var x = 0; x < size.Width; x++) { for (var y = 0; y < size.Height; y++) { channel.SetValue(x, y, c); } if (_shutdown) { break; } } } }