private void Glview_Load(object sender, EventArgs e) { ViewContext.VerifyContext(glview); ViewContext.Context.MakeCurrent(glview.WindowInfo); Log.Info("GL Version: " + OpenTK.Graphics.OpenGL.GL.GetString(OpenTK.Graphics.OpenGL.StringName.Version)); IGL.Primary.PatchParameter((int)PatchParameterInt.PatchVertices, 3); IGL.Primary.Enable((int)EnableCap.DepthTest); IGL.Primary.Enable((int)EnableCap.Blend); IGL.Primary.DepthFunc((int)DepthFunction.Lequal); IGL.Primary.BlendFunc((int)BlendingFactor.SrcAlpha, (int)BlendingFactor.OneMinusSrcAlpha); IGL.Primary.Enable((int)EnableCap.CullFace); IGL.Primary.CullFace((int)CullFaceMode.Back); renderStack = new RenderStack(); basePass = new BasePass(null, glview.Width, glview.Height); bloomPass = new BloomPass(glview.Width, glview.Height); renderStack.Add(basePass); renderStack.Add(bloomPass); LoadMeshes(); Task.Run(async() => { //initial hdri load await HdriManager.Load(); }); }
public UI3DPreview() { HdriManager.Scan(); HdriManager.OnHdriLoaded += HdriManager_OnHdriLoaded; Camera.OnCameraChanged += Camera_OnCameraChanged; InitializeComponent(); Instance = this; InitGL(); Console.WriteLine("3d view inited"); }
private void HiddenForm_FormClosing(object sender, FormClosingEventArgs e) { if (graph != null) { graph.Dispose(); } HdriManager.Release(); Materia.Material.PBRMaterial.ReleaseBRDF(); Materia.Material.Material.ReleaseAll(); Materia.Imaging.GLProcessing.ImageProcessor.ReleaseAll(); }
public void Release() { if (defaultBlack != null) { defaultBlack.Release(); defaultBlack = null; } if (defaultWhite != null) { defaultWhite.Release(); defaultWhite = null; } if (defaultGray != null) { defaultGray.Release(); defaultGray = null; } if (defaultDarkGray != null) { defaultDarkGray.Release(); defaultDarkGray = null; } HdriManager.Release(); if (mat != null) { mat.Release(); mat = null; } if (sphere != null) { sphere.Release(); sphere = null; } if (cube != null) { cube.Release(); cube = null; } if (glview != null) { FHost.Child = null; glview.Dispose(); glview = null; } }
public UI3DPreview() { HdriManager.Scan(); HdriManager.OnHdriLoaded += HdriManager_OnHdriLoaded; InitializeComponent(); previewRenderMode = PreviewRenderMode.FullShading; Instance = this; materialSettings = new MaterialSettings(); materialSettings.Load(); materialSettings.OnMaterialUpdated += MaterialSettings_OnMaterialUpdated; lightSettings = new LightingSettings(); lightSettings.OnLightingUpdated += LightSettings_OnLightingUpdated; InitGL(); Log.Info("3d view inited"); }
private void Glview_Load(object sender, EventArgs e) { ViewContext.VerifyContext(glview); ViewContext.Context.MakeCurrent(glview.WindowInfo); GL.Enable(EnableCap.DepthTest); GL.Enable(EnableCap.Blend); GL.DepthFunc(DepthFunction.Lequal); GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha); GL.Enable(EnableCap.CullFace); GL.CullFace(CullFaceMode.Back); LoadMeshes(); lightColor = new TK.Vector3(1, 1, 1); lightPosition = new TK.Vector3(0, 4, 4); Task.Run(async() => { //initial hdri load await HdriManager.Load(); }); }
public void Release() { if (renderStack != null) { renderStack.Release(); renderStack = null; } if (materialSettings != null) { materialSettings.Save(); } if (lightMat != null) { lightMat.Release(); lightMat = null; } if (defaultBlack != null) { defaultBlack.Release(); defaultBlack = null; } if (defaultWhite != null) { defaultWhite.Release(); defaultWhite = null; } if (defaultGray != null) { defaultGray.Release(); defaultGray = null; } if (defaultDarkGray != null) { defaultDarkGray.Release(); defaultDarkGray = null; } HdriManager.Release(); if (tessMat != null) { tessMat.Release(); tessMat = null; } if (mat != null) { mat.Release(); mat = null; } if (sphere != null) { sphere.Release(); sphere = null; } if (cube != null) { cube.Release(); cube = null; } if (cylinder != null) { cylinder.Release(); cylinder = null; } if (cubeRounded != null) { cubeRounded.Release(); cubeRounded = null; } if (plane != null) { plane.Release(); plane = null; } if (custom != null) { custom.Release(); custom = null; } if (lightMesh != null) { lightMesh.Release(); lightMesh = null; } if (glview != null) { FHost.Child = null; glview.Dispose(); glview = null; } }