protected internal override void PrepareContext() { base.PrepareContext(); // Init assets if (Context.InitializeDatabase) { InitializeAssetDatabase(); var renderingSettings = new RenderingSettings(); if (Content.Exists(GameSettings.AssetUrl)) { Settings = Content.Load <GameSettings>(GameSettings.AssetUrl); renderingSettings = Settings.Configurations.Get <RenderingSettings>(); // Set ShaderProfile even if AutoLoadDefaultSettings is false (because that is what shaders in effect logs are compiled against, even if actual instantiated profile is different) if (renderingSettings.DefaultGraphicsProfile > 0) { var deviceManager = (GraphicsDeviceManager)graphicsDeviceManager; if (!deviceManager.ShaderProfile.HasValue) { deviceManager.ShaderProfile = renderingSettings.DefaultGraphicsProfile; } } } // Load several default settings if (AutoLoadDefaultSettings) { var deviceManager = (GraphicsDeviceManager)graphicsDeviceManager; if (renderingSettings.DefaultGraphicsProfile > 0) { deviceManager.PreferredGraphicsProfile = new[] { renderingSettings.DefaultGraphicsProfile }; } if (renderingSettings.DefaultBackBufferWidth > 0) { deviceManager.PreferredBackBufferWidth = renderingSettings.DefaultBackBufferWidth; } if (renderingSettings.DefaultBackBufferHeight > 0) { deviceManager.PreferredBackBufferHeight = renderingSettings.DefaultBackBufferHeight; } deviceManager.PreferredColorSpace = renderingSettings.ColorSpace; SceneSystem.InitialSceneUrl = Settings?.DefaultSceneUrl; } } }
void DoRenderingMode() { RenderingMode mode = RenderingMode.Opaque; shouldShowAlphaCutoff = false; if (IsKeywordEnabled("_RENDERING_CUTOUT")) { mode = RenderingMode.Cutout; shouldShowAlphaCutoff = true; } else if (IsKeywordEnabled("_RENDERING_FADE")) { mode = RenderingMode.Fade; } else if (IsKeywordEnabled("_RENDERING_TRANSPARENT")) { mode = RenderingMode.Transparent; } EditorGUI.BeginChangeCheck(); mode = (RenderingMode)EditorGUILayout.EnumPopup( MakeLabel("Rendering Mode"), mode ); if (EditorGUI.EndChangeCheck()) { RecordAction("Rendering Mode"); SetKeyword("_RENDERING_CUTOUT", mode == RenderingMode.Cutout); SetKeyword("_RENDERING_FADE", mode == RenderingMode.Fade); SetKeyword( "_RENDERING_TRANSPARENT", mode == RenderingMode.Transparent ); RenderingSettings settings = RenderingSettings.modes[(int)mode]; foreach (Material m in editor.targets) { m.renderQueue = (int)settings.queue; m.SetOverrideTag("RenderType", settings.renderType); m.SetInt("_SrcBlend", (int)settings.srcBlend); m.SetInt("_DstBlend", (int)settings.dstBlend); m.SetInt("_ZWrite", settings.zWrite ? 1 : 0); } } if (mode == RenderingMode.Fade || mode == RenderingMode.Transparent) { DoSemitransparentShadows(); } }
public string ExtractPage(string filePath, int pageNumber) { // open and load the file using (FileStream fs = new FileStream(filePath, FileMode.Open)) { Document document = new Document(fs); RenderingSettings settings = new RenderingSettings(); Page currentPage = document.Pages[0]; using (Bitmap bitmap = currentPage.Render((int)currentPage.Width, (int)currentPage.Height, settings)) { var tmpFile = Path.GetTempFileName(); bitmap.Save(tmpFile, ImageFormat.Png); return(tmpFile); } } }
public RenderTexture CreatePartitionTexture(RenderTexture muRenderTexture, RenderingSettings renderingSettings) { _renderingSettings = renderingSettings; _partitionDrawingShader.SetBool("DrawGrayscale", _renderingSettings.DrawGrayscale); _partitionDrawingShader.SetInts("ImageSize", _settings.SpaceSettings.GridSize[0], _settings.SpaceSettings.GridSize[1]); _partitionDrawingShader.SetInt("BorderWidth", _renderingSettings.BorderWidth); _partitionDrawingShader.SetTexture(_partitionDrawingKernel, "MuGrids", muRenderTexture); _partitionDrawingShader.SetBool("DrawThresholdValue", _renderingSettings.DrawWithMistrustCoefficient); _partitionDrawingShader.SetFloat("MuThresholdValue", (float)_renderingSettings.MistrustCoefficient); _partitionDrawingShader.Dispatch(_partitionDrawingKernel, _settings.SpaceSettings.GridSize[0] / _shaderNumThreads.x, _settings.SpaceSettings.GridSize[1] / _shaderNumThreads.y, 1); return(_partitionRenderTexture); }
/// <summary> /// Initializes a new instance of the <see cref="RenderingSettingsForm"/> class. /// </summary> /// <param name="renderingSettings">The rendering settings.</param> public RenderingSettingsForm(RenderingSettings renderingSettings) { InitializeComponent(); if (renderingSettings == null) { renderingSettings = RenderingSettings.Empty; } _renderingSettings = renderingSettings; interpolationModeComboBox.Items.Add(InterpolationMode.Bicubic); interpolationModeComboBox.Items.Add(InterpolationMode.Bilinear); interpolationModeComboBox.Items.Add(InterpolationMode.Default); interpolationModeComboBox.Items.Add(InterpolationMode.High); interpolationModeComboBox.Items.Add(InterpolationMode.HighQualityBicubic); interpolationModeComboBox.Items.Add(InterpolationMode.HighQualityBilinear); interpolationModeComboBox.Items.Add(InterpolationMode.Low); interpolationModeComboBox.Items.Add(InterpolationMode.NearestNeighbor); smoothingModeComboBox.Items.Add(SmoothingMode.AntiAlias); smoothingModeComboBox.Items.Add(SmoothingMode.Default); smoothingModeComboBox.Items.Add(SmoothingMode.HighQuality); smoothingModeComboBox.Items.Add(SmoothingMode.HighSpeed); smoothingModeComboBox.Items.Add(SmoothingMode.None); // if rendering settings are empty if (renderingSettings.IsEmpty || renderingSettings.Resolution.IsEmpty()) { defaultCheckBox.Checked = true; smoothingModeComboBox.SelectedItem = SmoothingMode.HighQuality; interpolationModeComboBox.SelectedItem = InterpolationMode.HighQualityBilinear; optimizeImageDrawingCheckBox.Checked = true; drawSharpImageBordersCheckBox.Checked = true; } else { defaultCheckBox.Checked = false; smoothingModeComboBox.SelectedItem = renderingSettings.SmoothingMode; interpolationModeComboBox.SelectedItem = renderingSettings.InterpolationMode; horizontalResolutionNumericUpDown.Value = (int)renderingSettings.Resolution.Horizontal; verticalResolutionNumericUpDown.Value = (int)renderingSettings.Resolution.Vertical; optimizeImageDrawingCheckBox.Checked = renderingSettings.OptimizeImageDrawing; drawSharpImageBordersCheckBox.Checked = renderingSettings.DrawSharpImageBorders; } }
/// <summary> /// Called when the digest item is selected. /// </summary> /// <param name="sender"> The sender. </param> /// <param name="e"> The <see cref="System.Windows.Forms.ListViewItemSelectionChangedEventArgs" /> instance containing the event data. </param> private void OnSelectResult(object sender, ListViewItemSelectionChangedEventArgs e) { lock (selectionLock) { if (resultsView.SelectedItems.Count != 0) { ResultItem item = (ResultItem)resultsView.SelectedItems[0].Tag; if (item.FileName != currentWorkingFileName || document == null) { if (document != null) { document.Dispose(); } FileStream stream = new FileStream(item.FileName, FileMode.Open, FileAccess.Read, FileShare.Read); // create document used for search and rendering document = new Document(stream); currentWorkingFileName = item.FileName; } Page page = document.Pages[item.SearchResult.PageIndex]; RenderingSettings renderingSettings = new RenderingSettings(); Resolution resolution = new Resolution(72, 72); Bitmap bmp = page.Render(resolution, renderingSettings); // Highlights the search result Graphics gr = Graphics.FromImage(bmp); SearchResultRegion searchResultRegion = page.TransformRegion(item.SearchResult.Region, resolution, renderingSettings); foreach (double[] block in searchResultRegion.Blocks) { PointF[] points = new PointF[block.Length / 2]; for (int i = 0; i < block.Length / 2; i++) { points[i] = new PointF((float)block[i * 2], (float)block[i * 2 + 1]); } gr.FillPolygon(new SolidBrush(Color.FromArgb(50, Color.Yellow)), points); } pictureBox1.Image = bmp; } } }
/// <summary> /// 将PDF文档转换为图片的方法 /// </summary> /// <param name="pdfInputPath">PDF文件路径</param> /// <param name="imageOutputPath">图片输出路径</param> /// <param name="imageName">生成图片的名字</param> /// <param name="startPageNum">从PDF文档的第几页开始转换</param> /// <param name="endPageNum">从PDF文档的第几页开始停止转换</param> /// <param name="imageFormat">设置所需图片格式</param> /// <param name="definition">设置图片的清晰度,数字越大越清晰</param> public static void ConvertPDF2Image(string pdfInputPath, string imageOutputPath, string imageName, int startPageNum, int endPageNum, ImageFormat imageFormat, Definition definition) { FileStream fs = new FileStream(pdfInputPath, FileMode.Open); Apitron.PDF.Rasterizer.Document doc = new Apitron.PDF.Rasterizer.Document(fs); if (!Directory.Exists(imageOutputPath)) { Directory.CreateDirectory(imageOutputPath); } // validate pageNum if (startPageNum <= 0) { startPageNum = 1; } if (endPageNum > doc.Pages.Count) { endPageNum = doc.Pages.Count; } if (startPageNum > endPageNum) { int tempPageNum = startPageNum; startPageNum = endPageNum; endPageNum = startPageNum; } // start to convert each page 0-based numeration for (int i = startPageNum - 1; i <= endPageNum - 1; i++) { RenderingSettings option = new RenderingSettings(); option.DrawImages = true; option.DrawText = true; option.DrawAnotations = true; doc.Pages[i].Render((int)doc.Pages[i].Width, (int)doc.Pages[i].Height, option).Save(imageOutputPath + imageName + i.ToString() + "." + imageFormat, imageFormat); } fs.Dispose(); }
/// <summary> /// 将PDF文档转换为图片的方法 /// </summary> /// <param name="pdfInputPath">PDF文件路径</param> /// <param name="imageOutputPath">图片输出路径</param> /// <param name="imageName">生成图片的名字</param> /// <param name="startPageNum">从PDF文档的第几页开始转换</param> /// <param name="endPageNum">从PDF文档的第几页开始停止转换</param> /// <param name="imageFormat">设置所需图片格式</param> /// <param name="definition">设置图片的清晰度,数字越大越清晰</param> public static void ConvertPDF2Image(string pdfInputPath, string imageOutputPath, string imageName, int startPageNum, int endPageNum, ImageFormat imageFormat, Definition definition) { FileStream fs = new FileStream(pdfInputPath, FileMode.Open); Apitron.PDF.Rasterizer.Document doc = new Apitron.PDF.Rasterizer.Document(fs); if (!Directory.Exists(imageOutputPath)) { Directory.CreateDirectory(imageOutputPath); } // validate pageNum if (startPageNum <= 0) { startPageNum = 1; } if (endPageNum > doc.Pages.Count) { endPageNum = doc.Pages.Count; } if (startPageNum > endPageNum) { int tempPageNum = startPageNum; startPageNum = endPageNum; endPageNum = startPageNum; } // start to convert each page 0-based numeration for (int i = startPageNum-1; i <= endPageNum-1; i++) { RenderingSettings option = new RenderingSettings(); option.DrawImages = true; option.DrawText = true; option.DrawAnotations = true; doc.Pages[i].Render((int) doc.Pages[i].Width, (int) doc.Pages[i].Height, option).Save(imageOutputPath + imageName + i.ToString() + "." + imageFormat, imageFormat); } fs.Dispose(); }
private static void Main(string[] args) { // open and load the file using (FileStream fs = new FileStream(@"..\..\..\Documents\testfile.pdf", FileMode.Open)) { // this objects represents a PDF document Document document = new Document(fs); // intialize settings object RenderingSettings settings = new RenderingSettings(); // i want a special background for my pages settings.BackgroundColor = (uint)Color.LawnGreen.ToArgb(); // annotaions objects like notes, will be drawn settings.DrawAnotations = true; // images will be drawn as well settings.DrawImages = true; // text on settings.DrawText = true; // i want page to be turned 90 degrees clockwise settings.RotationAngle = RotationAngle.Rotate90; // i want page content to fit undistorted, so let's preserve an aspect ratio settings.ScaleMode = ScaleMode.PreserveAspectRatio; // process and save pages one by one for (int i = 0; i < document.Pages.Count; i++) { Page currentPage = document.Pages[i]; // we use original page's width and height for image as well as default rendering settings using (Bitmap bitmap = currentPage.Render((int)currentPage.Width, (int)currentPage.Height, settings)) { bitmap.Save($"{i}.png", ImageFormat.Png); } } System.Diagnostics.Process.Start("0.png"); } }
/// <summary> /// Shows settings of the image viewer. /// </summary> private void ShowSettings() { // image anchor imageAnchorTypeEditor.SelectedAnchorType = _viewer.ImageAnchor; // rendering quality renderingQualityComboBox.SelectedItem = _viewer.RenderingQuality; // focus point focusPointAnchorTypeEditor.SelectedAnchorType = _viewer.FocusPointAnchor; focusPointIsFixedCheckBox.Checked = _viewer.IsFocusPointFixed; // buffering rendererCacheSizeNumericUpDown.Value = (int)Math.Round(_viewer.RendererCacheSize); viewerBufferSizeNumericUpDown.Value = (int)Math.Round(_viewer.ViewerBufferSize); minImageSizeWhenZoomBufferUsedNumericUpDown.Value = (int)Math.Round(_viewer.MinImageSizeWhenZoomBufferUsed); // backgroud color backgoundColorPanelControl.Color = _viewer.BackColor; // rendering _renderingSettings = _viewer.ImageRenderingSettings; previewIntervalOfVectorImagesNumericUpDown.Value = _viewer.IntermediateImagePreviewInterval; vectorRenderingQualityFactorTrackBar.Value = (int)((_viewer.VectorRenderingQualityFactor - 1) * 4f); maxThreadsNumericUpDown.Value = _viewer.MaxThreadsForRendering; renderOnlyVisibleImagesCheckBox.Checked = _viewer.RenderOnlyVisibleImages; // image display mode multipageDisplayModeComboBox.SelectedItem = _viewer.MultipageDisplayMode; layoutDirectionComboBox.SelectedItem = _viewer.MultipageDisplayLayoutDirection; imagesInRowColumnNumericUpDown.Value = _viewer.MultipageDisplayRowCount; imagesPaddingNumericUpDown.Value = (decimal)_viewer.MultipageDisplayImagePadding.All; _imageAppearance = _viewer.ImageAppearance; _focusedImageAppearance = _viewer.FocusedImageAppearance; useImageAppearancesInSinglepageModeCheckBox.Checked = _viewer.UseImageAppearancesInSinglePageMode; // keyboard keyboardNavigationCheckBox.Checked = _viewer.IsKeyboardNavigationEnabled; keyboardNavigationGroupBox.Enabled = keyboardNavigationCheckBox.Checked; keyboardNavigationScrollStepNumericUpDown.Value = _viewer.KeyboardNavigationScrollStep; keyboardNavigationZoomStepNumericUpDown.Value = (decimal)_viewer.KeyboardNavigationZoomStep; }
protected virtual Renderer GetRenderer(Rendering rendering, GetRendererArgs args) { if (rendering.RenderingItem == null || rendering.RenderingItem.InnerItem == null) return null; var settings = new RenderingSettings(); settings.DataSource = rendering.DataSource; settings.Parameters = rendering["Parameters"]; settings.Placeholder = rendering.Placeholder; settings.Caching = RenderingCaching.Parse(rendering.RenderingItem.InnerItem); settings.Conditions = rendering.RenderingItem.Conditions; settings.MultiVariateTest = rendering.RenderingItem.MultiVariateTest; var ctrl = rendering.RenderingItem.GetControl(settings); if (ctrl != null) { return new ControlRenderer(ctrl, ""+rendering.UniqueId); } return null; }
static void Main(string[] args) { using (FileStream fs = new FileStream(@"..\..\..\Documents\LinksUsageSample.pdf", FileMode.Open)) { using (Document doc = new Document(fs)) { // If system does not have Mincho font - it will be substituted by Arial // map the font to all not found fonts using *, it's possible to map particular fonts // using their names EngineSettings.UserFontMappings.Add(new KeyValuePair <string, string[]>("Arial", new[] { "*" })); foreach (var font in doc.Fonts) { if (font.Name.Contains("Mincho")) { Console.WriteLine(font.Name); Console.WriteLine(font.State); Console.WriteLine(font.ActualFontType); Console.WriteLine(font.ActualFontName); } } RenderingSettings settings = new RenderingSettings(); settings.RenderMode = RenderMode.HighQuality; for (int j = 0; j < doc.Pages.Count; j++) { Page page = doc.Pages[j]; Bitmap bm = page.Render(new Resolution(300, 300), settings); if (bm != null) { bm.Save($"out{j}.png"); bm.Dispose(); } } } } Console.WriteLine("Press any key to exit."); Console.ReadKey(); }
/// <summary> /// Преобразование директории pdf в png без масштабирования /// </summary> /// <param name="dirSrcPath"></param> /// <param name="dirDstPath"></param> public static void ConvertPDFDirToImg(string dirSrcPath, string dirDstPath) { string[] files = Directory.GetFiles(dirSrcPath); foreach (string f in files) { string filename = Path.GetFileNameWithoutExtension(f).ToLower(); Document document = new Document(File.Open(f, FileMode.Open)); RenderingSettings settings = new RenderingSettings(); for (int i = 0; i < document.Pages.Count; i++) { Page currentPage = document.Pages[i]; using (Bitmap bitmap = currentPage.Render((int)currentPage.Width, (int)currentPage.Height, settings)) { string imgName = dirDstPath + filename + i + ".png"; bitmap.Save(imgName, System.Drawing.Imaging.ImageFormat.Png); } } } }
/// <summary> /// Sets the rendering settings if necessary. /// </summary> /// <param name="images">The images.</param> /// <param name="encoder">The encoder.</param> /// <param name="defaultRenderingSettings">The default rendering settings.</param> public static void SetRenderingSettingsIfNeed( ImageCollection images, EncoderBase encoder, RenderingSettings defaultRenderingSettings) { if (encoder == null || !(encoder is IPdfEncoder)) { for (int i = 0; i < images.Count; i++) { if (images[i].IsVectorImage) { RenderingSettingsForm settingsForm = new RenderingSettingsForm(defaultRenderingSettings.CreateClone()); if (settingsForm.ShowDialog() == DialogResult.OK) { images.SetRenderingSettings(settingsForm.RenderingSettings); } else { return; } break; } } } }
public void Init(PartitionSettings partitionSettings, RenderingSettings renderingSettings, Color[] centersColors) { _settings = partitionSettings; _renderingSettings = renderingSettings; _centersColors = centersColors; _partitionDrawingKernel = _partitionDrawingShader.FindKernel(PartitionDrawingKernel); _partitionRenderTexture = new RenderTexture(_settings.SpaceSettings.GridSize[0], _settings.SpaceSettings.GridSize[1], 0) { format = RenderTextureFormat.ARGB32, enableRandomWrite = true }; _partitionRenderTexture.Create(); CheckAndReleaseBuffer(); _colorsComputeBuffer = new ComputeBuffer(centersColors.Length, sizeof(float) * 4, ComputeBufferType.Default); _colorsComputeBuffer.SetData(_centersColors); _partitionDrawingShader.SetInt("CentersCount", _settings.CentersSettings.CentersCount); _partitionDrawingShader.SetBuffer(_partitionDrawingKernel, "CentersColors", _colorsComputeBuffer); _partitionDrawingShader.SetTexture(_partitionDrawingKernel, "Result", _partitionRenderTexture); }
RenderingMode DoRenderMode() { RenderingMode mode = RenderingMode.Opaque; if (IsKeywordEnable("_RENDERING_CUTOUT")) { mode = RenderingMode.Cutout; } else if (IsKeywordEnable("_RENDERING_FADE")) { mode = RenderingMode.Fade; } else if (IsKeywordEnable("_RENDERING_TRANSPARENT")) { mode = RenderingMode.Transparent; } EditorGUI.BeginChangeCheck(); mode = (RenderingMode)EditorGUILayout.EnumPopup("Render Mode", mode); if (EditorGUI.EndChangeCheck()) { SetKeyword("_RENDERING_CUTOUT", mode == RenderingMode.Cutout); SetKeyword("_RENDERING_FADE", mode == RenderingMode.Fade); SetKeyword("_RENDERING_TRANSPARENT", mode == RenderingMode.Transparent); RenderingSettings set = RenderingSettings.modes[(int)mode]; foreach (Material m in editor.targets) { m.renderQueue = (int)set.queue; m.SetOverrideTag("RenderType", set.renderType); m.SetInt("_ScrBlend", set.SrcBlend); m.SetInt("_DstBlend", set.DstBlend); m.SetInt("_ZWri", set.zWrite); } } return(mode); }
void DoRenderingMode() { RenderingMode mode = RenderingMode.Opaque; showAlphaCutoff = false; if (IsKeywordEnabled("_RENDERING_CUTOUT")) { mode = RenderingMode.Cutout; showAlphaCutoff = true; } else if (IsKeywordEnabled("_RENDERING_FADE")) { mode = RenderingMode.Fade; } EditorGUI.BeginChangeCheck(); mode = (RenderingMode)EditorGUILayout.EnumPopup ( MakeLabel("Rendering Mode"), mode ); if (EditorGUI.EndChangeCheck()) { RecordAction("Rendering Mode"); SetKeyword("_RENDERING_CUTOUT", mode == RenderingMode.Cutout); SetKeyword("_RENDERING_FADE", mode == RenderingMode.Fade); } RenderingSettings settings = RenderingSettings.modes[(int)mode]; foreach (Material m in editor.targets) { m.renderQueue = (int)settings.queue; m.SetOverrideTag("RenderType", settings.renderType); } }
public PartitionResult CreateFuzzyPartitionWithCentersPlacing(PartitionSettings partitionSettings, RenderingSettings renderingSettings) { _partitionPlacingCentersComputer.Init(partitionSettings); var centersPositions = _partitionPlacingCentersComputer.Run(out var iterationsCount); for (var i = 0; i < centersPositions.Count; i++) { partitionSettings.CentersSettings.CenterDatas[i].Position = centersPositions[i]; } var result = CreateFuzzyPartitionWithFixedCenters(partitionSettings, renderingSettings); result.CentersPositions = centersPositions.ToArray(); result.WorkFinished = true; result.PerformedIterationsCount = iterationsCount; return(result); }
static void Main(string[] args) { // prepare graphics objects Bitmap renderedPage = null; Brush highlightBrush = new SolidBrush(Color.FromArgb(126, 255, 255, 0)); // store rendering settings Resolution renderingResolution = new Resolution(144, 144); RenderingSettings renderingSettings = new RenderingSettings(); Page firstPage = null; // a list of rects to highlight IList <RectangleF> highlightRects = new List <RectangleF>(); // open PDF document using (FileStream fs = new FileStream("../../files/test.pdf", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { using (Document doc = new Document(fs)) { firstPage = doc.Pages[0]; renderedPage = firstPage.Render(renderingResolution, renderingSettings); // parse links and store highlight rects foreach (Link link in firstPage.Links) { if (link.IsUriLink) { Apitron.PDF.Rasterizer.Rectangle locationRect = link.GetLocationRectangle(renderingResolution, renderingSettings); highlightRects.Add(TransformToGDIRect(locationRect, renderedPage.Height)); Console.WriteLine(link.DestinationUri); } } } } // search text in the same document using regular expression matching URLs using (SearchIndex search = new SearchIndex(new FileStream("../../files/test.pdf", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))) { search.Search(handlerArgs => { // first page only if (handlerArgs.PageIndex > 0) { handlerArgs.CancelSearch = true; return; } // add highlight rects by processing found items foreach (SearchResultItem item in handlerArgs.ResultItems) { SearchResultRegion searchResultRegion = firstPage.TransformRegion(item.Region, renderingResolution, renderingSettings); foreach (double[] block in searchResultRegion.Blocks) { float xMin = float.MaxValue; float yMin = float.MaxValue; float xMax = float.MinValue; float yMax = float.MinValue; for (int i = 0; i < block.Length;) { xMin = (float)Math.Min(xMin, block[i]); xMax = (float)Math.Max(xMax, block[i++]); yMin = (float)Math.Min(yMin, block[i]); yMax = (float)Math.Max(yMax, block[i++]); } highlightRects.Add(new RectangleF(xMin, yMin, xMax - xMin, yMax - yMin)); } Console.WriteLine(item.Title); } }, new Regex(@"(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?")); } // render hightllight rects HighlightRects(renderedPage, highlightRects, highlightBrush); renderedPage.Save("renderedPage.png"); Process.Start("renderedPage.png"); Console.WriteLine("Press any key to continue..."); Console.ReadLine(); }
/// <summary> /// Inititalizes new instance of <see cref="CompositeRenderingSettingsForm"/>. /// </summary> /// <param name="renderingSettings">Current rendering settings.</param> public CompositeRenderingSettingsForm(RenderingSettings renderingSettings) : this() { if (renderingSettings == null) { renderingSettings = RenderingSettings.Empty; } _renderingSettings = renderingSettings; // init common settings if (renderingSettings.IsEmpty || renderingSettings.Resolution.IsEmpty()) { resolutionSettingsCheckBox.Checked = false; } else { resolutionSettingsCheckBox.Checked = true; horizontalResolutionNumericUpDown.Value = (int)renderingSettings.Resolution.Horizontal; verticalResolutionNumericUpDown.Value = (int)renderingSettings.Resolution.Vertical; } smoothingModeComboBox.SelectedItem = renderingSettings.SmoothingMode; interpolationModeComboBox.SelectedItem = renderingSettings.InterpolationMode; optimizeImageDrawingCheckBox.Checked = renderingSettings.OptimizeImageDrawing; drawSharpImageBordersCheckBox.Checked = renderingSettings.DrawSharpImageBorders; // init PDF settings bool isPdfSettingsEnabled = false; #if !REMOVE_PDF_PLUGIN // get the PDF rendering settings from image rendering settings PdfRenderingSettings pdfSettings = CompositeRenderingSettings.GetRenderingSettings <PdfRenderingSettings>(renderingSettings); // if PDF rendering settings are found if (pdfSettings != null) { // set the form properties according to the PDF rendering settings PdfAnnotationRenderingMode renderingMode = pdfSettings.AnnotationRenderingMode; vintasoftAnnotationsCheckBox.Checked = (renderingMode & PdfAnnotationRenderingMode.VintasoftAnnotations) != 0; nonMarkupAnnotationsCheckBox.Checked = (renderingMode & PdfAnnotationRenderingMode.NonMarkupAnnotations) != 0; markupAnnotationsCheckBox.Checked = (renderingMode & PdfAnnotationRenderingMode.MarkupAnnotations) != 0; renderInvisibleCheckBox.Checked = (renderingMode & PdfAnnotationRenderingMode.RenderInvisible) != 0; renderHiddenCheckBox.Checked = (renderingMode & PdfAnnotationRenderingMode.RenderHidden) != 0; renderPrintableCheckBox.Checked = (renderingMode & PdfAnnotationRenderingMode.RenderPrintable) != 0; renderNoViewCheckBox.Checked = (renderingMode & PdfAnnotationRenderingMode.RenderNoView) != 0; renderDisplayableCheckBox.Checked = (renderingMode & PdfAnnotationRenderingMode.RenderDisplayable) != 0; ignoreImageInterpolationFlagCheckBox.Checked = pdfSettings.IgnoreImageInterpolateFlag; optimizePatternRenderingCheckBox.Checked = pdfSettings.OptimizePatternRendering; drawErrorsCheckBox.Checked = pdfSettings.DrawResourceErrorMessages; isPdfSettingsEnabled = true; } #endif // if PDF document rendering settings are not enabled if (!isPdfSettingsEnabled) { // remove tab page with PDF document rendering settings from the form renderingSettingsTabControl.TabPages.Remove(pdfSettingsTabPage); } // init the Office document settings bool isOfficeDocumentSettingsEnabled = false; #if !REMOVE_OFFICE_PLUGIN // get the Office document markup rendering settings from image rendering settings MarkupRenderingSettings markupSettings = CompositeRenderingSettings.GetRenderingSettings <MarkupRenderingSettings>(renderingSettings); // if Office document markup rendering settings are found if (markupSettings != null) { // set the form properties according to the Office document markup rendering settings textRenderingHintComboBox.SelectedItem = markupSettings.TextRenderingHint; showInvisibleTableBordersCheckBox.Checked = markupSettings.ShowInvisibleTableBorders; invisibleTableBordersColorPanelControl.CanSetColor = true; invisibleTableBordersColorPanelControl.Color = markupSettings.InvisibleTableBordersColor; invisibleTableBordersGroupBox.Enabled = showInvisibleTableBordersCheckBox.Checked; showNonPrintableCharactersCheckBox.Checked = markupSettings.ShowNonPrintableCharacters; isOfficeDocumentSettingsEnabled = true; } #endif // if Office document rendering settings are not enabled if (!isOfficeDocumentSettingsEnabled) { // remove tab page with Office document rendering settings from the form renderingSettingsTabControl.TabPages.Remove(officeSettingsTabPage); } }
void DoRenderingMode() { ShadowsCUlling shadowCulling = ShadowsCUlling.Off; switch (Mathf.RoundToInt(target.GetFloat("_ShadowsCulling"))) { case 0: shadowCulling = ShadowsCUlling.Back; break; case 1: shadowCulling = ShadowsCUlling.Front; break; } EditorGUI.BeginChangeCheck(); shadowCulling = ( ShadowsCUlling )EditorGUILayout.EnumPopup( MakeLabel("ShadowCulling"), shadowCulling ); if (EditorGUI.EndChangeCheck()) { RecordAction("ShadowCulling"); foreach (Material m in editor.targets) { if (shadowCulling == ShadowsCUlling.Back) { m.SetInt("_ShadowsCulling", 0); } else if (shadowCulling == ShadowsCUlling.Front) { m.SetInt("_ShadowsCulling", 1); } else { m.SetInt("_ShadowsCulling", 2); } } } RenderingMode mode = RenderingMode.Opaque; shouldShowAlphaCutoff = false; if (IsKeywordEnabled("_RENDERING_CUTOUT")) { shouldShowAlphaCutoff = true; mode = RenderingMode.Cutout; } else if (IsKeywordEnabled("_RENDERING_FADE")) { mode = RenderingMode.Fade; } else if (IsKeywordEnabled("_RENDERING_TRANSPARENT")) { mode = RenderingMode.Transparent; } EditorGUI.BeginChangeCheck(); mode = ( RenderingMode )EditorGUILayout.EnumPopup( MakeLabel("Rendering Mode"), mode ); if (EditorGUI.EndChangeCheck()) { RecordAction("Rendering Mode"); SetKeyword("_RENDERING_CUTOUT", mode == RenderingMode.Cutout); SetKeyword("_RENDERING_FADE", mode == RenderingMode.Fade); SetKeyword( "_RENDERING_TRANSPARENT", mode == RenderingMode.Transparent ); RenderingSettings settings = RenderingSettings.modes[( int )mode]; foreach (Material m in editor.targets) { m.renderQueue = ( int )settings.queue; m.SetOverrideTag("RenderType", settings.renderType); m.SetInt("_SrcBlend", ( int )settings.srcBlend); m.SetInt("_DstBlend", ( int )settings.dstBlend); m.SetInt("_ZWrite", settings.zWrite ? 1 : 0); } } }
public override string Run(Item item, RenderingSettings renderingSettings) { var a = renderingSettings.Parameters; return "hh"; }
private unsafe IntPtr CreateRenderingContext(IntPtr dc, IntPtr shareContextHandle, RenderingSettings settings) { var pixelformatdescriptor = new PIXELFORMATDESCRIPTOR { nSize = (ushort)sizeof(PIXELFORMATDESCRIPTOR) }; int pixelFormat = 0; if (choosePixelFormat == null) { pixelformatdescriptor.nVersion = 1; pixelformatdescriptor.dwFlags = PFD_DOUBLEBUFFER | PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL; if (settings.Stereo) { pixelformatdescriptor.dwFlags |= PFD_STEREO; } pixelformatdescriptor.cColorBits = (byte)settings.ColorBits; pixelformatdescriptor.cAlphaBits = (byte)settings.AlphaBits; pixelformatdescriptor.cAccumBits = (byte)settings.AccumBits; pixelformatdescriptor.cDepthBits = (byte)settings.DepthBits; pixelformatdescriptor.cStencilBits = (byte)settings.StencilBits; pixelformatdescriptor.cAuxBuffers = (byte)settings.AuxBuffers; pixelformatdescriptor.iLayerType = PFD_MAIN_PLANE; pixelFormat = ChoosePixelFormat(dc, ref pixelformatdescriptor); if (pixelFormat == 0) { throw new Win32Exception(Marshal.GetLastWin32Error()); } } else { var attributeList = stackalloc int[32]; int i = 0; attributeList[i++] = WGL_SUPPORT_OPENGL_ARB; attributeList[i++] = 1; attributeList[i++] = WGL_DRAW_TO_WINDOW_ARB; attributeList[i++] = 1; attributeList[i++] = WGL_DOUBLE_BUFFER_ARB; attributeList[i++] = 1; attributeList[i++] = WGL_ACCELERATION_ARB; attributeList[i++] = WGL_FULL_ACCELERATION_ARB; attributeList[i++] = WGL_PIXEL_TYPE_ARB; attributeList[i++] = WGL_TYPE_RGBA_ARB; attributeList[i++] = WGL_COLOR_BITS_ARB; attributeList[i++] = settings.ColorBits; attributeList[i++] = WGL_ALPHA_BITS_ARB; attributeList[i++] = settings.AlphaBits; attributeList[i++] = WGL_DEPTH_BITS_ARB; attributeList[i++] = settings.DepthBits; attributeList[i++] = WGL_STENCIL_BITS_ARB; attributeList[i++] = settings.StencilBits; attributeList[i++] = WGL_ACCUM_BITS_ARB; attributeList[i++] = settings.AccumBits; attributeList[i++] = WGL_AUX_BUFFERS_ARB; attributeList[i++] = settings.AuxBuffers; if (settings.Stereo) { attributeList[i++] = WGL_STEREO_ARB; attributeList[i++] = 1; } if (multisample && settings.Samples > 0) { attributeList[i++] = WGL_SAMPLES_ARB; attributeList[i++] = settings.Samples; } uint nPixelFormats; if (choosePixelFormat(dc, attributeList, null, 1, &pixelFormat, &nPixelFormats) == 0) { throw new Win32Exception(Marshal.GetLastWin32Error()); } if (DescribePixelFormat(dc, pixelFormat, (uint)sizeof(PIXELFORMATDESCRIPTOR), ref pixelformatdescriptor) == 0) { throw new Win32Exception(Marshal.GetLastWin32Error()); } } if (SetPixelFormat(dc, pixelFormat, ref pixelformatdescriptor) == 0) { throw new Win32Exception(Marshal.GetLastWin32Error()); } IntPtr result; if (createContextAttribs == null) { if (shareContextHandle != IntPtr.Zero) { throw new InvalidOperationException(Resources.GetMessage(Resources.Key.RenderingContextSharingNotSupported)); } result = wglCreateContext(dc); } else { var attributeList = stackalloc int[16]; result = createContextAttribs(dc, shareContextHandle, attributeList); } if (result == IntPtr.Zero) { throw new Win32Exception(Marshal.GetLastWin32Error()); } return(result); }
public bool TryGetScreenClearColor(ref Color color) { return(MaterialSettings.TryGetScreenClearColor(ref color) || RenderingSettings.TryGetScreenClearColor(ref color) || LightingSettings.TryGetScreenClearColor(ref color)); }
public override void OnGUI(MaterialEditor editor, MaterialProperty[] properties) { this.target = editor.target as Material; this.editor = editor; this.properties = properties; RenderingMode renderingMode = RenderingMode.Opaque; if (IsKeywordEnabled("_RENDERING_CUTOUT")) { renderingMode = RenderingMode.Cutout; } else if (IsKeywordEnabled("_RENDERING_FADE")) { renderingMode = RenderingMode.Fade; } else if (IsKeywordEnabled("_RENDERING_TRANSPARENT")) { renderingMode = RenderingMode.Transparent; } EditorGUI.BeginChangeCheck(); renderingMode = (RenderingMode)EditorGUILayout.EnumPopup("Rendering Mode", renderingMode); if (EditorGUI.EndChangeCheck()) { editor.RegisterPropertyChangeUndo("Rendering Mode"); SetKeyword("_RENDERING_CUTOUT", renderingMode == RenderingMode.Cutout); SetKeyword("_RENDERING_FADE", renderingMode == RenderingMode.Fade); SetKeyword("_RENDERING_TRANSPARENT", renderingMode == RenderingMode.Transparent); RenderingSettings settings = RenderingSettings.modes[(int)renderingMode]; foreach (Material m in editor.targets) { m.renderQueue = (int)settings.queue; m.SetOverrideTag("RenderType", settings.renderType); m.SetInt("_SrcBlend", (int)settings.srcBlend); m.SetInt("_DstBlend", (int)settings.dstBlend); m.SetInt("_ZWrite", settings.zWrite ? 1 : 0); } } // wireframe render if (target.HasProperty("_WireframeColor")) { GUILayout.Label("Wireframe", EditorStyles.boldLabel); EditorGUI.indentLevel += 2; editor.ShaderProperty(FindProperty("_WireframeColor"), MakeLabel("Color")); editor.ShaderProperty(FindProperty("_WireframeSmoothing"), MakeLabel("Smoothing", "In screen space.")); editor.ShaderProperty(FindProperty("_WireframeThickness"), MakeLabel("Thickness", "In screen space.") ); EditorGUI.indentLevel -= 2; } // Main Maps GUILayout.Label("Main Maps", EditorStyles.boldLabel); MaterialProperty mainTex = FindProperty("_MainTex"); editor.TexturePropertySingleLine(MakeLabel(mainTex, "Albedo (RGB)"), mainTex, FindProperty("_Color")); // cutout if (renderingMode == RenderingMode.Cutout) { MaterialProperty alphatCutoff = FindProperty("_Cutoff"); EditorGUI.indentLevel += 2; editor.ShaderProperty(alphatCutoff, MakeLabel(alphatCutoff)); EditorGUI.indentLevel -= 2; } // metallic MaterialProperty metallic = FindProperty("_MetallicMap"); EditorGUI.BeginChangeCheck(); editor.TexturePropertySingleLine(MakeLabel(metallic, "Metallic (R)"), metallic, metallic.textureValue ? null : FindProperty("_Metallic")); if (EditorGUI.EndChangeCheck()) { SetKeyword("_METALLIC_MAP", metallic.textureValue); } // smothnes SmoothnessSource source = SmoothnessSource.Uniform; if (IsKeywordEnabled("_SMOOTHNESS_ALBEDO")) { source = SmoothnessSource.Albedo; } else if (IsKeywordEnabled("_SMOOTHNESS_METALLIC")) { source = SmoothnessSource.Metallic; } MaterialProperty smoothness = FindProperty("_Smoothness"); EditorGUI.indentLevel += 2; editor.ShaderProperty(smoothness, MakeLabel(smoothness)); EditorGUI.BeginChangeCheck(); source = (SmoothnessSource)EditorGUILayout.EnumPopup("Source", source); if (EditorGUI.EndChangeCheck()) { editor.RegisterPropertyChangeUndo("Smoothness Source"); SetKeyword("_SMOOTHNESS_ALBEDO", source == SmoothnessSource.Albedo); SetKeyword("_SMOOTHNESS_METALLIC", source == SmoothnessSource.Metallic); } EditorGUI.indentLevel -= 2; // normal MaterialProperty normal = FindProperty("_NormalMap"); EditorGUI.BeginChangeCheck(); editor.TexturePropertySingleLine(MakeLabel(normal), normal, FindProperty("_BumpScale")); if (EditorGUI.EndChangeCheck()) { SetKeyword("_NORMAL_MAP", normal.textureValue); } // emission MaterialProperty emission = FindProperty("_EmissionMap"); EditorGUI.BeginChangeCheck(); editor.TexturePropertyWithHDRColor( MakeLabel(emission, "Emission (RGB)"), emission, FindProperty("_Emission"), emissionConfig, false ); editor.LightmapEmissionProperty(2); if (EditorGUI.EndChangeCheck()) { SetKeyword("_EMISSION_MAP", emission.textureValue); foreach (Material m in editor.targets) { m.globalIlluminationFlags &= ~MaterialGlobalIlluminationFlags.EmissiveIsBlack; } } // occlusion MaterialProperty occlusion = FindProperty("_OcclusionMap"); EditorGUI.BeginChangeCheck(); editor.TexturePropertySingleLine( MakeLabel(occlusion, "Occlusion (G)"), occlusion, occlusion.textureValue ? FindProperty("_OcclusionStrength") : null ); if (EditorGUI.EndChangeCheck()) { SetKeyword("_OCCLUSION_MAP", occlusion.textureValue); } // detail mask MaterialProperty detailmask = FindProperty("_DetailMask"); EditorGUI.BeginChangeCheck(); editor.TexturePropertySingleLine( MakeLabel(detailmask, "Detail Mask (A)"), detailmask ); if (EditorGUI.EndChangeCheck()) { SetKeyword("_DETAIL_MASK", detailmask.textureValue); } editor.TextureScaleOffsetProperty(mainTex); // Second Maps GUILayout.Label("Secondary Maps", EditorStyles.boldLabel); MaterialProperty detailTex = FindProperty("_DetailTex"); EditorGUI.BeginChangeCheck(); editor.TexturePropertySingleLine( MakeLabel(detailTex, "Albedo (RGB) multiplied by 2"), detailTex ); if (EditorGUI.EndChangeCheck()) { SetKeyword("_DETAIL_ALBEDO_MAP", detailTex.textureValue); } MaterialProperty detailNormal = FindProperty("_DetailNormalMap"); EditorGUI.BeginChangeCheck(); editor.TexturePropertySingleLine( MakeLabel(detailNormal), detailNormal, FindProperty("_DetailBumpScale") ); if (EditorGUI.EndChangeCheck()) { SetKeyword("_DETAIL_NORMAL_MAP", detailNormal.textureValue); } editor.TextureScaleOffsetProperty(detailTex); // Advanced GUILayout.Label("Advanced Options", EditorStyles.boldLabel); editor.EnableInstancingField(); }
public override void OnGUI(MaterialEditor editor, MaterialProperty[] properties) { this.target = editor.target as Material; this.editor = editor; this.properties = properties; MaterialProperty _MainTex = FindProperty("_MainTex"); MaterialProperty _AlphaCutoff = FindProperty("_AlphaCutoff"); MaterialProperty _Transparency = FindProperty("_Transparency"); MaterialProperty _N64 = FindProperty("_N64"); MaterialProperty _GammaToLinear = FindProperty("_GammaToLinear"); MaterialProperty _IgnoreVertexColor = FindProperty("_IgnoreVertexColor"); MaterialProperty _Spec = FindProperty("_Spec"); MaterialProperty _SpecColor = FindProperty("_SpecColor"); MaterialProperty _Shininess = FindProperty("_Shininess"); MaterialProperty _Emission = FindProperty("_Emission"); MaterialProperty _EmissionTex = FindProperty("_EmissionTex"); MaterialProperty _Overlay = FindProperty("_Overlay"); MaterialProperty _UV = FindProperty("_UV"); MaterialProperty _WorldPos = FindProperty("_WorldPos"); MaterialProperty _Blend = FindProperty("_Blend"); MaterialProperty _OverlayTex = FindProperty("_OverlayTex"); MaterialProperty _ScrollSpeedX = FindProperty("_ScrollSpeedX"); MaterialProperty _ScrollSpeedY = FindProperty("_ScrollSpeedY"); MaterialProperty _SelfIllum = FindProperty("_SelfIllum"); // rendering mode RenderingMode mode = RenderingMode.Opaque; if (target.IsKeywordEnabled("_RENDERING_CUTOUT")) { mode = RenderingMode.Cutout; } else if (target.IsKeywordEnabled("_RENDERING_FADE")) { mode = RenderingMode.Fade; } else if (target.IsKeywordEnabled("_RENDERING_TRANSPARENT")) { mode = RenderingMode.Transparent; } EditorGUI.BeginChangeCheck(); mode = (RenderingMode)EditorGUILayout.EnumPopup(MakeLabel("Rendering Mode"), mode); if (EditorGUI.EndChangeCheck()) { editor.RegisterPropertyChangeUndo("Rendering Mode"); if (mode == RenderingMode.Cutout) { target.EnableKeyword("_RENDERING_CUTOUT"); } else { target.DisableKeyword("_RENDERING_CUTOUT"); } if (mode == RenderingMode.Fade) { target.EnableKeyword("_RENDERING_FADE"); } else { target.DisableKeyword("_RENDERING_FADE"); } if (mode == RenderingMode.Transparent) { target.EnableKeyword("_RENDERING_TRANSPARENT"); } else { target.DisableKeyword("_RENDERING_TRANSPARENT"); } RenderingSettings settings = RenderingSettings.modes[(int)mode]; foreach (Material m in editor.targets) { m.renderQueue = (int)settings.queue; m.SetOverrideTag("RenderType", settings.renderType); m.SetInt("_SrcBlend", (int)settings.srcBlend); m.SetInt("_DstBlend", (int)settings.dstBlend); m.SetInt("_ZWrite", settings.zWrite ? 1 : 0); } } // diffuse texture + tint GUILayout.Label("Main Texture", EditorStyles.boldLabel); editor.TexturePropertySingleLine(MakeLabel(_MainTex, "Diffuse (RGBA)"), _MainTex, FindProperty("_Tint")); if (target.IsKeywordEnabled("_RENDERING_CUTOUT")) { editor.ShaderProperty(_AlphaCutoff, MakeLabel(_AlphaCutoff)); } else if (target.IsKeywordEnabled("_RENDERING_FADE") || target.IsKeywordEnabled("_RENDERING_TRANSPARENT")) { editor.ShaderProperty(_Transparency, MakeLabel(_Transparency)); } editor.ShaderProperty(_N64, MakeLabel(_N64)); editor.TextureScaleOffsetProperty(_MainTex); // vertex color options editor.ShaderProperty(_GammaToLinear, MakeLabel(_GammaToLinear)); editor.ShaderProperty(_IgnoreVertexColor, MakeLabel(_IgnoreVertexColor)); // specular editor.ShaderProperty(_Spec, MakeLabel(_Spec)); if (_Spec.floatValue == 1) { editor.ShaderProperty(_SpecColor, MakeLabel(_SpecColor)); editor.ShaderProperty(_Shininess, MakeLabel(_Shininess)); } // emission editor.ShaderProperty(_Emission, MakeLabel(_Emission)); if (_Emission.floatValue == 1) { editor.TexturePropertySingleLine(MakeLabel(_EmissionTex, "Emission (RGB)"), _EmissionTex, FindProperty("_EmissionColor")); editor.TextureScaleOffsetProperty(_EmissionTex); } // overlay texture editor.ShaderProperty(_Overlay, MakeLabel(_Overlay)); if (_Overlay.floatValue != 0) { editor.TexturePropertySingleLine(MakeLabel(_OverlayTex, "Overlay Texture (RGB)"), _OverlayTex, FindProperty("_OverlayColor")); editor.ShaderProperty(_Blend, MakeLabel(_Blend)); EditorGUI.indentLevel += 2; editor.ShaderProperty(_UV, MakeLabel(_UV)); if (_UV.floatValue > 2) { editor.ShaderProperty(_WorldPos, MakeLabel(_WorldPos)); } editor.TextureScaleOffsetProperty(_OverlayTex); editor.ShaderProperty(_ScrollSpeedX, MakeLabel(_ScrollSpeedX)); editor.ShaderProperty(_ScrollSpeedY, MakeLabel(_ScrollSpeedY)); EditorGUI.indentLevel -= 2; } // lighting editor.ShaderProperty(_SelfIllum, MakeLabel(_SelfIllum)); // other GUILayout.Label("Other", EditorStyles.boldLabel); EditorGUI.BeginChangeCheck(); _Cull = (bool)EditorGUILayout.Toggle("Backface Culling", _Cull); if (EditorGUI.EndChangeCheck()) { editor.RegisterPropertyChangeUndo("Backface Culling"); foreach (Material m in editor.targets) { m.SetInt("_Cull", _Cull ? (int)CullMode.Back : (int)CullMode.Off); } } }
/// <summary> /// Return the string that will be added to the index /// </summary> /// <param name="item"></param> /// <param name="renderingSettings"></param> /// <returns></returns> public abstract string Run(Item item, RenderingSettings renderingSettings);
/// <inheritdoc/> protected override void PrepareContext(float overridefov = -1f) { base.PrepareContext(overridefov); // Init assets if (Context.InitializeDatabase) { databaseFileProvider = InitializeAssetDatabase(); ((DatabaseFileProviderService)Services.GetService <IDatabaseFileProviderService>()).FileProvider = databaseFileProvider; var renderingSettings = new RenderingSettings(); if (Content.Exists(GameSettings.AssetUrl)) { Settings = Content.Load <GameSettings>(GameSettings.AssetUrl); renderingSettings = Settings.Configurations.Get <RenderingSettings>(); // Set ShaderProfile even if AutoLoadDefaultSettings is false (because that is what shaders in effect logs are compiled against, even if actual instantiated profile is different) if (renderingSettings.DefaultGraphicsProfile > 0) { var deviceManager = (GraphicsDeviceManager)graphicsDeviceManager; if (!deviceManager.ShaderProfile.HasValue) { deviceManager.ShaderProfile = renderingSettings.DefaultGraphicsProfile; } } Services.AddService <IGameSettingsService>(this); } // Load several default settings if (AutoLoadDefaultSettings) { var deviceManager = (GraphicsDeviceManager)graphicsDeviceManager; if (renderingSettings.DefaultGraphicsProfile > 0) { deviceManager.PreferredGraphicsProfile = new[] { renderingSettings.DefaultGraphicsProfile }; } deviceManager.PreferredColorSpace = renderingSettings.ColorSpace; renderingSettings.DefaultBackBufferWidth = deviceManager.preferredBackBufferWidth; renderingSettings.DefaultBackBufferHeight = deviceManager.PreferredBackBufferHeight; SceneSystem.InitialSceneUrl = Settings?.DefaultSceneUrl; SceneSystem.OverrideFOV = overridefov; SceneSystem.InitialGraphicsCompositorUrl = Settings?.DefaultGraphicsCompositorUrl; SceneSystem.SplashScreenUrl = Settings?.SplashScreenUrl; SceneSystem.SplashScreenColor = Settings?.SplashScreenColor ?? Color4.Black; SceneSystem.DoubleViewSplashScreen = Settings?.DoubleViewSplashScreen ?? false; } // apply rendersettings Xenko.Graphics.Buffer.CaptureIndexBuffersOfSize = renderingSettings.CaptureIndexBufferOfSize; Xenko.Graphics.Buffer.CaptureVertexBuffersOfSize = renderingSettings.CaptureVertexBufferOfSize; Xenko.Graphics.Buffer.UploadBufferSizeInMB = renderingSettings.UploadBufferSizeInMB; Xenko.Graphics.Buffer.SmallPooledBufferSize = (ulong)renderingSettings.SmallPooledBufferSize; Xenko.Graphics.Buffer.SmallPooledBufferCount = (ulong)renderingSettings.SmallPooledBufferCount; Xenko.Graphics.Buffer.LargePooledBufferSize = (ulong)renderingSettings.LargePooledBufferSize; Xenko.Graphics.Buffer.LargePooledBufferCount = (ulong)renderingSettings.LargedPooledBufferCount; VisibilityGroup.CullSmallFactor = renderingSettings.SmallCullFactor; VisibilityGroup.CullShadowsSmallFactor = renderingSettings.SmallShadowCullFactor; ModelComponent.DefaultShadowCasters = renderingSettings.DefaultShadowCasters; // enable error file logging? if (renderingSettings.DisableErrorFileLog == false) { ErrorFileLogger.EnableGlobalExceptionLogger(); } else { // should already be disabled, but we'll make sure ErrorFileLogger.Disable(); } } }
public PartitionResult CreateFuzzyPartitionWithFixedCenters(PartitionSettings partitionSettings, RenderingSettings renderingSettings) { _partitionFixedCentersComputer.Init(partitionSettings); var muRenderTexture = _partitionFixedCentersComputer.Run(out var psiGridTexture); var result = new PartitionResult { TargetFunctionalValue = CalculateTargetFunctionalValue(partitionSettings, muRenderTexture), DualFunctionalValue = CalculateDualFunctionalValue(partitionSettings, psiGridTexture), WorkFinished = true }; _partitionImageShower.RenderingSettings = renderingSettings; _partitionImageShower.CreatePartitionAndShow(partitionSettings, muRenderTexture); return(result); }
internal RenderingSettingsForm(RenderingSettings settings) { InitializeComponent(); _settings = settings; SettingsGrid.SelectedObject = _settings; }
public static GraphicsPlatform GetGraphicsPlatform(this AssetCompilerContext context, Package package) { var settings = package.GetGameSettingsAsset(); return(settings == null?context.Platform.GetDefaultGraphicsPlatform() : RenderingSettings.GetGraphicsPlatform(context.Platform, settings.Get <RenderingSettings>(context.Profile).PreferredGraphicsPlatform)); }
public void RedrawPartitionWithSettings(RenderingSettings renderingSettings) { _partitionImageShower.RenderingSettings = renderingSettings; _partitionImageShower.CreatePartitionAndShow(); }
static frmMain() { frmMain.markBrush = new SolidBrush(Color.FromArgb(100, Color.Yellow)); frmMain.renderingSettings = new RenderingSettings(); }
public PrefabModelAssetCompileCommand(string url, PrefabModelAsset parameters, AssetItem assetItem, RenderingSettings renderingSettings) : base(url, parameters, assetItem.Package) { this.renderingSettings = renderingSettings; }
/// <summary> /// Invalidates this instance. /// </summary> public void Invalidate() { if (this.rendered) { return; } this.rendered = true; this.OnPropertyChanged("Width"); this.OnPropertyChanged("Height"); this.OnPropertyChanged("ImageSource"); int desiredWidth = Width; int desiredHeight = Height; if (this.tokenSource != null) { this.tokenSource.Cancel(); } this.tokenSource = new CancellationTokenSource(); this.tokenSource.Token.ThrowIfCancellationRequested(); Dispatcher dispatcher = Dispatcher.CurrentDispatcher; this.image = new byte[desiredWidth * desiredHeight * 4]; RenderingSettings renderingSettings = new RenderingSettings(); renderingSettings.DrawText = this.DrawText; renderingSettings.DrawImages = this.DrawImages; renderingSettings.DrawPaths = this.DrawPaths; renderingSettings.DrawAnotations = this.DrawAnnotations; renderingSettings.AnnotationRenderingSettings = new RenderingSettings(); renderingSettings.AnnotationRenderingSettings.DrawText = this.DrawAnnotationsText; // Uncomment to not draw annotations // renderingSettings.DrawAnotations = false; Task renderingTask = new Task(() => this.page.RenderAsBytes(desiredWidth, desiredHeight, this.image, renderingSettings)); this.task = Task.Factory.StartNew( () => { renderingTask.Start(); while (!(renderingTask.IsCompleted || renderingTask.IsCanceled || renderingTask.IsFaulted)) { if (tokenSource.IsCancellationRequested) { renderingSettings.CancelRendering(); this.rendered = false; this.task = null; this.source = null; this.tokenSource = null; this.image = null; break; } renderingTask.Wait(1000); dispatcher.Invoke(DispatcherPriority.DataBind, new Action(() => { source = BitmapSource.Create(this.Width, this.Height, 72, 72, PixelFormats.Bgra32, null, image, 4 * this.Width); this.OnPropertyChanged("ImageSource"); })); } this.image = null; dispatcher.Invoke(DispatcherPriority.Background, new Action(() => { if (this.source != null) { this.source.Freeze(); } })); GC.Collect(); }, this.tokenSource.Token); }