Page 1 of 1

version 4.60 - Sprite3d commands

Posted: Fri Mar 02, 2012 9:00 pm
by bmon
Hello ...
If running on Windows (XP) and I set my subsystem to OpenGL, does this also allow me to use the Sprite3d commands WITHOUT needing DirectX 9.0? I see inside the SubSystems/OpenGL/PureLibraries/ there are 4 things listed Palette, Screen, Sprite, Sprite3d ... Are these the libraries that are now used if OpenGL is selected? If so, that would tell me that the Sprite3d commands are now supported under OpenGL. I understand the manual says it needs DirectX but I'm not sure if the manual reflects changes made since version 4.60 added the OpenGL subsystem option. I would like to update my game so that those with Vista and Windows 7 wouldn't need to download and install DirectX 9.0 if possible ... Any help or guidance is appreciated!

Re: version 4.60 - Sprite3d commands

Posted: Fri Mar 02, 2012 9:26 pm
by Kuron
bmon wrote:I would like to update my game so that those with Vista and Windows 7 wouldn't need to download and install DirectX 9.0 if possible ... Any help or guidance is appreciated!
This will be necessary no matter what because even though it uses OpenGL for rendering, it will still need DX9 since it uses DirectInput.

Re: version 4.60 - Sprite3d commands

Posted: Sat Mar 03, 2012 4:58 pm
by bmon
Hello Kuron! How are you doing my friend?
Thank you for the response. I understand that anytime you use InitKeyboard, InitMouse, InitSprite, InitEngine3d() commands that you are calling upon DirectX 9 libraries(although I guess the InitSprite/InitEngine3d, if the subsytem is set to OpenGL, will use OpenGL instead) ... But I'm wondering if you create your game in a windowed/screen, what library is used instead when you call Addkeyboardshortcut(), WindowMouseX(), WindowMouseY() ect ect to track the input since it doesn't require the calling of InitKeyboard()-InitMouse() first? Maybe they use more generic libraries that might already come with Vista and Windows 7? As far as sound goes, someone posted a wrapper for FreeSL sound libraries that I guess should work with any Windows based operating system (since you will also need to distribute some DLL files that come with it). Back to the original question, if I understand you correctly, is that if the subsystem set to OpenGL, that DirectX will not be used to render both sprites, sprited3d, and regular entities/mesh(actual 3d) things ... At least I think that is correct.
Another option for cross-platform campatibility without having someone install something else first might be the CanvasGadget (2d games only). When you read the information about gadgets in the manual, it states that ... "The Gadgets in PureBasic (in other languages also called "controls" or "widgets") are a generic name for all the interface components: button, combobox, listview, panels, ... This library is OS independent and uses the real OS Graphical User Interface (GUI) components." ... So that may also be an option. :)