Blender V5.0
Global Struct Reference

#include <BKE_global.hh>

Public Attributes

Mainmain
Mainpr_main
char filepath_last_image [1024]
char filepath_last_library [1024]
char filepath_last_blend [1024]
ListBase recent_files
bool is_break
bool background
bool factory_startup
short moving
bool is_rendering
short debug_value
int f
struct { 
   int   level 
   void *   file 
log
int debug
bool randomize_geometry_element_order
int fileflags
char autoexec_fail [200]
char gpu_debug_scope_name [200]
bool profile_gpu

Detailed Description

Global data, typically accessed from G. See: BKE_blender_globals_init & BKE_blender_globals_clear.

Note
This is run-time only but some global data is written to FileGlobal which is used to initialize members of Global.

Definition at line 25 of file BKE_global.hh.

Member Data Documentation

◆ autoexec_fail

char Global::autoexec_fail[200]

Message to show when loading a .blend file attempts to execute a Python script or driver-expression when doing so is disallowed.

Set when (G.f & G_FLAG_SCRIPT_AUTOEXEC_FAIL) == 0, so users can be alerted to the reason why the file may not be behaving as expected. Typically Python drivers.

Definition at line 167 of file BKE_global.hh.

◆ background

bool Global::background

Blender is running without any Windows or OpenGLES context. Typically set by the --background command-line argument.

Also enabled when build defines WITH_PYTHON_MODULE or WITH_HEADLESS are set (which use background mode by definition).

Definition at line 71 of file BKE_global.hh.

◆ debug

int Global::debug

Debug flag, G_DEBUG, G_DEBUG_PYTHON & friends, set via:

  • Command line arguments: --debug, --debug-memory ... etc.
  • Python API: bpy.app.debug, bpy.app.debug_memory ... etc.

Definition at line 140 of file BKE_global.hh.

◆ debug_value

short Global::debug_value

Debug value, can be set from the UI and python, used for testing nonstandard features. DO NOT abuse it with generic checks like if (G.debug_value > 0). Do not use it as bitflags. Only precise specific values should be checked for, to avoid unpredictable side-effects. Please document here the value(s) you are using (or a range of values reserved to some area):

  • -16384 and below: Reserved for python (add-ons) usage.
  • -1: Disable faster motion paths computation (since 08/2018).
  • 1 - 30: EEVEE debug/stats values (01/2018).
  • 31: Enable the Select Debug Engine. Only available with #WITH_DRAW_DEBUG (08/2021).
  • 101: Enable UI debug drawing of full-screen area's corner widget (10/2014).
  • 102: Enable extra items in string search UI (05/2022).
  • 666: Use quicker batch delete for outliners' delete hierarchy (01/2019).
  • 777: Enable UI node panel's sockets polling (11/2011).
  • 799: Enable some mysterious new depsgraph behavior (05/2015).
  • 887: Enable tablet pressure statusbar text for paint modals (08/2025).
  • 889: Enable PBVH visualization in Solid / XRay rendering mode (09/2019)
  • 1112: Disable new Cloth internal springs handling (09/2014).
  • 1234: Disable new dyntopo code fixing skinny faces generation (04/2015).
  • 3001: Enable additional Fluid modifier (Mantaflow) options (02/2020).
  • 4000: Line Art state output and debugging logs (03/2021).
  • 4001: Mesh topology information in the spreadsheet (01/2022).
  • 16384 and above: Reserved for python (add-ons) usage.

Definition at line 112 of file BKE_global.hh.

◆ f

int Global::f

Saved to the blend file as FileGlobal.globalf

Note
Currently this is only used for runtime options, adding flags to G_FLAG_ALL_READFILE will cause them to be written and read to files.

Definition at line 120 of file BKE_global.hh.

◆ factory_startup

bool Global::factory_startup

Skip reading the startup file and user preferences. Also disable saving the preferences on exit (see G_FLAG_USERPREF_NO_SAVE_ON_EXIT), see via the command line argument: --factory-startup.

Definition at line 78 of file BKE_global.hh.

◆ file

void* Global::file

FILE handle or use stderr (we own this so close when done). Set via --log-file command line argument.

Definition at line 132 of file BKE_global.hh.

◆ fileflags

int Global::fileflags

Control behavior of file reading/writing.

This variable is written to / read from FileGlobal.fileflags. See: G_FILE_COMPRESS and related flags.

Definition at line 157 of file BKE_global.hh.

◆ filepath_last_blend

char Global::filepath_last_blend[1024]

Last saved location for .blend files. This is used for recovery in case of a crash. It is set when a .blend file is loaded or when saving (manually or through autosave).

Definition at line 50 of file BKE_global.hh.

◆ filepath_last_image

char Global::filepath_last_image[1024]

Last saved location for images.

Definition at line 42 of file BKE_global.hh.

◆ filepath_last_library

char Global::filepath_last_library[1024]

Last used location for library link/append.

Definition at line 44 of file BKE_global.hh.

◆ gpu_debug_scope_name

char Global::gpu_debug_scope_name[200]

Triggers a GPU capture if the name matches a DebugScope. Set using --debug-gpu-scope-capture "debug_scope".

Definition at line 173 of file BKE_global.hh.

◆ is_break

bool Global::is_break

Set when Escape been pressed or Ctrl-C pressed in background mode. Used for render quit and some other background tasks such as baking.

Definition at line 62 of file BKE_global.hh.

◆ is_rendering

bool Global::is_rendering

To indicate render is busy, prevent render-window events, animation playback etc.

Definition at line 87 of file BKE_global.hh.

◆ level

int Global::level

Logging vars (different loggers may use). Set via --log-level command line argument.

Definition at line 127 of file BKE_global.hh.

◆ [struct]

struct { ... } Global::log

◆ main

Main* Global::main

Data for the current active blend file.

Note that CTX_data_main(C) should be used where possible. Otherwise access via G_MAIN.

Definition at line 33 of file BKE_global.hh.

◆ moving

short Global::moving

Set when the user is interactively moving (transforming) content. see: G_TRANSFORM_OBJ and related flags.

Definition at line 84 of file BKE_global.hh.

◆ pr_main

Main* Global::pr_main

Preview main is stored to avoid loading the preview file in multiple scenarios. It is actually shared between shader node previews and asset previews.

Definition at line 39 of file BKE_global.hh.

◆ profile_gpu

bool Global::profile_gpu

Definition at line 175 of file BKE_global.hh.

◆ randomize_geometry_element_order

bool Global::randomize_geometry_element_order

When true, various geometry processing algorithms randomize the order of elements (e.g. vertices or edges) in the output. In many cases, we don't make guarantees about the exact order of elements. So if users depend on the indices with e.g. geometry nodes, their file can break in a different Blender version. Explicitly turning on randomization can help protect oneself against such breakages.

Definition at line 149 of file BKE_global.hh.

◆ recent_files

ListBase Global::recent_files

Strings of recently opened files to show in the file menu. A list of RecentFile read from BLENDER_HISTORY_FILE.

Definition at line 56 of file BKE_global.hh.


The documentation for this struct was generated from the following file: