Looking Glass Documentation
Buy Looking GlassDiscord
  • Looking Glass User Guide
  • NEW! ✨Looking Glass Go✨
  • Displays
    • 🔮Looking Glass Go
      • ⚡Get Started with Looking Glass Go
      • 📱Using the Go Mobile App
      • 🔆Liteforms™
      • 🖥️Standalone and Desktop Modes
      • 🔌Power and LED States
      • 🪄Default Playlist
      • ⏭️What's Next?
      • 👜Accessories
      • ⚙️Advanced Playlist Creation
      • ⚙️Manual Firmware Update
      • ❓Common Troubleshooting Issues
    • 🔮Looking Glass 16" Light Field Displays
      • 🪄Looking Glass 16" Light Field Display (Landscape)
      • 🪄Looking Glass 16" Light Field Display (Portrait)
      • ❓Common Troubleshooting Issues
    • 🔮Looking Glass 32" Light Field Displays
      • 🪄Looking Glass 32" Light Field Display (Landscape)
      • 🪄Looking Glass 32" Light Field Display (Portrait)
      • ❓Common Troubleshooting Issues
    • 🔮Looking Glass 65" Light Field Display
    • 🔮Looking Glass Portrait
      • ⚡Get Started with Looking Glass Portrait
      • 🎇Demo Holograms
      • ❓Common Troubleshooting Issues
  • Software Tools
    • 📚Overview
    • 🌉Looking Glass Bridge
      • ✨Using Looking Glass Bridge
      • 🪟Display Settings on Windows
      • 🍎Display Settings on macOS
      • 🐧Display Settings on Linux
      • 👷Troubleshooting
    • 📽️Looking Glass Studio
      • 📚Using Looking Glass Studio
      • RGB-D Photo / Video
      • Quilt Images / Video
      • iPhone Portrait Photos
      • Android Depth Photos
        • Samsung Portrait Mode
      • Light Field Photosets
      • Exporting Holograms
      • Troubleshooting
    • 🧊Looking Glass Blocks
      • ✨Convert any image into a hologram
      • ⬆️Uploading, editing and sharing Quilts
      • 🥽Viewing your holograms on different platforms
    • 🎬Hologram Video
    • 🔆Liteforms™
      • 🪟Get Started on Windows
      • 🍎Get Started on MacOS
      • 🧙Making Custom Liteforms
      • 🏪Configure Liteforms for Kiosk Setup
    • 👀Looking Glass Model Viewer
    • 🧪Experiments
      • 📽️Media Encoder
      • ⏩Looking Glass Media Encoder
  • Key Concepts
    • 🔑Hologram 101
      • 🎉Making great holograms
      • 🌎Holograms in the real world
      • 👾Holograms, but virtual
    • 🔍How does Looking Glass Work?
    • 📸Virtual Camera
    • 🧊3D Design Guidelines
      • Lighting
      • Post-Processing
      • Scene Composition
      • Materials & Textures
      • Performance
    • 💡Quilts
      • 🎬Quilt Video Encoding
    • 💡Light Fields
      • ⚡Linear Light Field Capture
    • 📽️Filming a Looking Glass
  • Creator Tools
    • 🎨Overview
    • 🔌Unity
      • ⚡Using Unity with Looking Glass
      • Setting up your Development Environment
      • Example Scenes
      • Prefabs
        • Hologram Camera
        • 3D Cursor
        • Dual Monitor Application
      • Script Reference
        • HologramCamera.cs
        • LKGDisplaySystem.cs
        • QuiltCapture.cs
        • Cursor3D.cs
        • OrbitControls.cs
        • BlockUploader.cs
        • MobileDMAController.cs
        • iOS Sample Scene Scripts
          • ChangeInteractionModality.cs
          • XYSlider.cs
          • XYSpotlight.cs
          • AudioRotateControl.cs
          • ModelController.cs
          • DemoIOSUIController.cs
          • PageHandler.cs
          • PageConnectHandler.cs
          • PageCalibrateHandler.cs
          • PageTestHandler.cs
          • DynamicAlcove.cs
      • Package Integrations
        • Built-in Render Pipeline Post-Processing
      • Developing for iOS
      • Depth of Field and Other Post-Processing Effects
      • Quilt Video Audio and Playback
      • Developing for Ultraleap Hand Tracking on Looking Glass
      • Looking Glass Pro (Legacy)
      • Additional Support
      • Change Log
    • 🍹Blender
    • 🔌Unreal Engine
      • 🗒️Change Log and Old Versions
      • 💽Installing the Unreal Engine plugin
      • 🎥Using the Unreal Engine Plugin
        • Using the HoloPlay Capture
        • Exporting Quilt Images and Video with Sequencer
      • Accessing HoloPlay Data with Blueprint Scripting
      • Packaging the Project
      • Unreal Engine 4 (Legacy Support)
        • Unreal Engine 4 Quick Start
          • Using the HoloPlay Capture
          • Exporting Quilt Images and Video with Sequencer
    • 🌐WebXR
      • 🔶PlayCanvas
      • 3️⃣3️⃣ Three.JS
      • ⚛️React-Three-Fiber
      • 🌈Spline
  • Tutorials
    • 📱Running Looking Glass Displays with iOS Devices
    • Ⓜ️Capturing Light Fields in Maya
    • 🧑‍🔬Using ShaderToy with Looking Glass
    • 🎨Sculpting with Adobe Medium and Looking Glass
    • 🔍Turn Videogames Holographic with Refract
    • 🖐️Building with Leap Motion
  • Developer Docs
    • ⚙️Looking Glass Bridge SDK
      • 🪛Web Application Integration
      • 🔌Integrating Native Applications
      • 📓Native Function Reference
    • 🐦Looking Glass Core Migration Guide
  • Third Party Software
    • 🗡️3D Slicer
    • 🔬VTK (Visualization Toolkit)
    • 🗺️ParaView
    • 🔩Community Made Tools & Projects
  • Legacy Software
    • 📡3D Model Importer
      • 3D Model Importer App Guide
      • 3D Model Importer App Reference
    • 🎭Diorama
      • Change Log
    • 🎞️Depth Recorder
    • 📸Lightfield Photo App
    • 🍍Looking Glass Core Overview
    • 🍽️Looking Glass Core SDK
      • C API Overview
        • HoloPlayCore.h
          • State Functions
          • General-Query-Functions
          • Device-Query-Functions
        • libHoloPlayCore.h
        • HoloPlayShaders.h
    • 🔰Looking Glass Core JS
      • API
        • HoloPlayCore.Client
        • HoloPlayCore.Message
        • HoloPlay Service Related
        • examples
  • Legacy Hardware
    • 🔻Looking Glass 8.9"
    • 🔻Looking Glass 15.6"
    • 🔻Looking Glass 8K
    • 🔻Looking Glass 16"
    • 🔻Looking Glass 32"
    • 🔻Looking Glass Pro
  • 💬Contact Us
  • 🛠️FAQ & Troubleshooting
