Render Components API
Reads renderer component JSON files and provides an API to get/set rendering settings (shaders, post-effects, etc.).
Reads renderer component JSON files and provides an API to get/set rendering settings (shaders, post-effects, etc.).
Overview
util_renderComponentsAPI loads all .rendercomponent.json files from /renderer/components/ and provides functions to read, write, and batch-update rendering settings. Settings are keyed by TorqueScript variable names (e.g., $pref::Video::...).
Module path: lua/ge/extensions/util/renderComponentsAPI.lua
Note: This is a require-style module, not a hook-based extension.
Exports (M)
| Function | Signature | Description |
|---|---|---|
getSettings | (force?) → table | Returns all renderer component settings. Pass true to force reload. |
setSetting | (name, value) | Sets a single rendering setting by TorqueScript variable name. |
getCurrentSettings | () → table | Returns a key-value map of all current setting values. |
getColorCorrections | () → table | Lists available color correction PNG files from art/postfx/. |
setMultiSettings | (keyvars) | Sets multiple settings at once from a key-value table. Updates DOF after. |
Internals
Settings Loading
On first call to getSettings(), all .rendercomponent.json files are scanned. Each file has a name and nested settings array. Settings are indexed by tsVar (TorqueScript variable name) into settingByKey for fast lookup.
Setting Types
| Type | Behavior |
|---|---|
'bool' | Sets TorqueScript var as 0/1. Optionally enables/disables a shaderObject via obj:enable()/obj:disable(). |
nil (numeric) | Sets TorqueScript var as tonumber(value). |
| other | Sets TorqueScript var as literal string value. |
After Setting
setMultiSettings calls require("client/postFx/dof").updateDOFSettings() after applying all changes.
How It Works
- Call
getSettings()to load and cache all renderer components. - Use
setSetting(name, value)to change individual settings. - Use
setMultiSettings(table)to batch-apply a settings preset. - Use
getCurrentSettings()to snapshot all current values.
Lua Examples
local api = require('util/renderComponentsAPI')
-- Get all available settings
local settings = api.getSettings()
-- Read current values
local current = api.getCurrentSettings()
print(current['$pref::Video::AA'])
-- Set a single setting
api.setSetting('$pref::Video::AA', 'FXAA')
-- Batch-set multiple settings
api.setMultiSettings({
['$pref::Video::AA'] = 'FXAA',
['$pref::PostFX::EnableDOF'] = true,
})
-- List color correction files
local cc = api.getColorCorrections()
for _, f in ipairs(cc) do print(f.filename) endAdditional Exports
M.getColorCorrections- (undocumented)M.getCurrentSettings- (undocumented)M.getSettings- (undocumented)M.setMultiSettings- (undocumented)M.setSetting- (undocumented)