Editor/PbrGeneratorResult.cs
using System;
using Sandbox;
public sealed class PbrGeneratorResult : IDisposable
{
public Bitmap Albedo { get; set; }
public Bitmap Height { get; set; }
public Bitmap Normal { get; set; }
public Bitmap Roughness { get; set; }
public Bitmap AmbientOcclusion { get; set; }
public Bitmap Metallic { get; set; }
public Bitmap Orm { get; set; }
public Bitmap GetMap( PbrMapType mapType )
{
return mapType switch
{
PbrMapType.Albedo => Albedo,
PbrMapType.Height => Height,
PbrMapType.Normal => Normal,
PbrMapType.Roughness => Roughness,
PbrMapType.AmbientOcclusion => AmbientOcclusion,
PbrMapType.Metallic => Metallic,
PbrMapType.Orm => Orm,
_ => Albedo
};
}
public void Dispose()
{
Albedo?.Dispose();
Height?.Dispose();
Normal?.Dispose();
Roughness?.Dispose();
AmbientOcclusion?.Dispose();
Metallic?.Dispose();
Orm?.Dispose();
Albedo = null;
Height = null;
Normal = null;
Roughness = null;
AmbientOcclusion = null;
Metallic = null;
Orm = null;
}
}