Powered by GitBook

Follow us

  • Twitter
  • Instagram
  • LinkedIn
On this page
  • hpc_GetStateAsJSON
  • hpc_GetHoloPlayServiceVersion
  • hpc_GetNumDevices
  • hpc_GetDeviceHDMIName
  • hpc_GetDeviceSerial
  • hpc_GetDeviceType
  • *Note on String Return Functions

Was this helpful?

  1. Legacy Software
  2. Looking Glass Core SDK
  3. C API Overview
  4. HoloPlayCore.h

General-Query-Functions

The following are helper functions to query information from the state message, meaning that they will only return valid information following the invocation of [hpc_InitializeApp()](./State-Functions.md#hpc_InitializeApp()), and only return new information after hpc_RefreshState().

hpc_GetStateAsJSON

size_t hpc_GetStateAsJSON(char *out_buf, size_t out_buf_sz)

Returns

The current state message, serialized into a char buffer as JSON.

Args

char *out_buf, size_t out_buf_sz

Description

Mostly useful for debugging - custom message queries can be constructed without an external JSON serializer, using the helper functions in libHoloPlayCore.h.

hpc_GetHoloPlayServiceVersion

size_t hpc_GetHoloPlayServiceVersion(char *out_buf, size_t out_buf_sz)

Returns

Current version of HoloPlay Service, as a string.

Args

char *out_buf, size_t out_buf_sz

hpc_GetNumDevices

int hpc_GetNumDevices(void)

Returns

Number of Looking Glass devices connected with valid calibrations.

Args

None

hpc_GetDeviceHDMIName

size_t hpc_GetDeviceHDMIName(int dev_index, char *out_buf, size_t out_buf_sz)

Returns

Looking Glass device name retrieved from EDID.

Args

int dev_index, char *out_buf, size_t out_buf_sz

hpc_GetDeviceSerial

size_t hpc_GetDeviceSerial(int dev_index, char *out_buf, size_t out_buf_sz)

Returns

Serial number of device (same as the one printed on label).

Args

int dev_index, char *out_buf, size_t out_buf_sz

hpc_GetDeviceType

size_t hpc_GetDeviceType(int dev_index, char *out_buf, size_t out_buf_sz)

Returns

Device type as string. Currently one of the following:

  • "standard": the legacy 8.9" display

  • "large": the first generation 15.6" device

  • "pro": the legacy 15.6" Pro Workstation device

  • "8k": the first generation 8K device

  • "portrait": the Looking Glass Portrait

  • "4k_gen2": the second generation 16"

  • "8k_gen2": the second generation 32"

Args

int dev_index, char *out_buf, size_t out_buf_sz

*Note on String Return Functions

Any function of the form "size_t hpc_DoThing(..., char* out_buf, size_t out_buf_sz)" copies a string into a preallocated buffer of size out_buf_sz. The buffer is allocated and owned by the caller.

These functions return 0 if out_buf_sz was sufficient, or the actual size of string if out_buf_sz was too small.

This makes it much easier to pass strings into managed memory (i.e. for .NET bindings). Most of the strings returned by these functions are quite small.

PreviousState FunctionsNextDevice-Query-Functions

Last updated 2 years ago

Was this helpful?

🍽️