# Simplygon 10 Release Notes

# Simplygon 10.1.8000.0 release

# New features

  • API

    • ComputeCaster

      • MaterialEvaluationShaderSerializer now accepts a full input scene .xml file, including additional textures, custom fields and all materials in one file.
      • MaterialEvaluationShader now has support for:
        • Shader header code, to define custom structs
        • Binding custom structs to custom fields
        • Separate samplers and textures
        • Binding multiple textures as an indexable array of textures
    • AttributeTessellation

      • AttributeTessellation can now be exported as compressed Micromesh data. This can be enabled and controlled in the GLTFExporter
  • Unity

    • Added support for UV2-UV4.
  • BillboardCloudProcessor

    • Added FoliageSetting: "MaintainLeafConnections" which keeps connected geometry as still connected when projecting to billboards.
  • FlipbookProcessor

    • Added settings: "NumberOfColumns" and "NumberOfViews" that replaces "NumberOfViews", allowing the user to set atlas layouts that are not square.
    • Added setting: "FlipRowColumnOrder" which toggles the order of the views in the atlas.
    • Added setting: "OverrideFlipbookTextureWidth" which lets the user set an arbitrary explicit total width for the entire flipbook atlas.
    • Added setting: "OutputEachViewSeparately" which outputs the MappingImage for every view in the flipbook instead of in a joint atlas.

# Improvements and changes

  • API

    • FBXImporter now allows material shaders in .fbx files, and will make a best effort to parse the data in the material.
    • Improved bind pose handling in FBX.
    • Coords bindings in ComputeCaster now ignores FieldName when binding the Coords field, and does not error out if it is set.
  • Installer

    • Vulkan SDK is no longer installed with the Simplygon installer and needs to be installed separately.
  • Documentation

    • Added container section with information about how to run Simplygon in a container.
  • BillboardCloudProcessor

    • Fixed separation of trunk and geometry for geometries with non-connected triangles (especially useful for Blender/Unity).
  • Unity

    • Material node reference removed from scene hierarchy in processed LOD.
    • LOD index will now automatically increase by one for every earlier processing with the same name found.

# Bug fixes

  • API

    • Regression fix: The core library now (again) accepts 1, 4 and 8 bpp images with palettes
  • Unreal Engine

    • Various updates to the flipbook material to fix issues with rendering and rotations (around z-axis). Note: Up-vector is still not supported in the material.
    • Update textures in billboard cloud material from grayscale to linear grayscale.
    • Fix issue with simplygon output log file not always being written out.
    • Fixed several material mapping issues for / related to:
      • StandIn and LODRecipe
      • Static- / skeletal mesh
      • Reduction, aggregation
      • Material baking
      • Sparse material ids
      • Unordered material ids
      • Re-used material ids
      • Foliage
  • Unity

    • Fixed issue when processings sometime failed when using camera selection sets.
    • Fixed issue where processings would fail due to name being too long.
  • Houdini

    • Simplygon package JSON file name fix.
  • BillboardCloudProcessor

    • Fixed crash when no triangles were projected to billboards due to their small size in relation to BillboardDensity.

# Older Simplygon 10.1 releases

# 10.1.3300.0

# Improvements and changes

  • ColorCaster no longer clamps float texture input data to the 0->1 range.

  • Installer

    • Modifying the current installation using the full installer (downloaded installer exe) will now restore missing files to installation directory.
    • Modifying the current installation using either the full installer or by modifying Simplygon from Add/Remove Programs in Windows now restores missing start menu entries.
    • Vulkan SDK is no longer automatically installed when running installer in command-line mode. Read more in the Basic headless installation section.
  • Max & Maya

    • Batch import tool in UI now support pipeline files (*.json).
  • Unreal Engine

    • Pipe errors and warnings coming from Simplygon processing to UE output log.
    • Add option to output Simplygon log to Saved/Logs/ folder.
    • Change where simplygon saves it's mesh reduction config. It is now saved in Config/DefaultEngine.ini.
  • License

    • Added possibility to export license in License application.
    • Added advanced license instructions to documentation.

# Bug fixes

  • Fixed bug in RemeshingProcessor where multiple intersecting clipping geometries caused triangle artifacts inside what should have been clipped space.

  • Max

    • Fixed issue with QuadReductionProcessor where n-polys were not being handled correctly.
  • Unreal Engine

    • Now refreshes the stand-in outliner when deleting a stand-in actor in the scene (no more dangling objects) (UE5 only)
    • Fix Ambient Occlusion caster casting to diffuse material property.
    • Fix for flipbook vectors not taken into account.
  • FBX

    • Vertex color alpha is now imported correctly in FBX.
    • Fixed crash due to skeleton-bone mapping in FBX.

# 10.1.400.0

# New features

  • API

  • ComputeCaster

    • A new material caster which uses a Vulkan based backend, and supports user-generated HLSL or GLSL shaders to cast any data in the scene, combined with any side-band loaded data from e.g. custom material graphs etc. For CPU-only workflows, a CPU-based Vulkan implementation can be used.
      • New types for compute based casting
        • MaterialEvaluationShader
        • MaterialEvaluationShaderSerializer
        • MaterialEvaluationShaderAttribute
        • MaterialEvaluationShaderAttributeTable
        • MaterialEvaluationShaderDefine
        • MaterialEvaluationShaderDefineTable
        • ShaderEvaluationFunction
        • ShaderEvaluationFunctionTable
        • ShaderParameter
        • ShaderParameterSampler
        • ShaderParameterSamplerState
        • ShaderParameterTable
        • MaterialCasterSource
  • Unreal Engine

    • Support for Unreal Engine 5.1.
    • Add option to let users use the original source mesh data.
  • Python

    • Support for Python 3.11

