ABI contract

Result codes

CodeMeaning / typical use
GX3DE_OKSuccess.
GX3DE_INVALID_ARGUMENTMalformed descriptor, invalid scalar/range, null pointer where forbidden, invalid enum or incompatible array.
GX3DE_OUT_OF_MEMORYAllocation failure.
GX3DE_NOT_FOUNDNo requested entity/result, empty clip, missing source/reference, no pick hit.
GX3DE_UNSUPPORTEDOperation or combination is deliberately unsupported (for example unsafe topology, renderer capability, clipping combination).
GX3DE_RANGECapacity/budget/limit exceeded; also used by two-pass query patterns to report required capacity.
GX3DE_WRONG_OWNERCross-engine/cross-scene handle supplied where same-owner identity is required.
GX3DE_DEGENERATEGeometrically ill-defined or collapsed configuration.

Use gx3de_result_name() for the stable textual name; for renderer failures also query gx3de_target_render_diagnostics().

Capability discovery

Call gx3de_get_info() for ABI version and the original capability words. The first 64 feature bits are fully allocated. In ABI v1 the second capability word is stored in gx3de_info.reserved[0]. For newer grouped discovery use gx3de_get_capabilities(api_group,...), which returns up to four 64-bit words for CORE, renderer, animation or field groups.

gx3de_info info = {.struct_size = sizeof info};
if (gx3de_get_info(&info) != GX3DE_OK || info.abi_version != GX3DE_ABI_VERSION)
    return 1;

if (!(info.reserved[0] & GX3DE_CAP2_SCIENTIFIC_DIRECT_COLOR))
    /* fall back to scalar/object coloring */;

gx3de_capability_set caps = {.struct_size = sizeof caps};
if (gx3de_get_capabilities(GX3DE_API_GROUP_ANIMATION, &caps) == GX3DE_OK &&
    caps.api_version == GX3DE_ANIMATION_API_VERSION &&
    (caps.words[0] & GX3DE_ANIM_CAP_MULTILAYER)) {
    /* multilayer timeline path */
}

dev-40 capability additions

CapabilityMeaning
GX3DE_CAP2_CURVED_TEXTUREConnected-surface image assignment and chart transport.
GX3DE_CAP2_SHADOW_POLICYEngine graphics shadow policy.
GX3DE_CAP2_PARTICLE_CLOUDScene-owned geometric sphere clouds (dev-039).
GX3DE_CAP2_POSITIONAL_LIGHTPer-view positional lamp replacing a directional slot (dev-039).
GX3DE_CAP2_SCIENTIFIC_DIRECT_COLORPoint-associated normalized RGB/RGBA binding (dev-040).

All engine capability bits

