04-17-2005, 07:55 PM
Pages: 1 2
04-17-2005, 08:19 PM
TÃ¥lamod ^_^
04-17-2005, 09:23 PM
grap a c++ book and start learning that, then write a c wrapper around irrlicht, create the proper bi files, compile the static/import libs for irrlicht with either mingw(win32) or gcc on linux and be a happy irrlicht user in fb.
04-17-2005, 11:35 PM
That's no simple task, i was checking the engine better and while it uses mostly "interfaces" with pure virtual methods (that are theorically simple to wrap), there are many classes like vector/matrix that need templates to work, and many interface methods take these classes as arguments, what makes a simple wrapper hard to be done..
Also, being a C++, there's no standard on how class members are aligned, nor about name-mangling, if you install the VC++ dll and make a wrapper for the MinGW dll, there will be a nice crash..
Also, being a C++, there's no standard on how class members are aligned, nor about name-mangling, if you install the VC++ dll and make a wrapper for the MinGW dll, there will be a nice crash..
04-18-2005, 05:44 AM
Quote:That's no simple task, i was checking the engine better and while it uses mostly "interfaces" with pure virtual methods (that are theorically simple to wrap), there are many classes like vector/matrix that need templates to work, and many interface methods take these classes as arguments, what makes a simple wrapper hard to be done..
Also, being a C++, there's no standard on how class members are aligned, nor about name-mangling, if you install the VC++ dll and make a wrapper for the MinGW dll, there will be a nice crash..
ya that's why i suggested to use mingw
anyways irrlicht is not that great imo.
04-18-2005, 10:05 AM
I assume that FreeBasic can use any graphics library, and not just graphic engines. I was wondering if it's really nessicary to have a graphics library that uses Direct3D or Direct3D itself to be ported to use with Freebasic but I really don't see that coming because from what I hear it's more complicated than OpenGL.
Anyways, anyone check out Mesa3D?
Anyways, anyone check out Mesa3D?
04-18-2005, 10:28 AM
it's not about the functionality of the library you use, it's about the availability of compatible functions in terms of calling conventions etc. libraries that are written in C perfectly fit that requierment as fb allows using the same calling conventions.
Opengl is a plain C-library with some ports to other languages or better call them bindings. all that was needed was to port the c headers ( that declare the functions provided by the library and their argumentlists/return types ) to fb, which is besides being a tedious task not really complex.
DirectX on the other hand is written in C++, grounded on the COM mechanism. here you just can't translate the original headers as they rely on C++/COM specific syntax/mechanism. one would have to write a C-Wrapper around this, that then can be used in fb. check out the fbraknet port, that's a simple example of how to write a wrapper around a c++ library for fb.
Mesa3D is a software implementation of the OpenGL API. i has, however a set of drivers that allow you to take advantage of your gfx cards accelaration functions too. as there's alread the OpenGL headers ported i see no point in translating the Mesa3D headers ( which are 99% the same to OpenGL) except if you want to try a feature that is not implemented on your gfx card ( note: it does not mean that it's implemented in software in Mesa3D either. Mesa now supports OpenGL standards up to 1.5 i think and also has some ARB and vendor specific extensions but by far not all of them )
Opengl is a plain C-library with some ports to other languages or better call them bindings. all that was needed was to port the c headers ( that declare the functions provided by the library and their argumentlists/return types ) to fb, which is besides being a tedious task not really complex.
DirectX on the other hand is written in C++, grounded on the COM mechanism. here you just can't translate the original headers as they rely on C++/COM specific syntax/mechanism. one would have to write a C-Wrapper around this, that then can be used in fb. check out the fbraknet port, that's a simple example of how to write a wrapper around a c++ library for fb.
Mesa3D is a software implementation of the OpenGL API. i has, however a set of drivers that allow you to take advantage of your gfx cards accelaration functions too. as there's alread the OpenGL headers ported i see no point in translating the Mesa3D headers ( which are 99% the same to OpenGL) except if you want to try a feature that is not implemented on your gfx card ( note: it does not mean that it's implemented in software in Mesa3D either. Mesa now supports OpenGL standards up to 1.5 i think and also has some ARB and vendor specific extensions but by far not all of them )
04-18-2005, 11:15 AM
But in the "missing" directory in FB 0.13b there's a file called Irrlicht... So that means they're working on it, right?
04-18-2005, 11:19 AM
Quote:TÃ¥lamod ^_^
Den som väntar på något gott väntar ALLTID för länge!
(Sorry, I guess the forum rules says Only English or something, right? :roll: hmm... maybe I should read 'em) :lol:
04-18-2005, 11:23 AM
seems like there's a c-wrapper for irrlicht. well then you got your beloved irrlicht engine
Pages: 1 2