This site is no longer active and is available for archival purposes only. Registration and login is disabled.

Considering moving from PocketFrog...


Considering moving from PocketFrog...

Postby fzammetti » May 7, 2003 @ 11:27pm

...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"
User avatar
fzammetti
pm Insider
 
Posts: 1496
Joined: Jun 4, 2002 @ 6:21pm
Location: Omnytex Technologies


Postby efortier » May 9, 2003 @ 8:18am

To answer your questions:

> Drawing circles

Nope.


> Cloning a surface

No, but creating a new surface and blitting an image to it is trivial. A cloning function could be made by you in seconds.


> Pixel shaders

No, but GapiDraw provides direct access to the memory of each surface. This way you can implement special effects. GapiDraw in its current implementation does not contain 3D rendering btw.

Something very important you would get by moving to GapiDraw is the great support. Johan (the creator) has been extremely supportive of GapiDraw and it can now run on a wide range of devices. It's also optimized a lot!

--Eric
User avatar
efortier
pm Insider
 
Posts: 373
Joined: May 15, 2002 @ 10:32pm


Postby fzammetti » May 9, 2003 @ 3:12pm

> Drawing circles

> Nope.

Johan, I would like to suggest adding this. I think I Recall you have primitive drawing tools for lines and rectangles, I think circles (or better still, ovals, which would of course include circles as a subset) would be a worthy inclusion. In addition, a poly drawing function would round out the primitive drawing tools nicely (also make all the closed form tools able to fill at the same time).


> Cloning a surface

> No, but creating a new surface and blitting an
> image to it is trivial. A cloning function could
> be made by you in seconds.

Granted it is easy to do, but this is another suggestion for Johan... I would have to believe that creating a surface and blitting an existing image to it would not be an optimized solution like a built-in clone method would be. This is something that would really help sell me on GD (note that I agree with most people that GD is the better library at this point, but I'm just pointing out the areas that I think PF has advantages that GD can learn from).


> Pixel shaders

> No, but GapiDraw provides direct access to the
> memory of each surface. This way you can implement > special effects. GapiDraw in its current
> implementation does not contain 3D rendering btw.

PF also gives you this ability, however, performance-wise, pixel shaders are far better. I would expect that to be true with GD as well, so I would like to suggest adding that too. This is actually the least important thing to me, the surface cloning however is something I have used fairly extensively and would like to see native in any library I decided to use. A full set of primitive drawing tools comes next.
...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"
User avatar
fzammetti
pm Insider
 
Posts: 1496
Joined: Jun 4, 2002 @ 6:21pm
Location: Omnytex Technologies


Postby Hosed » May 9, 2003 @ 3:30pm

Good primitive drawing is a non-trivial feature set. There are literally hundreds of algorithms for drawing primitives fast, or pretty, or both. I don't imagine this coming to GapiDraw right away, but Johan would be the one to know.

Cloning is the same thing as creating a surface and doing a memcpy IE Create Surface, Blit Surface. The only possible performance boosts could come from refcounted cloning. In which case you still suffer the costs of cloning, just that they wouldn't incur until you changed one of the clones. Until then they'd all point to the original surface. This latter effect can be achieved just as easily with pointers to CGapiSurfaces.

Needless to say the late copy method is not something you want in a realtime app like a game.

Pixel Shaders are an interesting architecture idea. Completely foreign to most 2D library models I've used, but very neat. However I fail to see how a pixel shader would be any faster then direct access pixel manipulation. Performance wise that is.
L. L. Goodwin<BR>Purveyor of Code<BR><A href="http://www.planettribes.com/hosed/">Hosed's House of Code</A>
User avatar
Hosed
pm Member
 
Posts: 249
Joined: Jan 3, 2002 @ 2:51am
Location: Montana, USA


Postby fzammetti » May 9, 2003 @ 4:07pm

...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"
User avatar
fzammetti
pm Insider
 
Posts: 1496
Joined: Jun 4, 2002 @ 6:21pm
Location: Omnytex Technologies


Postby efortier » May 9, 2003 @ 6:41pm

User avatar
efortier
pm Insider
 
Posts: 373
Joined: May 15, 2002 @ 10:32pm


Postby fzammetti » May 9, 2003 @ 7:35pm

...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"
User avatar
fzammetti
pm Insider
 
Posts: 1496
Joined: Jun 4, 2002 @ 6:21pm
Location: Omnytex Technologies


GapiDraw

Postby warmi » May 9, 2003 @ 8:53pm

warmi
pm Insider
 
Posts: 518
Joined: Aug 24, 2002 @ 8:07am
Location: Chicago USA


Postby fzammetti » May 9, 2003 @ 9:02pm

...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"
User avatar
fzammetti
pm Insider
 
Posts: 1496
Joined: Jun 4, 2002 @ 6:21pm
Location: Omnytex Technologies


Copy constructor etc ...

Postby warmi » May 9, 2003 @ 9:15pm

warmi
pm Insider
 
Posts: 518
Joined: Aug 24, 2002 @ 8:07am
Location: Chicago USA


Postby fzammetti » May 9, 2003 @ 9:20pm

...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"
User avatar
fzammetti
pm Insider
 
Posts: 1496
Joined: Jun 4, 2002 @ 6:21pm
Location: Omnytex Technologies


Postby Sm!rk » May 10, 2003 @ 2:35am

User avatar
Sm!rk
pm Member
 
Posts: 172
Joined: Dec 16, 2002 @ 4:40pm


Postby fzammetti » May 10, 2003 @ 3:03am

...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"
User avatar
fzammetti
pm Insider
 
Posts: 1496
Joined: Jun 4, 2002 @ 6:21pm
Location: Omnytex Technologies


Postby Sm!rk » May 11, 2003 @ 3:33am

User avatar
Sm!rk
pm Member
 
Posts: 172
Joined: Dec 16, 2002 @ 4:40pm


Postby Johan » May 12, 2003 @ 8:46am

Away from the email for two days and whoooo.. Lots of new posts.. :)

fzammetti: The GapiDraw BltFast operation is actually quite cool. It will try the following operations depending on how surfaces are stored:

(1) memcpy (both surfaces have same pitch and size)
(2) memcpy each row (both surfaces have same yPitch and are wide)
(3) unrolled copy of each row
(4) aligned 32-bit copy source to destination
(5) source-aligned 32-bit read source to destination
(6) unaligned 16-bit pixel-by-pixel copy

Personally I don't like the DrawCircle function, mostly since it's impossible to get it accelerated by operating on multiple pixels (in contrast to DrawRect, DrawLine, etc). That's why it's not in GapiDraw, and most probably never will be. I'll put a feature in GapiDraw if it can be accelerated by analyzing the display orientation of the device. DrawCircle can't. But it's a trivial implementation.

Pixel shaders are also not there, but as many has said, using Get/Release buffer solves that as well...

Keep those questions coming!
Last edited by Johan on May 12, 2003 @ 8:53am, edited 1 time in total.
User avatar
Johan
pm Member
 
Posts: 1843
Joined: Jan 12, 2002 @ 12:38pm
Location: Sweden


Next

Return to GapiDraw


Sort


Forum Description

The Cross-platform Graphics SDK for Palms, Pocket PCs, Symbian Devices, and Stationary PCs.

Moderators:

sponge, Johan

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

cron