DX9 Subsystem v0.5

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
SoulReaper
Enthusiast
Enthusiast
Posts: 372
Joined: Sun Apr 03, 2005 2:14 am
Location: England

Post by SoulReaper »

This is a great libary - keep up the good work :wink:
S.M.
Enthusiast
Enthusiast
Posts: 118
Joined: Sat Apr 24, 2004 1:11 pm
Contact:

Post by S.M. »

Hi
Sorry for the long delay...
But now it's time for a big update: :wink:
Changes since version 0.4: (06.06.07)

- Removed: dirty DX hacks, because they don't improve the performance much
- Corrected: bug in CopySprite()
- Corrected: bug in DisplaySprite3D()
- Corrected: bug in DisplaySolidSprite()
- Corrected: bug in ChangeGamma()
- Corrected: bug in ClipSprite()
- Corrected: bug in texture manager
- Corrected: strange bug in SpritePixelCollision()
- Corrected: bug in ScreenID()
- Improved: performance of Grabsprite() is much better, although still not hw accelerated ;-)
- Improved: loading speed of LoadSprite() and CatchSprite() if you do it right (see help)
- Improved: SpritePixelCollision() between static sprites is much faster (nearly 50 times faster !?)
- Improved: DisplaySprite3D() optimized for displaying 3D-sprites with the same texture at once
- Improved: DisplaySprite3D() uses clipping only if necessary
- Improved: FlipBuffers()
Link:
DX9S v0.5(473 KB)

It would be great if somebody could test esp. SpritePixelCollision(), DisplaySprite3D(),TransformSprite3D(),RotateSprite3D(),ZoomSprite3D(), LoadSprite(),CatchSprite(),ScreenOutput(),SpriteOutput() and GrabSprite(), because these commands are changed completely.
So they could have many new bugs :wink:

Now DisplaySprite3D() beats sometimes the rendering speed of the DX7 subsystem.
This is often the case if you draw many sprites which are partly outside the screen( or completely) or if you display the same texture often.

Note:
Some examples don't work at the moment because there seems to be a bug with direct memory access in PB 4.1 b1.

Btw, have a look at example 6...
Regards,
Stefan
User avatar
IceSoft
Addict
Addict
Posts: 1683
Joined: Thu Jun 24, 2004 8:51 am
Location: Germany

Post by IceSoft »

@Stefan,
Belive me...I will test it!
Thanks for this great SubSystem lib.
Belive! C++ version of Puzzle of Mystralia
<Wrapper>4PB, PB<game>, =QONK=, PetriDish, Movie2Image, PictureManager,...
va!n
Addict
Addict
Posts: 1104
Joined: Wed Apr 20, 2005 12:48 pm

Post by va!n »

Wow! Very nice and amazing work man! :)

test1.pb == 465 to 600 fps (not constant) / works
test2.pb == 40 to 46 fps / works
test3.pb == 585 to 587 fps / works
test4.pb == n/a fps / works but see noting moving nor changing

test5.pb:
FlipBuffer = 0 | all other = 1 == 71 to 85 fps
FlipBuffer = 1 | all other = 1 == 59 to 61 fps
FlipBuffer = 2 | all other = 1 == 59 to 61 fps

FlipBuffer = 0 | all other = 0 == 1700 to 1790 fps
FlipBuffer = 1 | all other = 0 == 145 to 168 fps
FlipBuffer = 2 | all other = 0 == 145 to 168 fps

example6 DX7: 6 to 7 fps
example6 DX9: 52 to 100 fps (no constant smooth scrolling)

Here on my Intel DualCore Notebook with 2 GB DDR2 Ram and ATI X1400 it works very fine! BIG RESPECT !!!! thumbs up !!!!
Last edited by va!n on Sat Jun 09, 2007 5:33 am, edited 1 time in total.
va!n aka Thorsten

Intel i7-980X Extreme Edition, 12 GB DDR3, Radeon 5870 2GB, Windows7 x64,
Brice Manuel

Post by Brice Manuel »

Btw, have a look at example 6...
I LOVE it! 10,000 sprites + pixel collision all at 148-152 FPS on an low end system!
Flaming Amoeba

Post by Flaming Amoeba »

Has anybody had any compatibility issues with this system? If so, what were they?

I am asking because I am considering using this exclusively until 4.20 hits.
X
Enthusiast
Enthusiast
Posts: 311
Joined: Tue Apr 04, 2006 6:27 am