# Improvements and changes

  • API

    • Scene now has methods for retrieving result MaxDeviation and ProcessedMeshesRadius custom fields which are populated after running processors. This data can be used to calculate LOD switch distances.
    • QuadReductionProcessor now has all reduction targets disabled by default when creating a new processor. Previously 'Ratio' was enabled by default which caused confusion when enabling something different and not explicitly disabling 'Ratio'.
    • FBX importer and exporter now support skinning data
    • Improved logging and safeguards, with lots of more explanations to errors
    • Added methods to return extents of a selection set in the scene
    • USD importer now support face varying attributes
    • RemoveSceneNodes will clear bone table and selection set table.
  • AttributeTessellation

    • Displacement data cast to tessellated attributes are now output to glTF using the NV_micromaps and NV_displacement_micromap extensions, along with latest version of .bary file format for micromaps.
  • QuadReductionProcessor

    • The quad reducer now supports reduction of triangulated mesh components when using reduction targets OnScreenSize or MaxDeviation.
  • ReductionProcessor

    • Added setup method to select between AllFeatures or HighPerformance modes, which only allows settings which are compatible with full multithreaded reduction processing.
  • RemeshingProcessor

    • Added settings to fine-tune geometric and topological accuracies
  • HighDensityMeshReducerProcessor and -Pipeline

    • A new processor and pipeline which is memory and performance optimized for high-density mesh assets (e.g. from scan-sources or sculpting tools)
  • Unreal Engine

    • Improve error messages coming from Simplygon API.
  • Maya

    • Added attributes 'SceneMeshesRadius' and 'ProcessedMeshesRadius' to output mesh, to allow more flexibility in switch distance calculations
    • Quad reduction default reduction target changed to "OnScreenSize"
    • Added support for Maya 2023.
  • Max

    • Added attributes 'SceneMeshesRadius' and 'ProcessedMeshesRadius' to output mesh, to allow more flexibility in switch distance calculations
    • Quad reduction default reduction target changed to "OnScreenSize"
    • Added support for Max 2023.
    • Added additional errors/warnings to the UI for the importing of baked materials.
  • Grid

    • Grid agents availability is now based on version and Vulkan capabilities.
    • Improved log output when running -Discover
  • Installer/SimplyUpdate/Uninstall

    • Updated Installer, SimplyUpdate and Uninstall to use .NET 6.
  • Documentation

    • Documented manual Blender plugin installation.
    • Clarified modular seams not supported by cascaded pipelines.
    • Added Quad reduction to supported feature table.
    • Document missing support for Maya 2020.0.
    • Ability to bake out 16K textures.
    • Improved docs for USD package installation

# Bug fixes

  • ReductionProcessor

    • Fixed output MaxDeviation field on Scene being updated incorrectly in some rare cases and reported incorrect values.
    • Fixed crash when running cascaded reductions with Modular seams enabled.
  • QuadReductionProcessor

    • Fixed problem where UVs and other fields could be updated incorrectly by some collapses
    • Reduced instances of some types of topology stalling the reducer
    • Many general quad-related bugfixes
  • RemeshingProcessor

    • Fixed issue which ignored the values of the GenerateMappingImage and GenerateTexCoords settings
  • BillboardCloudProcessor

    • Fixed crash when running Billboard cloud without normals on the asset.
  • AttributeTessellation

    • Changed order of quantization of neighbor edges to avoid zero-area tessellated geometry
  • Impostor UI Template

    • Fixed missing settings for billboard cloud Basic template
  • Python

    • Fixed issue with None not being accepted as a null object pointer
  • Unreal Engine

    • Fixed crash when using remeshing pipeline with no material casters.
    • Fixed failing pipelines when vertex color casters were added.
    • Fixed issues that could result in broken uvs and / or unnecessary uv borders.
    • Fixed issue where baked materials stacked up in original asset's material list.
    • Disabled post-removal of null material entries as it can break material mapping.
    • Fixed crash issue in stand-in memory calculation.
    • Added missing WhitelistPlatforms/PlatformAllowList in uplugin.
  • Maya

    • Fixed Reflected Color channel not being handled.
    • Fixed issue where maya integration would fail to import baked textures when scripting via the simplygon api.
    • Fixed issue that caused certain errors generated to not be reported.
  • Max

    • Fixed issue where max integration would fail to import baked textures when scripting via the simplygon api.
    • Fixed issue that caused certain errors generated to not be reported.
    • Fixed issue with sgsdk copy flag being ignored.
    • Fixed issue with Emissive flag not being correctly handled.
    • Added handling of invalid material textures.
  • SimplyUpdate/Uninstall

    • Fixed issue where SimplyUpdate.exe/Uninstall.exe failed to start because .NET Desktop Runtime could not be found.
  • Documentation

    • Cleaned up Unity install documentation.