How to Configure Paint.NET DDS Settings for Games

Configuring DirectDraw Surface (DDS) export settings in Paint.NET is a vital step in game modding and asset development to ensure textures balance visual fidelity with memory performance. This guide covers how to access the DDS save dialog, select the correct block compression (BC) format for your specific texture type, generate mipmaps, and configure error metrics properly.

Accessing the DDS Export Dialog

  1. Open or finalize your texture project in Paint.NET.
  2. Navigate to File > Save As... (or press Ctrl + Shift + S).
  3. In the Save as type dropdown menu, select **DirectDraw Surface (*.dds)**.
  4. Name your file and click Save.
  5. The DDS configuration dialog window will immediately appear with compression and mipmap options.

Choosing the Right Compression Format

The dropdown at the top of the save dialog determines the compression algorithm. Select the format based on the texture's role in the game engine:

  • BC1 (DXT1): Use for opaque textures (diffuse/albedo) or textures with binary (1-bit, fully transparent or fully opaque) alpha channels. This format offers high compression (4 bits per pixel) and saves significant memory.
  • BC3 (DXT5): Use for textures requiring smooth, complex transparency, such as glass, foliage, hair, or decals. It provides an interpolated 8-bit alpha channel alongside compressed color data.
  • BC4: A single-channel grayscale format ideal for height maps, roughness maps, or gloss maps.
  • BC5 (ATI2 / 3Dc): Specifically designed for two-channel data. Use this format for tangent-space normal maps (storing X and Y vectors) to eliminate blocky compression artifacts common to standard formats.
  • BC7: A modern format designed for DirectX 11 and newer engines. It offers the highest visual fidelity with support for both color and high-quality alpha channels, making it the preferred choice for modern titles if supported by the engine.
  • B8G8R8A8 / R8G8B8A8 (Uncompressed): Stores full uncompressed 32-bit color. Use this sparingly, typically only for UI elements or skyboxes where compression artifacts are immediately noticeable and memory limits are flexible.

Configuring Mipmaps

Mipmaps are pre-calculated, progressively lower-resolution copies of a texture used to improve rendering performance and eliminate texture shimmering at a distance.

  1. Check the box labeled Generate Mipmaps.
  2. Select a Mipmap Generation filter from the dropdown:
    • Bicubic or Lanczos: Recommended for most diffuse and color textures, as they maintain sharpness without creating excessive noise.
    • Box: A simple averaging filter that works well for downscaling flat, low-detail textures.
    • Nearest Neighbor: Only use this for pixel-art textures or specialized data masks where blending values breaks functionality.

Setting the Error Metric

Under the compression options, Paint.NET provides a choice for how the compression algorithm calculates color differences:

  • Perceptual: Weighs color channels according to human visual sensitivity (green is prioritized over blue). Use this setting for standard color, albedo, and diffuse textures.
  • Uniform: Treats all color channels with equal mathematical weight. Always select this option when compressing non-color data, such as normal maps, metallic/roughness packing, or mask maps.