# Global & thread-local settings
In addition to the processor settings that are connected to the actual processing objects, there are also global settings and thread-local settings.
These settings contain advanced parameters and affect all processing done while the library remains loaded.
# Global settings
Global settings apply to all processes spawned from a specific Simplygon singeleton instance. Most of these settings are also availible through serialized pipelines, but some are limited to API usage
# Pipeline-accessible settings
# DefaultTangentCalculatorType
Enum - Describes what type of tangent calculation will be used in all Simplygon processing
# AllowDirectX
Boolean - Determines whether to allow intarnal DirectX usage. Disabling this may silently disable some features.
# AllowGPUAcceleration
Boolean - Deterines if the GPU is allowed to be used in processing calculations, currently primarily affects visibility related algorithms.
# AllowTextureSamplingInterpolation
Boolean - Determines whether to interpolate texture sampling or to use nearest neighbor.
# AllowShadingNetworkCaching
Boolean - Makes casting run much faster for complex material networks, but may break exotic usecases where the shading network is somehow modified while running.
# AutomaticGuidGeneration
Boolean - If true, all classes using guid identifiers will have unique ids generated at contruction. Otherwise, they will need to be user set.
# CacheToDisk
Boolean - Causes some data to be offloaded to disk while processing instead of being kept in memory. Limited effect.
# PreventDirectXThreadingOptimizations
Boolean - If true, sets the D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS flag in internal DirectX initializations.
# LogicalCoreLimit
Integer - Determines the max number of cores Simplygon will utilize when processing.
# MaskFPExceptions
Boolean - When true, the floating point exception mask is overridden by Simplygon processes internally, silencing non-critical floating point exceptions. If this is turned off, many processings will start throwing exceptions regularly.
# ValidRealThreadhold
Float - Sets the upper bound of what is considered a "valid" real, values above this will be capped in the processors to avoid overflows.
# ValidateProcessing
Boolean - If this is true, Simplygon will run extra testing internally to find any bad data or bad results that might happen. This is for debugging purposes and will slow down the processing time significantly.
# ValidateProcessingAssertOnError
Boolean - If this is true, Simplygon will abort if the ValidateProcessing found something wrong.
# ValidateProcessingDebugLevel
Integer - This value can be 0, 1 or 2. 0 will run the least amount of checks, and 2 will run the most amount of checks (and thus be the slowest of them all).
# ValidateProcessingOutputDirectory
String - The directory where Simplygon will store output files from the ValidateProcessing.
# API settings
# EnableLog
Boolean - Controls whether or not Simplygon will do any logging.
# LogToFile
Boolean - Whether to log output text to file, or stdout if false.
# FlushLogPerRow
Boolean - Whether to flush the log per row or not.
# LogOutputToTraceWindow
Boolean - Outputs the log to the debug terminal
# Thread-local settings
Thread-local settings are set in the same way as global settings, but only apply to the current thread. These are not saved in pipelines.
# LogFileName
String - The path to the log file, if enabled in GlobalSettings.
# Example - How to set global & thread-local settings
The following example shows how to set global and thread-local settings.