projectM-visualizer / projectM-visualizer/projectm

[FEATURE] Make it possible to select between GL Core and GL ES APIs at instance creation

Open
#1,004 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
4.5k
Forks
485
Avg merge
3d 7h
Merged PRs (30d)
5

Description

Please confirm the following points:
  • This feature request is NOT for the Android apps in the Play Store
  • I have searched the project page to check if a similar request was already made
Application or Project

libprojectM (including the playlist library)

Is Your Enhancement Related to a Problem?

Currently, developers must decide to use either GL Core profile or the GL Embedded Standard at compile time, so an application that may need to use either one depending on the environment has to ship with two separate libraries.

Your Suggested Enhancement

Add a new API call that enables the application to choose a specific GL profile for the instance. Alternatively, projectM could try to determine the proper GL variant by querying the current context GL version. This is also necessary for the original projectm_create() method, which will be used by applications that have adopted projectM before version 4.2.

Alternative Solutions

Don't add any additional API functions, and only rely on context detection. Keeps the API slim, but removes some control from application, e.g. to prevent using the wrong GL variant in some edge cases.

Additional Context

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing projectm_create() entry point and the compile-time selection between GL Core and GL ES APIs. Determine how an instance-level profile choice or context detection would preserve compatibility with applications using the older API. Done means the supported selection behavior and the handling of the original projectm_create() method are defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
api, computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.