Skip to content

Differences

Dimitre edited this page Mar 1, 2025 · 5 revisions

Most of OF Core is similar but there are some key differences:

Mac only

for now. The idea was cleaning everything, making it work right with one platform before expanding to others.

Libraries

ofLibs will have only macOS libs. every one of them has its own .zip file, so it can be downloaded in parallel.

Archs

This fork builds core in one architecture, compiling faster for day to day use. if needed universal (fat) compilation it can be done uncommenting one line of Project.xcconfig

ofxMath

Classic Math files were removed from Core and moved to an addon in the case they are needed. All Core functionality was ported to use plain glm.

ofMatrix3x3.cpp
ofMatrix3x3.h
ofMatrix4x4.cpp
ofMatrix4x4.h
ofPoint.h
ofQuaternion.cpp
ofQuaternion.h
ofVec2f.cpp
ofVec2f.h
ofVec3f.h
ofVec4f.cpp
ofVec4f.h
ofVectorMath.h
ofxMath.h

GLFW

redesigned GLFW with lots of simplification. one of them is, ofWindowSettings now is one object only, independent of window modality. GLFW handles well a screen spanning multiple monitors, detecting montors size and positioning.

GLM

GLM_FORCE_CTOR_INIT removed, all vars initialized correctly and GLM experimental extensions reduced to the minimum.

Core

there is a structure (ofCoreInternal) to help organize things that have to be in memory during OF execution. it helps keeping the core functionality more readable and avoid some deep shared pointers passing from lots of different functions (incrementing and decrementing count multiple times per frame)

Make

Make is now a template, you can include optionally. as ofGen uses a recipe instead of addons.make it doesn't need to be present.

Platforms, templates

All is a template now. in the past a template mirrored a platform. now it is not true with VSCode for multiple platforms for example. Some templates like VSCode or ZED will add Make template automatically. ZED code editor now has a template integrated with ClangD

Clone this wiki locally