Replies: 29 comments 28 replies
LibrariesI think we should be back using straight .a libraries whenever possible, the only place xcframeworks are indispensable are ios/simulator combo. This way we can simplify addon_config.mk to the point we don't ever have to use ADDON_LIBS for Core addons. if it is a standard .a file in its own path, ProjectGenerator will add it. if it is a xcframework it will also add to the project |
Libraries PathI think it is confusing 3rd party libraries are together with openFrameworks and openFrameworksCompiled folder. |
Assimpremoving ofxAssimpModelLoader and favoring ofxAssimp instead. |
Stop compilation on first error
|
ofxSvg -> ofxSvgParserremoving ofxSvg from core and substitute with https://github.com/NickHardeman/ofxSvgParser |
Version shyOF is 21 years old and version shy. no 1.0 yet? |
XCode OF Core, one archit would be great if we achieve to compile the core in just the computer architecture, |
MakeWhile we don't have an equal substitue it is the motor that runs OF.
|
GLEWalternatives? |
GLFW WindowSimplify all different windows settings objects in just one, ofWindowSettings with everything (I'm alreading using like this in a fork) |
ProjectGeneratorRewrite from scratch, ditch electron. having a separate discussion to disambiguate Platforms, targets, IDEs, build systems, templates. |
ofLogI know this is impossible because of addons. |
GLMDisable GLM_FORCE_CTOR_INIT and initialize all vars properly, like chaning glm::mat4 localTransformMatrix;to glm::mat4 localTransformMatrix { 1.0 }; |
|
Can we just compile glm
…On Tue, 4 Feb 2025 at 5:46 am, Dimitre ***@***.***> wrote:
I've proposed a PR untangling glm and "classic math" operations, which
avoids some strange interoperability that happens in the core like:
glm::vec2 -> ofVec2f ->ofVec3f -> glm::vec3
—
Reply to this email directly, view it on GitHub
<#8259 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAGK2HFUTVBX3ZO3J34STBT2N62R3AVCNFSM6AAAAABVPKNGVGVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTEMBUGYYTMNY>
.
You are receiving this because you commented.Message ID:
<openframeworks/openFrameworks/repo-discussions/8259/comments/12046167@
github.com>
|
Shared pointers danceI'm wondering if we can have a struct with lots of needed initialization things for OF, so it is more clear to see what is going on and we can reduce the number of shared pointers are being called for things like ofGetCurrentRenderer, etc. it seems to be working OK. I'll be applying this in a separate branch and test in projects soon |
Install scriptjust one install script to install dependencies and libraries, autodetecting platform |
Deprecated Functionsremove them. or encircle them with |
Type Conversionreenable the warnings about 64/32 bits implicit conversion and tackle all of them Are there some special motivation about ofIndexType being TESSindex? |
std::chrono for all timersstd::chrono is a well built, works the same for all platforms and doesn't make unnecessary divisions, I'm using like this and I can see differences in ofGetElapsedTimef() and similar. |
ofNodeMeshit would be great to have an object deriving from ofMesh and ofNode at the same time. |
RPI PrecompiledAs some great raspberry pi (3B+) are slow to compile the entire OF core |
Move remote file loading (http / https) to a core addonThis is already made in ofWorks fork. |
ofxCairo
|
RGFWAdd RGFW as an alternative to GLFW (it can work as GLEW also) |
File Dialogs / Alerts in LinuxUsing Zenity, remove GTK from Core. Alert = std::string ofSystemLoadDialogPortal(const std::string & title,
bool bFolderSelection,
const std::string & defaultPath)
{
const char * zenity = "zenity";
if (bFolderSelection)
zenity = "zenity --file-selection --directory";
else
zenity = "zenity --file-selection";
char cmd[512];
snprintf(cmd, sizeof(cmd), "%s --title='%s' 2>/dev/null",
zenity, title.c_str());
FILE *pipe = popen(cmd, "r");
if (!pipe) return "";
char buffer[PATH_MAX];
if (fgets(buffer, sizeof(buffer), pipe))
buffer[strcspn(buffer, "\n")] = 0; // strip newline
pclose(pipe);
return buffer[0] ? buffer : "";
} |
RM ofVAArgsToStringAnd all other functions that call it internally. not secure and not very helpful in 2025 |
ofVideoGrabber, open device by name or namesI'm working on an app that uses a specific IR camera to do openCV and other variable cameras to be RGB ones. if (camRGB.setDeviceByNames({
"c922 Pro Stream Webcam",
"C922 Pro Stream Webcam",
"Logi C270 HD WebCam",
"USB Camera VID:1133 PID:2085", // logitech c270 no mac
})) {
camRGB.setDesiredFrameRate(30);
camRGB.setup(1280, 720);
} else {
cout << "Camera RGB not found from list." << endl;
} |
ofBuffer accepting fs::path for initializationSubstitute in core where ofBufferFromFile is needed, so it is one less copy on buffers. |



Uh oh!
There was an error while loading. Please reload this page.
I have a vision of how OF can be different.
Some ideas are compatible with the project and others not, I'll be using this space to share ideas and discuss them with you
All reactions