[squeak-dev] [ANN] Squeak OpenVG bingings

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] [ANN] Squeak OpenVG bingings

Igor Stasenko
Hello guys,

this is a small project to enable a fast & standard 2D vector graphics
API for squeak - OpenVG.

The squeak sources is hosted at:
  http://www.squeaksource.com/OpenVG

  currently there are 4 packages:
    OpenVG-Base   - base development package
    OpenVG-Tests  - package to hold different tests
    OpenVG-Demo - package to hold different demos

    OpenVG-Plugin - VMMaker package sources. Before installing it,
load the OpenVG-Base first.

The platform source files is hosted at code.coogle and can be obtained via svn:
   svn checkout http://openvg-squeak.googlecode.com/svn/trunk/

Platforms:
  - currently plugin available only for win32 platform, sorry. If
there is a brave soul to port the platform source on different
platform , i can add him to developers :)

To evaluate a plugin, install:

    OpenVG-Base,  OpenVG-Tests , OpenVG-Demo packages

next, download the squeak plugin from here:

http://openvg-squeak.googlecode.com/files/OpenVGPlugin.dll

now pick one of an OpenVG engine implementations:

[1]http://www.amanithvg.com/download/  (a closed source , but VERY
fast engine.. and for evaluation only :( )
   it having a SRE and GLE versions. Use GLE version.

[2]download & build own dll from http://sourceforge.net/projects/shivavg/
  or download built by me:
http://openvg-squeak.googlecode.com/files/OpenVGPlugin.dll

There are also other OpenVG implementations available:
  - GinkoVG (software renderer)
  - Kompazz  (seems like authors target it on unix platforms only)

Now, after doing the above you are ready to run some code.
First, tell a plugin, which OpenVG engine to use:

OpenVGAPI loadLibrary: 'yourlibname.dll'

Next, init the context:

OpenVGAPI initContext

Next, run some test:

VGUTests new display

Next run a tiger demo:

VGTigerDemo runDemo

have fun!


P.S. at the moment, the OpenVG API coverage is not complete (no
VGImage yet). So, you can play with paths/paints only.

--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Squeak OpenVG bingings

Juan Vuletich-4
Hi Igor,

Very interesting!

Thanks for sharing it.

Cheers,
Juan Vuletich

Igor Stasenko wrote:

> Hello guys,
>
> this is a small project to enable a fast & standard 2D vector graphics
> API for squeak - OpenVG.
>
> The squeak sources is hosted at:
>   http://www.squeaksource.com/OpenVG
>
>   currently there are 4 packages:
>     OpenVG-Base   - base development package
>     OpenVG-Tests  - package to hold different tests
>     OpenVG-Demo - package to hold different demos
>
>     OpenVG-Plugin - VMMaker package sources. Before installing it,
> load the OpenVG-Base first.
>
> The platform source files is hosted at code.coogle and can be obtained via svn:
>    svn checkout http://openvg-squeak.googlecode.com/svn/trunk/
>
> Platforms:
>   - currently plugin available only for win32 platform, sorry. If
> there is a brave soul to port the platform source on different
> platform , i can add him to developers :)
>
> To evaluate a plugin, install:
>
>     OpenVG-Base,  OpenVG-Tests , OpenVG-Demo packages
>
> next, download the squeak plugin from here:
>
> http://openvg-squeak.googlecode.com/files/OpenVGPlugin.dll
>
> now pick one of an OpenVG engine implementations:
>
> [1]http://www.amanithvg.com/download/  (a closed source , but VERY
> fast engine.. and for evaluation only :( )
>    it having a SRE and GLE versions. Use GLE version.
>
> [2]download & build own dll from http://sourceforge.net/projects/shivavg/
>   or download built by me:
> http://openvg-squeak.googlecode.com/files/OpenVGPlugin.dll
>
> There are also other OpenVG implementations available:
>   - GinkoVG (software renderer)
>   - Kompazz  (seems like authors target it on unix platforms only)
>
> Now, after doing the above you are ready to run some code.
> First, tell a plugin, which OpenVG engine to use:
>
> OpenVGAPI loadLibrary: 'yourlibname.dll'
>
> Next, init the context:
>
> OpenVGAPI initContext
>
> Next, run some test:
>
> VGUTests new display
>
> Next run a tiger demo:
>
> VGTigerDemo runDemo
>
> have fun!
>
>
> P.S. at the moment, the OpenVG API coverage is not complete (no
> VGImage yet). So, you can play with paths/paints only.
>
>  
> ------------------------------------------------------------------------
>
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 8.5.392 / Virus Database: 270.13.39/2275 - Release Date: 08/01/09 09:38:00
>
>  


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Squeak OpenVG bingings

Michael Rueger-6
In reply to this post by Igor Stasenko
Igor Stasenko wrote:
> Hello guys,
>
> this is a small project to enable a fast & standard 2D vector graphics
> API for squeak - OpenVG.

How does OpenVG compare to Cairo in terms of capabilities?
How different are the resulting graphics on different platforms?

Sounds like to good thing to have nevertheless :-)
Would be interesting to integrate the OpenVG binding into the Rome
Canvas hierarchy.

Michael

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Squeak OpenVG bingings

Igor Stasenko
2009/8/2 Michael Rueger <[hidden email]>:

