public void Draw <TSurface, TSource>(ScreenRenderer <TSurface, TSource> screenRenderer) { if (ResolutionChanged) { screenRenderer.UpdateLayers(RenderingUnit); ResolutionChanged = false; } RenderingUnit.Draw(screenRenderer); }
private void CreateUICam() { m_objUICam = new GameObject(); m_objUICam.name = "UICamera"; m_objUICam.layer = GameLayer.UI; m_objUICam.transform.SetParent(m_transRootCanvas, false); m_camUICam = m_objUICam.AddComponent <Camera>(); m_camUICam.orthographic = true; m_compRootCanvas.renderMode = RenderMode.ScreenSpaceCamera; m_compRootCanvas.worldCamera = m_camUICam; m_objUICam.transform.localPosition = new Vector3(0.0f, 0.0f, -150.0f); m_camUICam.farClipPlane = 300.0f; m_camUICam.cullingMask = 1 << GameLayer.UI; m_camUICam.clearFlags = CameraClearFlags.Depth; RenderingUnit unit = new RenderingUnit("UINode", m_camUICam); RenderingMgr.Instance.AddCrucialUnitAtLast("UINode", unit); }
protected override void Render(string[] sourcePathList, IDevice outDevice) { var units = new RenderingUnit[sourcePathList.Length]; try { for (int i = 0; i < sourcePathList.Length; i++) { units[i] = new RenderingUnit(sourcePathList[i], CssTheme); } using (HtmlRenderer renderer = new HtmlRenderer()) { renderer.Render(outDevice, units.Select(x => x.Document).ToArray()); } } catch (Exception e) { throw e; } finally { units.ForEach(x => x?.Dispose()); } }