PANORA|make 4.0 Docs
YouTube Tutorials
  • Introduction
    • Licenses Differences
    • 🎬 Installation
  • 🎬 Starting a new Instance
  • Interface Overview
    • 🎬 Builder Interface
      • Building Materials
      • Building Masks
        • 🎬 Filters & Noise
        • 🎬 Blending Filters & Linking Masks
        • Manual Sub-Layer Drawing
      • 🎬 Using Effects
      • 🎬Building Grass, Physical Materials & Adjustements
      • Global Features & Settings
      • 🎬 LOOKDEV View
      • Console Area
    • Builder Settings
    • Exporting/Importing Presets & Materials
    • 🎬 sRGB/RAW/Normal Color Space management
  • Setting Up Instance
    • Biomes Workflow
    • Adding Displacement
    • Making Holes in the Landscape
    • 🎬 Landscape Caching for better Performance
    • Using a Satellite Material
    • Using a Fresnel effect on the Instance
  • SCALABILITY AND CROSS-PLATFORM DEVELOPMENT
    • Performance Tips
    • Scalability Options
    • Unified Cross-Platform Development
      • ES3.1 Limitations Breakdown & Best Pratices
      • All Switches & Features for ES3.1
      • Samplers Cost Table
  • Current state
    • Frequently Asked Questions - Solving Issues
    • Known issues
    • Changelog & Releases
Powered by GitBook
On this page
  1. SCALABILITY AND CROSS-PLATFORM DEVELOPMENT
  2. Unified Cross-Platform Development

ES3.1 Limitations Breakdown & Best Pratices

Limitations of ES3.1 rendering & advices

PreviousUnified Cross-Platform DevelopmentNextAll Switches & Features for ES3.1

Last updated 7 months ago

One of the main limitations of ES3.1 rendering for Materials is that only 16 Texture Samplers are available in total to the user, with 2 taken by Unreal for shadow and reflections rendering.

As such, Atlasses have to be used on Mobile, and features that use additional textures for their effect have to be used carefully to ensure the Instance dosen't use more than the maximum of 16 Texture Samplers.

Shader Model 5/6, which is used for Desktop (High-End) rendering dosen't suffer from this limitation.

Correction Layers are NOT available on ES3.1 due to sampler limitations !

Use manually drawn sub-layers instead if possible, or baked Landscape Splines !

Best Practices

  • Avoid using Base Color, Normal maps, ORM maps when not needed. They need to be sampled from an Atlas to keep the numbers of samplers low, but that requires additionnal processing which makes them slower to process than regular standalone Texture Samplers. As such, you should disable the rendering of maps if uniform values can be used on Mobile instead without a noticeable visual impact. As a hint, these cases can include for example : - Very subtle Sub-Layers used to break uniformity of surfaces (see image example below) - Low-contrast texture maps - Sub-Layers barely visible under foliage - etc. The images below shows the difference on a subtle Sub-Layer (the dirt blobs on the ground), textured using a color map (Image 1) and with an uniform color instead (Image 2). The uniform color is more efficient, and the difference is minimal.

You should take a look at all your used textures and determine if they can easely be swapped for values instead.

  • Grass Only Sub-Layers are basically free

You can keep all the Grass Only Sub-Layers as is, as they are processed separately from the rest of the Instance.

The only cost they have is the Mask that defines them.

Using a color texture
Using an uniform color