mujoco_py/pxd/mjrender.pxd (81 lines of code) (raw):
cdef extern from "mjrender.h" nogil:
# Global constants
enum: mjNAUX
enum: mjMAXTEXTURE
ctypedef enum mjtGridPos: # grid position for overlay
mjGRID_TOPLEFT = 0, # top left
mjGRID_TOPRIGHT, # top right
mjGRID_BOTTOMLEFT, # bottom left
mjGRID_BOTTOMRIGHT # bottom right
ctypedef enum mjtFramebuffer: # OpenGL framebuffer option
mjFB_WINDOW = 0, # default/window buffer
mjFB_OFFSCREEN # offscreen buffer
ctypedef enum mjtFontScale: # font scale, used at context creation
mjFONTSCALE_100 = 100, # normal scale, suitable in the absence of DPI scaling
mjFONTSCALE_150 = 150, # 150% scale
mjFONTSCALE_200 = 200 # 200% scale
ctypedef enum mjtFont: # font type, used at each text operation
mjFONT_NORMAL = 0, # normal font
mjFONT_SHADOW, # normal font with shadow (for higher contrast)
mjFONT_BIG # big font (for user alerts)
ctypedef struct mjrRect: # OpenGL rectangle
int left # left (usually 0)
int bottom # bottom (usually 0)
int width # width (usually buffer width)
int height # height (usually buffer height)
ctypedef struct mjrContext: # custom OpenGL context
# parameters copied from mjVisual
float lineWidth # line width for wireframe rendering
float shadowClip # clipping radius for directional lights
float shadowScale # fraction of light cutoff for spot lights
float fogStart # fog start = stat.extent * vis.map.fogstart
float fogEnd # fog end = stat.extent * vis.map.fogend
float fogRGBA[4] # fog rgba
int shadowSize # size of shadow map texture
int offWidth # width of offscreen buffer
int offHeight # height of offscreen buffer
int offSamples # number of offscreen buffer multisamples
# parameters specified at creation
int fontScale; # font scale
int auxWidth[mjNAUX] # auxiliary buffer width
int auxHeight[mjNAUX] # auxiliary buffer height
int auxSamples[mjNAUX] # auxiliary buffer multisamples
# offscreen rendering objects
unsigned int offFBO # offscreen framebuffer object
unsigned int offFBO_r # offscreen framebuffer for resolving multisamples
unsigned int offColor # offscreen color buffer
unsigned int offColor_r # offscreen color buffer for resolving multisamples
unsigned int offDepthStencil # offscreen depth and stencil buffer
unsigned int offDepthStencil_r # offscreen depth and stencil buffer for resolving multisamples
# shadow rendering objects
unsigned int shadowFBO # shadow map framebuffer object
unsigned int shadowTex # shadow map texture
# auxiliary buffers
unsigned int auxFBO[mjNAUX] # auxiliary framebuffer object
unsigned int auxFBO_r[mjNAUX] # auxiliary framebuffer object for resolving
unsigned int auxColor[mjNAUX] # auxiliary color buffer
unsigned int auxColor_r[mjNAUX] # auxiliary color buffer for resolving
# texture objects and info
int ntexture # number of allocated textures
int textureType[100] # type of texture (mjtTexture)
unsigned int texture[100] # texture names
# displaylist starting positions
unsigned int basePlane # all planes from model
unsigned int baseMesh # all meshes from model
unsigned int baseHField # all hfields from model
unsigned int baseBuiltin # all buildin geoms, with quality from model
unsigned int baseFontNormal # normal font
unsigned int baseFontShadow # shadow font
unsigned int baseFontBig # big font
# displaylist ranges
int rangePlane # all planes from model
int rangeMesh # all meshes from model
int rangeHField # all hfields from model
int rangeBuiltin # all builtin geoms, with quality from model
int rangeFont # all characters in font
# skin VBOs
int nskin # number of skins
unsigned int* skinvertVBO # skin vertex position VBOs
unsigned int* skinnormalVBO # skin vertex normal VBOs
unsigned int* skintexcoordVBO # skin vertex texture coordinate VBOs
unsigned int* skinfaceVBO # skin face index VBOs
# character info
int charWidth[127] # character widths: normal and shadow
int charWidthBig[127] # chacarter widths: big
int charHeight # character heights: normal and shadow
int charHeightBig # character heights: big
# capabilities
int glewInitialized # is glew initialized
int windowAvailable # is default/window framebuffer available
int windowSamples # number of samples for default/window framebuffer
int windowStereo # is stereo available for default/window framebuffer
int windowDoublebuffer # is default/window framebuffer double buffered
# only field that changes after mjr_makeContext
int currentBuffer # currently active framebuffer: mjFB_WINDOW or mjFB_OFFSCREEN