Is this a real concern ? Afterall vector data is a lot less complex than 3d
geometry and CPUs nowdays are multicore.

Don't know about the Opengl backend of Cairo. Igor also once shown me a
Spec for vector graphics on OpenGL by Khronos Group.

So there are alternatives but as always it will require someone doing the
hard work to bring that functionality to Pharo.

Newest OpenGL versions also come with dynamic tesselation geometry shaders
that basically increase the detail of a 3d object the closer a camera gets
to it which is similar to vector graphics which is something that could
also work as basic via NBOpenGL to bring Athens to 3d side completely
bypassing Cairo.

On Tue, Dec 30, 2014 at 9:18 PM, Ronie Salgado <ronies...@gmail.com> wrote:

> Athens uses Cairo , Cairo can be used with OpenGL. You can use Cairo to
>> apply a 2d vector graphic as a texture to a 3d polygon. Cairo website shows
>> several examples of this. That means its possible to have 2d vector
>> graphics in 3d space as if its true 3d.
>>
> I do not think that is going to work easily with the best performance
> possible. Cairo could be using OpenGL, but probably in a different OpenGL
> than the one that is being used for 3d graphics.
>
> In addition, the Cairo OpenGL backend is experimental (
> http://cairographics.org/OpenGL/) . Currently you have to render into a
> surface in CPU, then transfer it into GPU and then render the polygon. A
> naive version using the OpenGL backend is going to have GPU->CPU->GPU
> roundtrip
>
> If we are using this route, I think that is better to just use the current
> version of Athens for this. With Athens we can render into a Form, which
> can be used to populate a Woden/Roassal texture or transferred directly to
> OpenGL. This has the advantage of not having a explicit dependency in
> Cairo. I guess that I will make a demo of this later. It should be easy.
>
> I think that a longer term approach could be having a custom renderer,
> tailored for Athens using OpenGL or maybe OpenCL.
>
> 2D vector graphics are really hard. In my opinion they are harder than 3d
> graphics because of concave self intersecting paths. Stroking a path can be
> really hard because of thins such as tapering.
>
> The 3D hardware is designed to draw efficiently points, lines and
> triangles. All of them are simple convex polygon. Most of the 2D vector
> engines such as Cairo are software renderer, scanliners to be more
> specific. The old cairo opengl backend had to tessellate the paths
>
> Later I am going to take a better look in Jun. And see how I can integrate
> with Woden/Woden-Roassal. For what I have seen in the videos, it seems to
> be using software rendering. Currently I have been working in my internship
> about volumetric data visualization and the new FFI.
>
> 2014-12-30 11:01 GMT-03:00 kilon alios <kilon.al...@gmail.com>:
>
> Athens uses Cairo , Cairo can be used with OpenGL. You can use Cairo to
>> apply a 2d vector graphic as a texture to a 3d polygon. Cairo website shows
>> several examples of this. That means its possible to have 2d vector
>> graphics in 3d space as if its true 3d.
>>
>> On Tue, Dec 30, 2014 at 12:10 AM, stepharo <steph...@free.fr> wrote:
>>
>>> Sven
>>>
>>> Jun is a 3D frameworks developed in 1998 in VisualWorks
>>> http://aokilab.kyoto-su.ac.jp/jun/index.html
>>> It was quite advanced and this is nice to get more people doing 3d in
>>> Pharo.
>>> They are using the back -end developed by ronie and JB and this is cool
>>>
>>> Athens is just a canvas and a oo decomposition of the canvas, brush and
>>> strokes
>>> nothing related to 3D.
>>> Stef
>>>
>>>
>>> Le 29/12/14 20:20, Sven Van Caekenberghe a écrit :
>>>
>>>  On 29 Dec 2014, at 15:36, stepharo <steph...@free.fr> wrote:
>>>>>
>>>>> https://www.youtube.com/watch?v=sH_P5otiWJM&feature=youtu.be
>>>>>
>>>> It certainly looks nice, but what is Jun exactly ?
>>>>
>>>>
>>>>
>>>
>>>
>>
>

Reply via email to