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.
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
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
2009/8/2 Michael Rueger m.rueger@acm.org:
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
On Sun, Aug 2, 2009 at 3:09 AM, Igor Stasenko siguctua@gmail.com 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.
On Mon, Aug 3, 2009 at 11:31 AM, Andreas Raab andreas.raab@gmx.de 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.
On Sun, Aug 2, 2009 at 3:09 AM, Igor Stasenko siguctua@gmail.com 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.
2009/8/3 Michael van der Gulik mikevdg@gmail.com:
On Sun, Aug 2, 2009 at 3:09 AM, Igor Stasenko siguctua@gmail.com 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.
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.
squeak-dev@lists.squeakfoundation.org