Post by X »

This system provides a way to colorize your sprites, I do not know if PB 4.20 will provide this option.

A question of my own ...

Is there a way to convert a sprite from this system into an Image?


And for the last one :)

All DX9S_* functions was removed with the newest release of this library. Is there a way we can get these needed functions back in? In particular DX9S_GetSpriteDC() and DX9S_ReleaseSpriteDC()?
S.M.
Enthusiast
Enthusiast
Posts: 118
Joined: Sat Apr 24, 2004 1:11 pm
Contact:

Post by S.M. »

Hi
As I haven't much free time at the moment you can now download the source code of the DX9 subsystem.
Feel free to do what you want with it!
http://stefanmoebius.de/Files/DX9S_Src_3_07_07.zip

There is also a 2 year old and unfinished Irrlicht wrapper from me: (237 commands)
http://stefanmoebius.de/Files/I3DEngine.zip
@X
The functions are still included, please look at:
Examples\DX9Subsystem\DX9SEx\DX9SEx.pbi

You could use BitBlt_(),DX9S_GetSpriteDC() and DX9S_ReleaseSpriteDC() to copy the sprite on a image.
User avatar
fsw
Addict
Addict
Posts: 1603
Joined: Tue Apr 29, 2003 9:18 pm
Location: North by Northwest

Post by fsw »

The file:
http://stefanmoebius.de/Files/I3DEngine.zip
seems to be corrupt.

fsw
User avatar
Andre
PureBasic Team
PureBasic Team
Posts: 2137
Joined: Fri Apr 25, 2003 6:14 pm
Location: Germany (Saxony, Deutscheinsiedel)
Contact:

Post by Andre »

fsw wrote:The file:
http://stefanmoebius.de/Files/I3DEngine.zip
seems to be corrupt.
I made a correct download today. So it should work (now)...
Bye,
...André
(PureBasicTeam::Docs & Support - PureArea.net | Order:: PureBasic | PureVisionXP)
BriceManuel
Enthusiast
Enthusiast
Posts: 195
Joined: Thu Nov 29, 2007 8:23 am

Post by BriceManuel »

Bumping just because it deserves it :wink:
User avatar
fsw
Addict
Addict
Posts: 1603
Joined: Tue Apr 29, 2003 9:18 pm
Location: North by Northwest

Post by fsw »

Andre wrote:
fsw wrote:The file:
http://stefanmoebius.de/Files/I3DEngine.zip
seems to be corrupt.
I made a correct download today. So it should work (now)...

Thank you it works now.

Question:
There is an include file called "I3DEngine.pbi" that has a bunch of "ProcedureDLL" functions in it.
They are a wrapper to other functions supposedly residing in "I3DEngine.dll".
Why are these set up as "ProcedureDLL" and not as normal "Procedure" ?
The file "I3DEngine.pbi" is not used for the creation of the "I3DEngine.dll"...

BTW: How is the "I3DEngine.dll" created?

bye
fsw
SofT MANiAC
Enthusiast
Enthusiast
Posts: 142
Joined: Mon Sep 17, 2007 10:28 am
Location: P.O.P
Contact:

Post by SofT MANiAC »

S.M. wrote: There is also a 2 year old and unfinished Irrlicht wrapper from me: (237 commands)
http://stefanmoebius.de/Files/I3DEngine.zip
what about source code, Stefan? :cry:
Booger
Enthusiast
Enthusiast
Posts: 134
Joined: Tue Sep 04, 2007 2:18 pm

Post by Booger »

First off, just want to say good work on the DX9 Subsystem. Glad you took the time to implement this.

Second, If you are going to release the source to a library you give to the community, could you at least make sure its complete and correct versions?

Thanks for your hard work, and hope you come back to update the sources to correct versions and include the missing source file('s).

To my knowledge on studying your sources, they are not the same as the ones that built the dx9 subsystem v.5 library.

I may be wrong, but please correct me if I am.

Thanks.
link0101
User
User
Posts: 34
Joined: Mon Jul 14, 2008 5:03 pm

ANyone know why this doesnt work with PB 4.20 ?

Post by link0101 »

Hello,

Anyone have a clue why the DX9 subsystem doesnt work with the new PB 4.20?

Fred and the team do great work but this subsystem is the fastest I've seen and would love to use it with the new Purebasic 4.20

thanks ahead of time
Post Reply