Logo

Core Concepts

  • OBS Studio Backend Design
    • Libobs Plugin Objects
    • Libobs Threads
    • Output Channels
    • General Video Pipeline Overview
    • General Audio Pipeline Overview
  • Plugins
    • Plugin Module Headers
    • Common Directory Structure and CMakeLists.txt
    • Native Plugin Initialization
    • Sources
    • Outputs
    • Encoders
    • Services
    • Settings
    • Properties
    • Localization
  • Frontends
    • Initialization and Shutdown
    • Reconfiguring Video
    • Displays
    • Saving/Loading Objects and Object Management
    • Signals
    • Displaying Sources
    • Outputs, Encoders, and Services
  • Rendering Graphics
    • The Graphics Context
    • Creating Effects
      • Effect Parameters
      • Effect Sampler States
      • Effect Vertex/Pixel Semantics
      • Effect Techniques
    • Using Effects
    • Rendering Video Sources
    • Rendering Video Effect Filters
  • Python/Lua Scripting
    • Script Function Exports
      • script_description()
      • script_load()
      • script_unload()
      • script_save()
      • script_defaults()
      • script_update()
      • script_properties()
      • script_tick()
    • Getting the Current Script’s Path
      • script_path()
    • Script Timers
      • timer_add()
      • timer_remove()
    • Script Sources (Lua Only)
    • Other Differences From the C API
      • obs_enum_sources()
      • obs_scene_enum_items()
      • obs_sceneitem_group_enum_items()
      • obs_add_main_render_callback()
      • obs_remove_main_render_callback()
      • signal_handler_connect()
      • signal_handler_disconnect()
      • signal_handler_connect_global()
      • signal_handler_disconnect_global()
      • obs_hotkey_register_frontend()
      • obs_hotkey_unregister()
      • obs_properties_add_button()
      • remove_current_callback()
      • source_list_release()
      • sceneitem_list_release()
      • calldata_source()
      • calldata_sceneitem()

