Page 1 of 1
UseBuffer() for DirectX9 Subsystem or OGRE for DirectX7
Posted: Thu Aug 20, 2009 5:36 pm
by THCM
It seems as if the latest beta doesn't support the UseBuffer() command while using the DirectX9 subsystem. My game renders all the background on a larger sprite and only the visible portion will be drawn later to the screen. With DirectX9 I only get a blank screen. The OpenGL subsystem is no alternative, because I get an error during compiling, that the funtion is not supported. Only DirectX7 works, but with the newer OS's like Vista or Windows 7 in mind, it would suit a lot better to at least support DX9.
Posted: Thu Aug 20, 2009 7:08 pm
by Fluid Byte
Please search the forums next time as this has been discussed very often in the past. The UseBuffer() isn't supported with the DirectX9 subsystem, only with DirectX7. There nothing you can do except using DX7 as default.
Posted: Thu Aug 20, 2009 9:34 pm
by THCM
Fluid Byte wrote:Please search the forums next time as this has been discussed very often in the past. The UseBuffer() isn't supported with the DirectX9 subsystem, only with DirectX7. There nothing you can do except using DX7 as default.
What's wrong with my request and why do you try to correct me? I didn't find any requests for this, except for my earlier wish for a faster implementation of the UseBuffer() for DX9. At least a note would be nice in the help file and Purebasic should give a compiler error like with the OpenGL subsystem. If the UseBuffer() command is not debateable, then Fred should please add the correct compiler warnings and or notes in the help file.
Posted: Fri Aug 21, 2009 10:29 am
by Fluid Byte
What's wrong with my request and why do you try to correct me?
It's pointless because you don't read carefully. It's simply not possible, technically. There are no sprites in DX9 anymore. Everything is done via textures/surfaces. Just realize that DX7 is outdated technology.
If the UseBuffer() command is not debateable, then Fred should please add the correct compiler warnings and or notes in the help file.
That ain't no news either. Has been discussed as well.
Posted: Fri Aug 21, 2009 4:10 pm
by THCM
I don't believe that it's impossible with DX9 to render onto another texture or another surface. And if you say, that DX9 doesn't support sprites, then please explain to me, how Purebasic handles 'sprites' with the DX9 subsystem. For me as a user it doesn't matter how things are done internally, but as far as I know a command like UseBuffer() should be possible to implement using DirectX9 and OpenGL.
Posted: Mon Aug 24, 2009 8:31 am
by THCM
So if Usebuffer for DX9 is a no go, then I wish there would be at least DX7 support for the Ogre 3D Engine. With DX7 I'll loose my skybox in the background of my game and with DX9 I'll loose alle my objects on the screen. Only solution at the moment is to use an old version of Purebasic, but there so many great new features and don't want to miss anymore.
Posted: Mon Aug 24, 2009 1:43 pm
by djes
I agree with you, it should be possible (even if not in realtime). But if you're doing such unobvious things, you should be able to hack a bit around to do what you want...
Posted: Mon Aug 24, 2009 2:19 pm
by THCM
My game named Orb (a conversion of one my old Amiga/C64 games) is a block-puzzle game like sokoban. It takes place in a space scenario and the floating skybox is a nice addition and it would be a pity to loose it:

Posted: Mon Aug 24, 2009 3:33 pm
by Kaeru Gaman
the newer OGRE needs DX9, no way to make it work without.
use some older PureBasic Version, if you want OGRE with DX7.
there maybe some way to output on a texture with DX9, but I don't know how.
on the other Hand, a Skybox maybe a bit overkill for your project, if you just want to have an animated backdrop.
you could do it with a layered Tileengine and Sprite3D, using DX7 for all effects.
Posted: Mon Aug 24, 2009 4:24 pm
by THCM
I know that the newer versions of Ogre need DX9 to work, but it should be possible to deliver an older version of Ogre, if the user chooses the DX7 subsystem. I also found a lot of tutorials regarding the render to texture feature of DirectX 9 and I've seen a few scene demos and games (mostly mirror effects) which make use of it. Of course I don't know how purebasic handles stuff internally and how hard it is to implement and I know that you sometimes have to break backward compatibility, but then you should at least implement a replacement with the same functionality.