# Simplygon 10 Release Notes

# Simplygon 10.1.11000.0 release

# New features

  • Flipbook processor
    • Added PivotAroundOrigin setting which rotates the flipbook around the origin of the object instead of its center, to make the switching of views look more like the original (at the cost of texture waste in proportion to how off-center the origin is).

# Improvements and changes

  • API
    • Importer

      • glTF importer now allows unnamed nodes, and autogenerates a name if missing.
      • glTF importer now imports all materials before importing nodes, as to keep order of unnamed materials in sync.
    • Exporter

      • USD exporter now support face varying interpolation.
    • ComputeCaster

      • Texture arrays can now be accessed either as an arrays of Texture2Ds, or as Texture2DArray in shader code.
    • Parameterizer

      • Added defence against zero-area triangles raising division-by-zero exceptions.
    • Flipbook processor

      • Tangentspace has been changed so that it expresses the tangentspace from each view instead of from the first view (from setting: ViewDirection) only.
      • Fixed FlipBackfacingNormals option.
      • Fix for non-perpendicular view direction and up-vector setups being reset to default.
    • Billboard cloud processor

      • Fixed "maintain leaf connections" for geometries with non-connected triangles (especially useful for Blender/Unity).
    • Interface header now links faster, with only one link to GetProcAddress instead of one per API function.

    • Fix issued with D3D check when calling from multiple threads.

  • Maya
    • Fixed custom channel and texture layer related issues
    • Fixed crash issue in Maya when having multiple texture overrides (-mt)
  • Unreal Engine
    • Add optional opacity mask multiplier depending on distance for billboard cloud base material (higher value at a distance to make the lod appear more dense).
    • Add optional wind parameter for billboard cloud base material.
    • Support for new flipbook pivot around origin setting in flipbook base material.
    • Fix Geometry data caster issue for billboard clouds.
    • Fix issues where processing errors were passed to the FailedDelegate and not logged. This could cause issues if Simplygon processed mesh was completely culled away.
  • Grid
    • Fix issue where SimplygonBatch.exe got stuck waiting for agent to respond
    • SimplygonBatch.exe and SimplygonGridAgent.exe now has a timestamp in the log

# Older Simplygon 10.1 releases

# 10.1.8000.0

# Improvements and changes

  • 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.