Add renderer info query API

This commit is contained in:
devshahofficial
2026-06-13 15:58:30 -07:00
parent c4c2cad503
commit d23ff84c59
15 changed files with 194 additions and 1 deletions
+7
View File
@@ -117,6 +117,13 @@ typedef struct mjrRect_ { // OpenGL rectangle
} mjrRect;
typedef struct mjrRendererInfo_ { // active renderer identity
const char* renderer; // renderer family: classic, filament, noop
const char* backend; // graphics backend: opengl, vulkan; empty if uninitialized
const char* backend_version; // backend version string, empty if unknown
} mjrRendererInfo;
typedef struct mjrVertexAttribute_ { // vertex attribute format specification
const void* bytes; // vertex data
int usage; // position, normal, etc [mjrVertexAttributeUsage]
+3
View File
@@ -104,6 +104,9 @@ mjrfContext* mjrf_createContext(const mjrfContextConfig* config);
// Destroys the filament rendering context.
void mjrf_destroyContext(mjrfContext* ctx);
// Gets active renderer information for the given filament context.
void mjrf_getRendererInfo(mjrfContext* ctx, mjrRendererInfo* info);
typedef enum mjrDrawMode_ { // how to draw objects in the scene
mjDRAW_MODE_DEFAULT, // default colors and lighting
mjDRAW_MODE_DEFAULT_NO_TEXTURES, // default, but without textures
+6
View File
@@ -855,6 +855,12 @@ MJAPI void mjv_cameraFrustum(float zver[2], float zhor[2], float zclip[2], cons
// Set default mjrContext.
MJAPI void mjr_defaultContext(mjrContext* con);
// Set default mjrRendererInfo.
MJAPI void mjr_defaultRendererInfo(mjrRendererInfo* info);
// Get active renderer information.
MJAPI void mjr_getRendererInfo(mjrRendererInfo* info);
// Allocate resources in custom OpenGL context; fontscale is mjtFontScale.
MJAPI void mjr_makeContext(const mjModel* m, mjrContext* con, int fontscale);