SymbolValueHeader
GX3DE_CAP_SCENE1ullSource: core/native3d/include/native_3d_engine_api_v1.h:18
GX3DE_CAP_MESH2ullSource: core/native3d/include/native_3d_engine_api_v1.h:19
GX3DE_CAP_PLANE4ullSource: core/native3d/include/native_3d_engine_api_v1.h:20
GX3DE_CAP_MEASUREMENT8ullSource: core/native3d/include/native_3d_engine_api_v1.h:21
GX3DE_CAP_HEADLESS_TARGET16ullSource: core/native3d/include/native_3d_engine_api_v1.h:22
GX3DE_CAP_HIERARCHY32ullSource: core/native3d/include/native_3d_engine_api_v1.h:23
GX3DE_CAP_MESH_DIAGNOSTICS64ullSource: core/native3d/include/native_3d_engine_api_v1.h:24
GX3DE_CAP_MESH_APPEND128ullSource: core/native3d/include/native_3d_engine_api_v1.h:25
GX3DE_CAP_MESH_SECTION256ullSource: core/native3d/include/native_3d_engine_api_v1.h:26
GX3DE_CAP_BREP512ullSource: core/native3d/include/native_3d_engine_api_v1.h:27
GX3DE_CAP_MESH_PREP1024ullSource: core/native3d/include/native_3d_engine_api_v1.h:28
GX3DE_CAP_CONSTRAINT_BASIC2048ullSource: core/native3d/include/native_3d_engine_api_v1.h:29
GX3DE_CAP_CACHE_FINGERPRINT4096ullSource: core/native3d/include/native_3d_engine_api_v1.h:30
GX3DE_CAP_EXTENDED_ANCHOR8192ullSource: core/native3d/include/native_3d_engine_api_v1.h:31
GX3DE_CAP_EXTENDED_MEASUREMENT16384ullSource: core/native3d/include/native_3d_engine_api_v1.h:32
GX3DE_CAP_MESH_CLIP32768ullSource: core/native3d/include/native_3d_engine_api_v1.h:33
GX3DE_CAP_MESH_BOUNDARY65536ullSource: core/native3d/include/native_3d_engine_api_v1.h:34
GX3DE_CAP_GROUP131072ullSource: core/native3d/include/native_3d_engine_api_v1.h:35
GX3DE_CAP_CHAINED_PROFILE262144ullSource: core/native3d/include/native_3d_engine_api_v1.h:36
GX3DE_CAP_MESH_IMPORT524288ullSource: core/native3d/include/native_3d_engine_api_v1.h:37
GX3DE_CAP_MESH_LOOPS1048576ullSource: core/native3d/include/native_3d_engine_api_v1.h:38
GX3DE_CAP_MESH_STITCH2097152ullSource: core/native3d/include/native_3d_engine_api_v1.h:39
GX3DE_CAP_MESH_ORIENT4194304ullSource: core/native3d/include/native_3d_engine_api_v1.h:40
GX3DE_CAP_BREP_CLIP8388608ullSource: core/native3d/include/native_3d_engine_api_v1.h:41
GX3DE_CAP_BREP_ANCHOR16777216ullSource: core/native3d/include/native_3d_engine_api_v1.h:42
GX3DE_CAP_MESH_SELF_INTERSECTION33554432ullSource: core/native3d/include/native_3d_engine_api_v1.h:43
GX3DE_CAP_RIGID_ALIGNMENT67108864ullSource: core/native3d/include/native_3d_engine_api_v1.h:44
GX3DE_CAP_STEP_XDE_STRUCTURE134217728ullSource: core/native3d/include/native_3d_engine_api_v1.h:45
GX3DE_CAP_PERSISTENT_MESH_CACHE268435456ullSource: core/native3d/include/native_3d_engine_api_v1.h:46
GX3DE_CAP_ASYNC_MESH_IMPORT536870912ullSource: core/native3d/include/native_3d_engine_api_v1.h:47
GX3DE_CAP_EXTENDED_CONSTRAINTS1073741824ullSource: core/native3d/include/native_3d_engine_api_v1.h:48
GX3DE_CAP_MESH_CAPPED_CLIP2147483648ullSource: core/native3d/include/native_3d_engine_api_v1.h:49
GX3DE_CAP_SCIENTIFIC_DATA4294967296ullSource: core/native3d/include/native_3d_engine_api_v1.h:50
GX3DE_CAP_SCIENTIFIC_XML_IMPORT8589934592ullSource: core/native3d/include/native_3d_engine_api_v1.h:51
GX3DE_CAP_SCIENTIFIC_ISOSURFACE17179869184ullSource: core/native3d/include/native_3d_engine_api_v1.h:52
GX3DE_CAP_SCIENTIFIC_POLYDATA_CREATE34359738368ullSource: core/native3d/include/native_3d_engine_api_v1.h:53
GX3DE_CAP_SCIENTIFIC_VECTOR_SAMPLING68719476736ullSource: core/native3d/include/native_3d_engine_api_v1.h:54
GX3DE_CAP_SCIENTIFIC_IMAGE_CREATE137438953472ullSource: core/native3d/include/native_3d_engine_api_v1.h:55
GX3DE_CAP_SCIENTIFIC_UNSTRUCTURED_CREATE17592186044416ullSource: core/native3d/include/native_3d_engine_api_v1.h:56
GX3DE_CAP_PERSISTENT_SCIENTIFIC_CACHE562949953421312ullSource: core/native3d/include/native_3d_engine_api_v1.h:57
GX3DE_CAP_MESH_LOD274877906944ullSource: core/native3d/include/native_3d_engine_api_v1.h:58
GX3DE_CAP_MESH_INTERSECTION_PAIRS549755813888ullSource: core/native3d/include/native_3d_engine_api_v1.h:59
GX3DE_CAP_VIEW_LOCAL_STATE1099511627776ullSource: core/native3d/include/native_3d_engine_api_v1.h:60
GX3DE_CAP_JOB_PROGRESS2199023255552ullSource: core/native3d/include/native_3d_engine_api_v1.h:61
GX3DE_CAP_BREP_VALIDATION4398046511104ullSource: core/native3d/include/native_3d_engine_api_v1.h:62
GX3DE_CAP_MESH_REPEATS8796093022208ullSource: core/native3d/include/native_3d_engine_api_v1.h:63
GX3DE_CAP_STEP_PROTOTYPE_MESH35184372088832ullSource: core/native3d/include/native_3d_engine_api_v1.h:64
GX3DE_CAP_MESH_PREVIEW70368744177664ullSource: core/native3d/include/native_3d_engine_api_v1.h:65
GX3DE_CAP_MESH_MEMORY_BUDGET140737488355328ullSource: core/native3d/include/native_3d_engine_api_v1.h:66
GX3DE_CAP_CONSTRAINT_SYSTEM281474976710656ullSource: core/native3d/include/native_3d_engine_api_v1.h:67
GX3DE_CAP_LINE_OBJECT_ANCHORS1125899906842624ullSource: core/native3d/include/native_3d_engine_api_v1.h:68
GX3DE_CAP_ASYNC_MESH_LOD2251799813685248ullSource: core/native3d/include/native_3d_engine_api_v1.h:69
GX3DE_CAP_BREP_FINGERPRINT9007199254740992ullSource: core/native3d/include/native_3d_engine_api_v1.h:70
GX3DE_CAP_PERSISTENT_REPEAT_CACHE4503599627370496ullSource: core/native3d/include/native_3d_engine_api_v1.h:71
GX3DE_CAP_BREP_HEAL18014398509481984ullSource: core/native3d/include/native_3d_engine_api_v1.h:72
GX3DE_CAP_ASYNC_STEP_IMPORT144115188075855872ullSource: core/native3d/include/native_3d_engine_api_v1.h:73
GX3DE_CAP_MESH_BRIDGE36028797018963968ullSource: core/native3d/include/native_3d_engine_api_v1.h:74
GX3DE_CAP_BREP_CURVE_QUERY72057594037927936ullSource: core/native3d/include/native_3d_engine_api_v1.h:75
GX3DE_CAP_PIXEL_RENDER288230376151711744ullSource: core/native3d/include/native_3d_engine_api_v1.h:76
GX3DE_CAP_RENDER_PICK576460752303423488ullSource: core/native3d/include/native_3d_engine_api_v1.h:77
GX3DE_CAP_NATIVE_WINDOW_TARGET1152921504606846976ullSource: core/native3d/include/native_3d_engine_api_v1.h:78
GX3DE_CAP_SCIENTIFIC_PRESENTATION2305843009213693952ullSource: core/native3d/include/native_3d_engine_api_v1.h:79
GX3DE_CAP_VIEW_PRESENTATION4611686018427387904ullSource: core/native3d/include/native_3d_engine_api_v1.h:80
GX3DE_CAP_BREP_MESH_CONVERSION9223372036854775808ullSource: core/native3d/include/native_3d_engine_api_v1.h:81
GX3DE_CAP2_RENDER_MARKERS1ullSource: core/native3d/include/native_3d_engine_api_v1.h:84
GX3DE_CAP2_TRANSFORM_GIZMO2ullSource: core/native3d/include/native_3d_engine_api_v1.h:85
GX3DE_CAP2_TARGET_RESIZE4ullSource: core/native3d/include/native_3d_engine_api_v1.h:86
GX3DE_CAP2_CAMERA_NAVIGATION8ullSource: core/native3d/include/native_3d_engine_api_v1.h:87
GX3DE_CAP2_RENDER_QUALITY16ullSource: core/native3d/include/native_3d_engine_api_v1.h:88
GX3DE_CAP2_RENDERER_DIAGNOSTICS32ullSource: core/native3d/include/native_3d_engine_api_v1.h:89
GX3DE_CAP2_CAPABILITY_GROUPS64ullSource: core/native3d/include/native_3d_engine_api_v1.h:90
GX3DE_CAP2_GRAPHICS_POLICY128ullSource: core/native3d/include/native_3d_engine_api_v1.h:91
GX3DE_CAP2_PLANAR_TEXTURE256ullSource: core/native3d/include/native_3d_engine_api_v1.h:92
GX3DE_CAP2_SHADOWS512ullSource: core/native3d/include/native_3d_engine_api_v1.h:93
GX3DE_CAP2_PLANAR_GIZMO1024ullSource: core/native3d/include/native_3d_engine_api_v1.h:94
GX3DE_CAP2_PLANAR_MANIPULATION2048ullSource: core/native3d/include/native_3d_engine_api_v1.h:95
GX3DE_CAP2_NAVIGATION_CUBE4096ullSource: core/native3d/include/native_3d_engine_api_v1.h:96
GX3DE_CAP2_CHECKERBOARD_BACKGROUND8192ullSource: core/native3d/include/native_3d_engine_api_v1.h:97
GX3DE_CAP2_CURVED_TEXTURE16384ullSource: core/native3d/include/native_3d_engine_api_v1.h:98
GX3DE_CAP2_SHADOW_POLICY32768ullSource: core/native3d/include/native_3d_engine_api_v1.h:99
GX3DE_CAP2_PARTICLE_CLOUD65536ullSource: core/native3d/include/native_3d_engine_api_v1.h:100
GX3DE_CAP2_POSITIONAL_LIGHT131072ullSource: core/native3d/include/native_3d_engine_api_v1.h:101
GX3DE_CAP2_SCIENTIFIC_DIRECT_COLOR262144ullSource: core/native3d/include/native_3d_engine_api_v1.h:102