コード例 #1
0
ファイル: PBRMaterial.cs プロジェクト: xuyanning/Materia
 public static void ReleaseBRDF()
 {
     if (BRDFLut != null)
     {
         BRDFLut.Release();
         BRDFLut = null;
     }
 }
コード例 #2
0
ファイル: PBRMaterial.cs プロジェクト: xuyanning/Materia
        protected void LoadBRDF()
        {
            if (BRDFLoaded)
            {
                return;
            }

            BRDFLoaded = true;

            Bitmap      bmp  = (Bitmap)Bitmap.FromFile(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "brdf.png"));
            FloatBitmap fbmp = FloatBitmap.FromBitmap(bmp);

            BRDFLut.Bind();
            BRDFLut.SetData(fbmp.Image, PixelFormat.Rgba, fbmp.Width, fbmp.Height);
            BRDFLut.SetFilter((int)TextureMinFilter.Linear, (int)TextureMagFilter.Linear);
            BRDFLut.SetWrap((int)TextureWrapMode.ClampToEdge);
            GLTextuer2D.Unbind();
        }