[Pharo-dev] Questions about Athens

kilon alios kilon.alios at gmail.com
Fri Nov 1 04:23:39 EDT 2013


ShivaVG looks definitely as a way to ease the pain of porting to OpenGL.

Some notes on the matter. The Cairo backend for OpenGL is opengl but yet
its not opengl.  What it does is render cairo as a opengl texture. OpenGL
true power is in the shaders so you dont get the kind of hardware
acceleration you would expect.

Speewise as surprising this may sound  opengl is not the ideal option,
because opengl is mainly 3d orientated. The ideal solution from what I have
seen would be something like CUDA or OpenCL, that give direct access to the
GPU cores and allow you to do any kind of computation thus liberation from
the restrictions of APIs. For example Blender takes advantage of both
Opengl and CUDA , the CUDA renderer is phenomenal better because of its
flexibility.

The problem however is that all that are very technical and it takes quite
some dedication to implement.

A reason why I abandoned opengl as an idea is that I came to realise that
Cairo was already fast enough for my needs. But I still keep that door open
for the distant future, ShivaVG with OpenCL would be awesome for really
intensive GUIs and complex Graphics and definitely would love to give it
another try eventually.


On Fri, Nov 1, 2013 at 2:19 AM, Igor Stasenko <siguctua at gmail.com> wrote:

>
>
>
> On 1 November 2013 00:53, Alexandre Bergel <alexandre.bergel at me.com>wrote:
>
>> Not sure to fully understand the problem. In what ShivaVG would solve a
>> situation better than with Athens? If I understand well, a then working
>> with Cairo uses the hardware acceleration right?
>> What is it not enough for you need?
>>
>> First, OpenVG is more complete and i would say thoroughly designed API
> than Cairo.
> Second, i don't want to go  Athens -> Cairo -> OpenGL
> if i can do directly Athens->OpenGL.
> Putting extra dependency out of the loop is advantageous, OpenGL is widely
> supported industry standard, which today you can find even on portable
> devices, while you cannot say same about Cairo.
>  (not mentioning avoiding costs of having multiple layers to get to the
> hardware).
>
> ShivaVG implements OpenVG API using OpenGL, since OpenVG is vector
> graphics framework
> it can serve as a good source to look how to implement OpenGL backend for
> Athens.
>
>
>> Alexandre
>>
>> > Le 31-10-2013 à 19:16, Igor Stasenko <siguctua at gmail.com> a écrit :
>> >
>> > I cannot say, of course, how it would be for you, but there is
>> ShivaVG[1] open-source
>> > opengl implementation of OpenVG, more or less feature-complete,
>> > so all what is needed is to port this code from C to smalltalk.
>> > Or if not for porting, but using as a source of insights how to
>> implement it.
>> > I think it is fairly doable.
>>
>>
>
>
> --
> Best regards,
> Igor Stasenko.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131101/780e4983/attachment-0002.html>


More information about the Pharo-dev mailing list