ProceduralTexture2D.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using UnityEngine;
  3. [Serializable]
  4. [CreateAssetMenu(fileName = "New Procedural Texture 2D", menuName = "", order = 1)]
  5. public class ProceduralTexture2D : ScriptableObject
  6. {
  7. public enum TextureType
  8. {
  9. Color,
  10. Normal,
  11. Other
  12. };
  13. public enum CompressionLevel
  14. {
  15. None = -1,
  16. LowQuality = 0,
  17. NormalQuality = 50,
  18. HighQuality = 100
  19. };
  20. public Texture2D input = null;
  21. public TextureType type = TextureType.Color;
  22. public bool includeAlpha = false;
  23. public bool generateMipMaps = true;
  24. public FilterMode filterMode = FilterMode.Trilinear;
  25. public int anisoLevel = 16;
  26. public CompressionLevel compressionQuality = ProceduralTexture2D.CompressionLevel.HighQuality;
  27. public Texture2D Tinput;
  28. public Texture2D invT;
  29. public Vector3 colorSpaceOrigin = Vector3.zero;
  30. public Vector3 colorSpaceVector1 = Vector3.zero;
  31. public Vector3 colorSpaceVector2 = Vector3.zero;
  32. public Vector3 colorSpaceVector3 = Vector3.zero;
  33. public Vector4 compressionScalers = Vector4.zero;
  34. public long memoryUsageBytes = 0;
  35. // Currently applied parameters
  36. public Texture2D currentInput;
  37. public TextureType currentType;
  38. public bool currentIncludeAlpha;
  39. public bool currentGenerateMipMaps;
  40. public FilterMode currentFilterMode;
  41. public int currentAnisoLevel;
  42. public CompressionLevel currentCompressionQuality;
  43. }