I am very impressed with the engine and its capabilities. I am wondering if anyone can tell me if it would be worth it to try and port the engine to a somewhat inhospitable OS.
Bascially, we have an embedded OS that will go into a sort of small Kiosk.
The device has somefairly stringent requirments due to its cheap construction.
The OS supports executables up to about 300-400K in size. There is no advanced rendering library available (e.g. no open gl etc), so all rendering would need to be in software and the final result for a frame would be a BMP bitmap that we would directly blit to the device using an api already developed (basically simple memory copy with attention to BMP palette).
And, unfortunately, BMPs are 256 color (although that may change).
So we would want the engine to do the work, but hand us a standard 256 color windows BMP at the end.
I noticed that Irrlict does list software as a rendering option. Has anyone built a barebones version of the engine? What would the footprint likely be?
I appreciate any information you can provide, but I understand that this is probably not the area most people are interested in.
By the way, anyone who is an expert with the Irrlicht source code, there may be an opportunity to get paid for your work to make the above work.
If it is not possible for Irrlicht to work under these circumstances, then if anyone has any other suggestions for other engines that might do the job, please let me know. I have looked at a few basic raycasting solutions but none of them seem to be very tight code.
thanks!
Footprint of the engine and porting to a difficult OS
devil in the details...
I wouldnt say i'm an expert, but i would point out some prerequisites/questions pertaining to this idea...
-does this OS of yours have a C++ compiler (GCC/ANSI compatible preferably?)
-when you were mentioning blitting a .bmp to screen you mean irrlicht should render to an image per-frame right?
-irrlicht itself isnt an executable in windows or linux, it's really a dynamic(static in linux) linked library. if your OS can use a windows .dll then the .exe could potentially be very small.
stripping out the OGL/directx code should be pretty easy i would think, irrlicht is written in a very easy-to-follow modular way. the other bit is that i'm not sure how the software rendering works, but id imagine it uses some low-level OS drawing functions to work, you may have to rewrite some of those for your OS
once again, just trying to help clarify
-does this OS of yours have a C++ compiler (GCC/ANSI compatible preferably?)
-when you were mentioning blitting a .bmp to screen you mean irrlicht should render to an image per-frame right?
-irrlicht itself isnt an executable in windows or linux, it's really a dynamic(static in linux) linked library. if your OS can use a windows .dll then the .exe could potentially be very small.
stripping out the OGL/directx code should be pretty easy i would think, irrlicht is written in a very easy-to-follow modular way. the other bit is that i'm not sure how the software rendering works, but id imagine it uses some low-level OS drawing functions to work, you may have to rewrite some of those for your OS
once again, just trying to help clarify
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
-
- Posts: 360
- Joined: Tue Feb 10, 2004 2:20 am
- Location: Lubbock, TX
Bazel,
I would have to disagree with what buhatkj said. I am no expert myself but I can tell you is I would not recommend you porting Irrlicht to your OS. Contrary to what buhatkj said Irrlicht in its current form uses directx and opengl to a large extent and since Niko does not have the software 3d renderer done I do not see how Irrlicht can help for your application. I
t sounds like your storege space is quite limited(Maybe not but it seems that way) and the Irrlicht dll in version 0.6 is 856 Kb.
Also since you say there is not a rendering library you would be limited only to 2d. There are many other graphics libraries that do 2d much better faster and are much smaller than Irrlicht for these sort of tasks. Just googling for graphics libraries for embedded systems pull up a number of hits including smxMGL and OpenML.
Hope that helps and good luck.
I would have to disagree with what buhatkj said. I am no expert myself but I can tell you is I would not recommend you porting Irrlicht to your OS. Contrary to what buhatkj said Irrlicht in its current form uses directx and opengl to a large extent and since Niko does not have the software 3d renderer done I do not see how Irrlicht can help for your application. I
t sounds like your storege space is quite limited(Maybe not but it seems that way) and the Irrlicht dll in version 0.6 is 856 Kb.
Also since you say there is not a rendering library you would be limited only to 2d. There are many other graphics libraries that do 2d much better faster and are much smaller than Irrlicht for these sort of tasks. Just googling for graphics libraries for embedded systems pull up a number of hits including smxMGL and OpenML.
Hope that helps and good luck.