GnomeCanvas3D



Hi all,

For quite a while already I'm thinking about that thingy mentioned in
the subject line. Namely and object derived from gnome_canvas but with
(x,y,z) world coordinates, "projection-type" property (parallel,
perspective, etc.) and first of all: capable to render NURBS curves and
surfaces.

First question: is such thing already in the working somewhere?

The other problem is the rendering of NURBS curves. I guess there is not
an abundance of algorithms to choose from. The best I found so far is
decomposition of NURBS curve into a set o Bezier segments. However, if I
understand the documentation properly, gnome-canvas (really: libart) can
only render curves composed of four control points using
gnome_canvas_path_def_curveto (start point + three points supplied as
arguments to moveto method). That leads me to the second question:

Is it true that GnomeCanvasPathDef may contain only four control point
bezier seqments? If so then it begs a fourth question: why? I mean is it
universal enough? In other words: is there a way to use curveto method
to render arbitrary defined Bezier seqments?

The fifth question is of more general nature. Is it a good idea in the
first place to implement a 3D canvas for gnome? I'm asking this in the
context of incoming wave of changes caused by future adoption of cairo
and removing libart from its role of underlying rendering engine. By the
way, does it mean that GnomeCanvas will be retired as well? From what I
see cairo IS NOT a functional replacement of GnomeCanvas.

Thanks,

Jerry Kakol.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]