> Igor Stasenko wrote:
>>
>> Hello guys,
>>
>> this is a small project to enable a fast & standard 2D vector graphics
>> API for squeak - OpenVG.
>
> How does OpenVG compare to Cairo in terms of capabilities?
> How different are the resulting graphics on different platforms?
>
> Sounds like to good thing to have nevertheless :-)
> Would be interesting to integrate the OpenVG binding into the Rome Canvas
> hierarchy.
>
Well, i don't know much details about Cairo..
Google gives a link:
http://lists.cairographics.org/archives/cairo/2008-January/012833.html

> Michael
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Squeak OpenVG bingings

Michael van der Gulik-2
In reply to this post by Igor Stasenko


On Sun, Aug 2, 2009 at 3:09 AM, Igor Stasenko <[hidden email]> wrote:
Hello guys,

this is a small project to enable a fast & standard 2D vector graphics
API for squeak - OpenVG.

The squeak sources is hosted at:
 http://www.squeaksource.com/OpenVG

 currently there are 4 packages:
   OpenVG-Base   - base development package
   OpenVG-Tests  - package to hold different tests
   OpenVG-Demo - package to hold different demos

   OpenVG-Plugin - VMMaker package sources. Before installing it,
load the OpenVG-Base first.

The platform source files is hosted at code.coogle and can be obtained via svn:
  svn checkout http://openvg-squeak.googlecode.com/svn/trunk/

Platforms:
 - currently plugin available only for win32 platform, sorry. If
there is a brave soul to port the platform source on different
platform , i can add him to developers :)

To evaluate a plugin, install:

   OpenVG-Base,  OpenVG-Tests , OpenVG-Demo packages

I got a "Syntax Error" trying to load OpenVG-Base.

Gulik.
 

--
Best regards,
Igor Stasenko AKA sig.




--
http://gulik.pbwiki.com/


Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: [ANN] Squeak OpenVG bingings

Andreas.Raab
Michael van der Gulik wrote:
>     To evaluate a plugin, install:
>
>        OpenVG-Base,  OpenVG-Tests , OpenVG-Demo packages
>
>
> I got a "Syntax Error" trying to load OpenVG-Base.

I have no problems loading it into the latest 3.10.2-trunk.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: [ANN] Squeak OpenVG bingings

Michael van der Gulik-2


On Mon, Aug 3, 2009 at 11:31 AM, Andreas Raab <[hidden email]> wrote:
Michael van der Gulik wrote:
   To evaluate a plugin, install:

      OpenVG-Base,  OpenVG-Tests , OpenVG-Demo packages


I got a "Syntax Error" trying to load OpenVG-Base.

I have no problems loading it into the latest 3.10.2-trunk.

Okay; I've found it works if I load it using the Monticello tools, but not using the file listing.

Gulik.



--
http://gulik.pbwiki.com/


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Squeak OpenVG bingings

Michael van der Gulik-2
In reply to this post by Igor Stasenko


On Sun, Aug 2, 2009 at 3:09 AM, Igor Stasenko <[hidden email]> wrote:
Hello guys,

this is a small project to enable a fast & standard 2D vector graphics
API for squeak - OpenVG.

The squeak sources is hosted at:
 http://www.squeaksource.com/OpenVG
<snip - details>

Hi Igor.

You're using the same window as the Squeak display. How are you implementing this? Is it somehow using the same framebuffer (Form) as Squeak, or is it just reusing the window? I don't really know much about windows GUI programming.

i.e. how difficult would it be to open the demo in a completely separate window, such as for example when you want to run Squeak headless with this demo in a separate window?

Gulik.

--
http://gulik.pbwiki.com/


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Squeak OpenVG bingings

Igor Stasenko
2009/8/3 Michael van der Gulik <[hidden email]>:

>
>
> On Sun, Aug 2, 2009 at 3:09 AM, Igor Stasenko <[hidden email]> wrote:
>>
>> Hello guys,
>>
>> this is a small project to enable a fast & standard 2D vector graphics
>> API for squeak - OpenVG.
>>
>> The squeak sources is hosted at:
>>  http://www.squeaksource.com/OpenVG
>> <snip - details>
>
> Hi Igor.
>
> You're using the same window as the Squeak display. How are you implementing
> this? Is it somehow using the same framebuffer (Form) as Squeak, or is it
> just reusing the window? I don't really know much about windows GUI
> programming.
>
I just creating an OpenGL context for main window. The rest is doing
OpenVG engine :)

> i.e. how difficult would it be to open the demo in a completely separate
> window, such as for example when you want to run Squeak headless with this
> demo in a separate window?
>
nearly as same as difficult at it is now :)
An accelerated rendering engine using an OpenGL, which having a single
current context per thread bound to a particular window (Device
context) at a given point of time.
So, you can create a window, create an OpenGL context for it and draw
there. Then create another window, create another context and draw
there.
But i'm not sure if OpenVG engines allow more than 1 context per application..
API doesn't having a notion of context , nor returns its handle.. So,
it is supposed to be global.

There also a software rendering implementations .. they don't need
OpenGL to run.. But they are a way slower.
I will plan to support both of them.. API can work with any.. Just
need some additional routines to transfer products of rendering to
Form(s)/Display.

> Gulik.
>
> --
> http://gulik.pbwiki.com/
>


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Squeak OpenVG bingings

Igor Stasenko
I added the missing parts of API - VGImage + sufrace access.
Now all OpenVG functions is accessible by OpenVG-Base package.
The plugin already contains these primitives, so all you need is to
update OpenVG-Base.


--
Best regards,
Igor Stasenko AKA sig.