r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[AGG] to discus new Rebol/View with AGG

Henrik
5-Jun-2006
[829x3]
1. first you draw
2. then you rotate
3. then you translate

in classic REBOL order
which means start at 3. :-)
speaking of which, it could be fun to see a LOGO like dialect for 
DRAW. fun for the kids.
Graham
5-Jun-2006
[832]
Gregg has one.
Henrik
5-Jun-2006
[833]
that's good. I don't have to do it then.
Graham
5-Jun-2006
[834]
do you have to create the kids first?
Henrik
5-Jun-2006
[835]
got plenty of those around, not mine though. I don't know how interested 
they would be in it yet. I spent countless hours in COMAL80 when 
I was a kid drawing with the "turtle".
Graham
5-Jun-2006
[836x2]
Comal80 - a Danish product?
I remember I had a Comal80 interpreter for my C64.
Henrik
5-Jun-2006
[838x3]
I don't remember what it was. I think it was for several platforms 
but I used it for my C64.
I think it was a great drawing tool. very straight forward approach 
to drawing.
then I got an Amiga and was exposed to the horror that was Amiga 
Basic.
Graham
5-Jun-2006
[841x3]
I've got my graphing utility written now in my postscript dialect
just labelling the y-axis is a problem because of the way AGG does 
the rotate vs PostScript rotate command
and there's no way to save a graphic state in AGG.
Henrik
5-Jun-2006
[844]
ah, yeah that could be a problem
Anton
5-Jun-2006
[845x4]
Graham, AGG rotation: that's just an effect of the way AGG does its 
transformations which apply to the whole image. The rotate command 
is just a shortcut method of specifying just the rotation angle of 
a transformation.
transform (origin) (angle) (scale-x) (scale-y) (translate)
What you want to do is set the origin to the centre of your object, 
then change the angle and translate as you wish.
I agree that it is a bit uncomfortable at first. I was also expecting 
something simpler like in flash, but I suppose this way is more powerful.
Cyphre
5-Jun-2006
[849x3]
Anton is right. DRAW works on lower level than FACE so there is only 
one tranformation matrix per DRAW block (ie. it is applied on all 
rendered primitives). OTOH you have relatively wide range of commands 
how to control the transformation matrix or even use the mtrick stack 
to push/pop different trnasformation states to apply  nested transfromations.
(Note that due this lower-level approach the drawing is also faster.)
The transformation handling is more simmilar to OpenGL in that way. 
See some OGL docs to get the idea and you will see the benefits.
Geomol
4-Dec-2006
[852]
Is there a reason, why SPLINE doesn't draw anything with just two 
points?

view layout [box effect [draw [pen black spline 10x10 90x90]]]
Anton
5-Dec-2006
[853]
Well, SPLINE is only drawing straight lines for me. Maybe you want 
CURVE.
Cyphre
5-Dec-2006
[854]
Geomol: the SPLINE has currently 3 and more points allowed as it 
was meant to use more as spline not line  but we can change this.
Geomol
5-Dec-2006
[855]
Cyphre, it makes sense to have spline draw a line with only two points 
in a gfx application, where the user start a line with two points 
and may continue with more points or may just end the line after 
only two points.
Graham
5-Dec-2006
[856]
can't the drawing application change it to a line if it ends in two 
points?
Maxim
7-Dec-2006
[857x2]
is there any way to extract curvature X/Y data  from any of the primitives?
example, sliding objects on a path, connecting lines along splines, 
etc...
Geomol
7-Dec-2006
[859]
Maxim, maybe a Bezier curve is what, you're after? Try
do http://www.fys.ku.dk/~niclasen/rebol/fysik/bezier.r
You can find the Bezier function inside the script.
Cyphre
8-Dec-2006
[860]
Maxim: I have been thinking about that feature many times. It would 
be great to be able get back the X/Y data of DRAW shapes. This should 
be part of R3 for sure. Don't know if Carl would like to backport 
it to R2. We will see. At the moment you can compute the curves in 
rebol directly (like Geomol does).
Maxim
8-Dec-2006
[861x4]
will they be pixel perfect?
Cyphre, was has to be done for R3 IMHO is a way for us to probe values, 
just like a 3d package allows you to get point, edge, curvature info 
out of transforming and deforming geometry.
although some will argue this is slow, its actually VERY fast, since 
the slow part is usually the calculation and drawing.  once that 
is resolved, probing is insignificant.
using liquid I am already able to build a draw network, which recycles 
values and allows multiple elements to cooperate.  but I can't get 
that within each element itself.
Cyphre
11-Dec-2006
[865]
Maxim, there will be some possibility to access/modify the internal 
representation of DRAW shapes in R3 so you can 'bypass' the DRAW 
parser and just rerender what is already in the 'pipeline'. This 
could be handy especially when reusing big and/or complex DRAW shapes 
etc.
Pekr
11-Dec-2006
[866x3]
nice!
Cyphre - is "featureset" of R3 already defined?
I mean R3/View ...
Cyphre
11-Dec-2006
[869]
Yes, we have the 'basic features' defined. It will be surely refined 
during the implementation process. I believe Carl will write more 
at the right time in one of his blogs.
Pekr
11-Dec-2006
[870x5]
hmm, reading some of license related answers, GPL seems to prove 
itself being a cancer once again :-(
One developer was tryting to prepare AGG as an replacement to Mozilla 
Cairo vector engine. So we would get AGG in browsers too :-) ... 
unfortunatelly, licence change ruins the effort
We can assume, Cairo is distributed under LGPL, right? If so, it 
becomes 
really incompatible with the GPL. For now I'd suggest you 
to keep using AGG 
2.4, at least until we can come up with a better 
legal solution. Basically, 
I want to prevent some 
commercial monster corporations" from free use of 

AGG. But I do want the Linux world to keep using it for free. I'm 
not quite 

sure how well LGPL protects from uncontrolled free commercial use; 
if it 

does, I may re-think and switch to the LGPL. But I'm not willing 
to keep 

using totally free, BSD-like licences in future versions. Ideally, 
I'd like 
to come up with some kind of a QT-like licensing scheme."
but he also adds:


We are working on a legal solution that allows us to prepare special
releases 
of AGG under a commercial license along with GPL. Currently you can
keep 
using AGG 2.4 for free, but I'll stop supporting it soon.
We are 
also working on different fee plans, to make it as flexible as
possible. 
It's hard to tell you concrete values right now, but there won't
be 
anything extraordinary. Depending on the projects and your revenue
we 
can even provide you a 
free commercial license".
We will inform you soon about possible options.

McSeem"
... so there is still chance, that 1) we will be ok with 2.4 for 
quite some time 2) community extends old 2.4 branch 3) Maxim comes 
with some good licensing, so RT can afford to buy commercial license 
for Rebol ....
Henrik
18-Dec-2006
[875]
is the issue with non anti aliased lines of 1 pixel width being fixed 
for the next View?
Cyphre
19-Dec-2006
[876]
Not sure if in the next beta but it should be fixed in the new 'final 
release'.
Maxim
19-Dec-2006
[877]
what is the issue?
Volker
20-Dec-2006
[878]
Does someone have a demo-script with agg-fonts on debian? I have 
no deep clue how to use 'draws deper features and dont want to spend 
some hours figuring that out^^