API Reference

  • OBS Core
    • Initialization, Shutdown, and Information
    • Libobs Objects
    • Video, Audio, and Graphics
    • Primary signal/procedure handlers
    • Core OBS Signals
    • Displays
    • Views
  • Modules
    • Module Macros
    • Module Exports
    • Module Externs
    • Frontend Module Functions
  • Core API Object
    • Sources (obs_source_t)
      • Source Definition Structure (obs_source_info)
      • Common Source Signals
      • Source-specific Signals
      • Source-specific Procedures
      • General Source Functions
      • Functions used by sources
      • Filters
      • Functions used by filters
      • Transitions
      • Functions used by transitions
    • Scenes (obs_scene_t)
      • Scene Item Transform Structure (obs_transform_info)
      • Scene Item Crop Structure (obs_sceneitem_crop)
      • Scene Item Order Info Structure (*obs_sceneitem_order_info)
      • Scene Signals
      • General Scene Functions
      • Scene Item Functions
      • Scene Item Group Functions
    • Outputs (obs_output_t)
      • Output Definition Structure (obs_output_info)
      • Output Signals
      • General Output Functions
      • Functions used by outputs
    • Encoders (obs_encoder_t)
      • Encoder Definition Structure (obs_encoder_info)
      • Encoder Packet Structure (encoder_packet)
      • Raw Frame Data Structure (encoder_frame)
      • Encoder Region of Interest Structure (obs_encoder_roi)
      • General Encoder Functions
      • Functions used by encoders
    • Services (obs_service_t)
      • Service Definition Structure
      • General Service Functions
    • Data Settings (obs_data_t)
      • General Functions
      • Set Functions
      • Get Functions
      • Default Value Functions
      • Autoselect Functions
      • Array Functions
    • Properties (obs_properties_t)
      • General Functions
      • Property Object Functions
      • Property Enumeration Functions
      • Property Modification Functions
  • Platform/Utility
    • Logging
      • Logging Levels
      • Logging Functions
    • Memory Management
      • Memory Functions
    • Circular Buffers
      • Circular Buffer Structure (struct circlebuf)
      • Circular Buffer Inline Functions
    • Config Files
      • Config File Functions
      • Set/Get Functions
      • Default Value Functions
    • Dynamic Arrays
      • Dynamic Array Macros
    • Double-Ended Queue
      • Deque Structure (struct deque)
      • Deque Inline Functions
    • Dynamic Strings And String Helpers
      • Dynamic String Structure (struct dstr)
      • General String Helper Functions
      • Dynamic String Functions
    • Platform Helpers
      • File Functions
      • String Conversion Functions
      • Number/String Conversion Functions
      • Dynamic Link Library Functions
      • CPU Usage Functions
      • Sleep/Time Functions
      • Other Path/File Functions
      • Sleep-Inhibition Functions
      • Other Functions
    • Profiler
      • Profiler Structures
      • Profiler Control Functions
      • Profiling Functions
      • Profiler Name Storage Functions
      • Profiler Data Access Functions
    • Serializer
      • Serializer Structure (struct serializer)
      • Serializer Inline Functions
    • Array Output Serializer
      • Array Output Serializer Structure (struct array_output_data)
      • Array Output Serializer Functions
    • File Input/Output Serializers
      • File Input Serializer Functions
      • File Output Serializer Functions
    • Buffered File Output Serializer
      • Buffered File Output Serializer Functions
    • Source Profiler
      • Source Profiler Functions
    • Text Lookup Interface
      • Text Lookup Functions
    • Threading
      • Threading Types
      • General Thread Functions
      • Event Functions
      • Semaphore Functions
      • Atomic Inline Functions
  • Callbacks (libobs/callback)
    • Calldata
    • Signals
    • Procedure Handlers
  • Graphics (libobs/graphics)
    • Effects (Shaders)
    • 2-Component Vector
    • 3-Component Vector
    • 4-Component Vector
    • Quaternion
    • Matrix
    • Extra Math Functions/Macros
    • Image File Helper
    • Axis Angle
    • Core Graphics API
      • Graphics Enumerations
      • Graphics Structures
      • Initialization Functions
      • Matrix Stack Functions
      • Draw Functions
      • Swap Chains
      • Resource Loading
      • Draw Functions
      • Texture Functions
      • Cube Texture Functions
      • Staging Surface Functions
      • Z-Stencil Functions
      • Sampler State Functions
      • Vertex Buffer Functions
      • Index Buffer Functions
      • Display Duplicator (Windows Only)
      • Monitor Functions
      • Render Helper Functions
      • Graphics Types
  • Media I/O (libobs/media-io)
    • Video Handler
    • Audio Handler
    • Resampler
  • OBS Studio Frontend API
    • Structures/Enumerations
    • Functions

Additional Resources

  • Build Instructions
  • Plugin Template
OBS Studio
  • Graphics API Reference (libobs/graphics)
  • Edit on GitHub
Previous Next

Graphics API Reference (libobs/graphics)

  • Effects (Shaders)
  • 2-Component Vector
  • 3-Component Vector
  • 4-Component Vector
  • Quaternion
  • Matrix
  • Extra Math Functions/Macros
  • Image File Helper
  • Axis Angle
  • Core Graphics API
    • Graphics Enumerations
    • Graphics Structures
    • Initialization Functions
    • Matrix Stack Functions
    • Draw Functions
    • Swap Chains
    • Resource Loading
    • Draw Functions
    • Texture Functions
    • Cube Texture Functions
    • Staging Surface Functions
    • Z-Stencil Functions
    • Sampler State Functions
    • Vertex Buffer Functions
    • Index Buffer Functions
    • Display Duplicator (Windows Only)
    • Monitor Functions
    • Render Helper Functions
    • Graphics Types
Previous Next

© Copyright 2017-2025, Lain Bailey.

Built with Sphinx using a theme provided by Read the Docs.