Blending Graphics APIs via Emulation Layer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current electronic gaming machines (EGMs) face challenges in seamlessly integrating graphical content from different executing programs within the same window, particularly when using different graphics application programming interfaces (APIs), which limits the flexibility and user experience in presenting a unified gaming experience across various devices.
Innovation Solution
The implementation of a game host engine that creates a graphics context for a first API and converts commands from a second API using an emulation layer, allowing blended graphical content from different APIs to be rendered in a single display window, enabling unified presentations on devices like smartphones and tablets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If graphical content from different APIs is integrated into the same window, then the flexibility and user experience are improved, but the system complexity increases due to API compatibility requirements
Solution Approach 1:
The patent implements an emulation layer that acts as an intermediary between different graphics APIs (OpenGL and WebGL). This emulation layer receives commands from either API and translates them into a unified internal representation, allowing graphical content from multiple APIs to be integrated into the same rendering context without direct API interaction. The emulation layer absorbs the complexity of API compatibility, enabling the higher-level system to maintain flexibility while the lower-level translation handles the technical disparities.
2Adaptability or versatility
If an emulation layer is implemented to convert commands between APIs, then API compatibility is achieved, but the processing time and computational overhead increase
Solution Approach 1:
The system performs preliminary actions by pre-compiling game code into a universal format that can be executed across different platforms. The emulation layer is pre-configured with knowledge of both OpenGL and WebGL command structures, allowing it to quickly translate commands without extensive runtime processing. This preparation work reduces the computational overhead during actual game execution, minimizing the time penalty associated with API conversion.
3Adaptability or versatility
If game code is provided in an interpreted language, then distribution flexibility is improved by bypassing App Store review, but code security and validation become more challenging
Solution Approach 1:
The patent uses copying by distributing game code in an interpreted language format (such as JavaScript) that can be executed directly in web browsers without compilation or App Store review. The game logic is copied from development environments directly to the client-side browser, where it runs within the sandboxed environment of the browser engine. This approach maintains distribution flexibility while relying on the browser's inherent security model to validate and execute the code safely.
Data Source
AI summary
Techniques and apparatuses are provided for allowing simultaneous presentation, via a single graphics context, of graphical content originating through the execution of two programs that produce graphics-related commands using two different application programming interfaces (APIs). For example, a game host engine may produce commands using a first API and may cause a graphics context for the first API to be created. Game application code that causes commands using a second API to be created may be executed as well, in addition to an emulation layer that may translate the second API commands into equivalent first API commands. The emulation layer may then send the equivalent first API commands to the graphics context, resulting graphical content that originates from both the game application code using the second API and the game host engine using the first API to be blended together in the graphics context and then rendered to a display.


