A computer-implemented method for generating a binding between a software environment of one or more high-level interpreted languages and a C/C++ library to exhibit functionalities of the C/C++ library to the one or more high-level interpreted languages, the method comprising:
- processing a definition of the binding, the definition having been previously written in a high-level language, the definition comprising functions to produce binding elements;
- generating the binding elements exposed to the one or more high-level interpreted languages to produce a set of functions in C++ that are exposed to the one or more high-level interpreted languages, wherein generating the binding elements is further configured to allow the C/C++ library to call a written function in the one or more high-level interpreted languages to expand the functionalities of the C/C++ library;
- compiling a C++ code and linking the C++ code to the C/C++ library;
- obtaining a dynamic library integrating the C/C++ library and an interface layer compiled from the C++ code;
- transforming a three-dimensional (3D) engine originating from the C/C++ library to be embedded in an item of equipment in which a software application is written in the high-level language;
- importing the dynamic library;
- accessing, via the dynamic library, the functionalities of the C/C++ library;
- and
- transforming 3D models originating from the C/C++ library into 3D models capable of being embedded in equipment provided with a Human Machine Interface (HMI) within mobility systems, the HMI being designed and processed using a 3D development tool, wherein the 3D models transforming includes exploiting, via an interpreter, the functionalities of the C/C++ library so that:
- the C/C++ library exhibits, via an application programming interface (API), 3D, video and audio functionalities,
- a 3D graphic driver exhibits, via an API, capacities of a 3D graphics processing unit (GPU) and transforms given instructions into GPU primitives, and
- wherein the 3D GPU processes the GPU primitives and transforms them into video signals to be displayed on a screen within the equipment;
- wherein processing the definition comprises a distribution of processing between:
- high-level functionalities of each of the one or more high-level interpreted languages;
- and
- C++ functionalities of a C++ language that are supported in a transparent manner by the binding and will be made accessible in the high-level language.