Vixen
dd8b0a81
csharp
public enum TextureFormat

What one image in a TexturePlan stores.

Read the guide page for this →

Remarks

Five, and 32-bit float is deliberately not one of them — doc 48 § M1. A texture graph produces material maps, and a material map that needs more than half-float precision is a map whose author has made a mistake somewhere upstream. The saving is not small: an intermediate at 4K is 128 MiB as Rgba16Float and 256 MiB as four 32-bit floats, and a plan holds several of them at once.

⚠ Those two figures read "16 MB and 32 MB" until #690, which is 8× under — 4096² at eight bytes a texel is 128 MiB. The correction strengthens the exclusion. And it is a policy about material maps rather than a capability limit: Raven admits r32f, rg32f and rgba32f, and Core/Vixen.Rendering/HiZPyramid.cs already dispatches into an R32Float storage image in production, so "no 32-bit float format" was never the reason.

⚠ R8 and Rg8 can be read and cannot be written, which is a fact about the target rather than about this enum — see IsStorable.

Fields and properties (5)

  • R8

    One eight-bit channel: a mask, a height, a roughness.

  • Rg8

    Two eight-bit channels: a tangent-space normal with its third lane reconstructed.

  • Rgba8

    Four eight-bit channels, linear. The ordinary colour intermediate.

  • R16Float

    One half-float channel, for a height field a blur has to stay smooth in.

  • Rgba16Float

    Four half-float channels. The widest thing a plan may ask for.

Used by (77, showing 40)

  • BakedMaterialImageTestsVixen.Graphics.Golden.Tests
  • AutoLevelsNodeVixen.Editor.TextureGraph
  • BitmapNodeVixen.Editor.TextureGraph
  • BlurNodeVixen.Editor.TextureGraph
  • DistanceNodeVixen.Editor.TextureGraph
  • FloodFillNodeVixen.Editor.TextureGraph
  • MeshMapInputNodeVixen.Editor.TextureGraph
  • NormalToHeightOperationVixen.Editor.TextureGraph
  • TextureAdjustTestsVixen.Editor.TextureGraph.Tests
  • TextureAnalysisDeviceTestsVixen.Editor.TextureGraph.Tests
  • TextureAnalysisKernelTestsVixen.Editor.TextureGraph.Tests
  • TextureAspectDeviceTestsVixen.Editor.TextureGraph.Tests
  • TextureBakeVixen.Editor.TextureGraph
  • TextureBlendDeviceTestsVixen.Editor.TextureGraph.Tests
  • TextureBudgetDeviceTestsVixen.Editor.TextureGraph.Tests
  • TextureCeilingTestsVixen.Editor.TextureGraph.Tests
  • TextureCellMetricTestsVixen.Editor.TextureGraph.Tests
  • TextureColourDeviceTestsVixen.Editor.TextureGraph.Tests
  • TextureColourKernelTestsVixen.Editor.TextureGraph.Tests
  • TextureCpuImageVixen.Editor.TextureGraph
  • TextureCpuOpDeviceTestsVixen.Editor.TextureGraph.Tests
  • TextureEmitterVixen.Editor.TextureGraph
  • TextureEvaluationCostTestsVixen.Editor.TextureGraph.Tests
  • TextureExternalUsageTestsVixen.Editor.TextureGraph.Tests
  • TextureFilterDeviceTestsVixen.Editor.TextureGraph.Tests
  • TextureFilterKernelTestsVixen.Editor.TextureGraph.Tests
  • TextureFormatsVixen.Editor.TextureGraph
  • TextureFrameLoopTestsVixen.Editor.TextureGraph.Tests
  • TextureGraphCompilerVixen.Editor.TextureGraph
  • TextureGraphCompilerTestsVixen.Editor.TextureGraph.Tests
  • TextureGraphDeviceTestsVixen.Editor.TextureGraph.Tests
  • TextureGraphPreviewVixen.Editor.Texturing
  • TextureHarnessPatternTestsVixen.Editor.TextureGraph.Tests
  • TextureImageVixen.Editor.TextureGraph
  • TextureKernelSabotageTestsVixen.Editor.TextureGraph.Tests
  • TextureKernelTestsVixen.Editor.TextureGraph.Tests
  • TextureKernelsVixen.Editor.TextureGraph
  • TextureMeshMapNodeTestsVixen.Editor.TextureGraph.Tests
  • TextureMetalReflectanceTestsVixen.Editor.TextureGraph.Tests
  • TextureMixDeviceTestsVixen.Editor.TextureGraph.Tests