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

shadwolf
26-Oct-2005
[566x2]
shadolf i dead waiting lol  ... Well SVG renderer widget  for RebGUI 
is not a urgent stuff at all ... Well yes if the 2 needs i have are 
integred to next rebol/view AGG  release it would be really nice 
this will allow us to enlight  rebGUI look with scalable graphics 
^^. next thing once the 2 needs i have are available will be to work 
on the renderer engine widget to make it as fast as possible to allow 
a lot of  SVG content to be rendered without impacting rebgui performencies.
we have to fixe too the usuabilitie of SVG content into RebGUI too 
but i think this is a last issue to discuss .Ashley propose the idea 
of a svg renderer widget to be included into RebGUI. I took his code 
and propose a more advanced version and this work allow me to pop 
out some needs to perfectly comply  the rendering task. But the main 
discution on what we are going to do ith the renderer once we have 
it is not started yet. I think many things can be expected from a 
SVG renderer widget in REBGUI  but then  it depends too on the quality 
to the resulting renderer.
Cyphre
4-Nov-2005
[568]
A little survey for DRAW programmers here in this world::

We are thinking about a possible  separation of the gradient functionality 
from FILL-PEN command as this command is going to have too much argument 
combinations. What do  you think about this? Any better ideas? Or 
are you satisified with only two pens(for fill and for stroke)  in 
DRAW?
Terry
4-Nov-2005
[569]
FYI.. here's what the latest Flash player is doing with grads.. 

Enhanced stroke properties

Select from a variety of cap and join 
types. Apply a gradient to a stroke as well as a fill. Render stroke 
intersections better with stroke hinting.
Advanced gradient control

Tighter 
control over gradients such as changing the focal point of a radial 
gradient and selecting from different overflow modes. 
Cyphre
4-Nov-2005
[570x2]
99% of this you can do in current rebol too.
Maybe I should have note that Rebol with crrent Rebcode is far more 
faster than Flash8.
JaimeVargas
4-Nov-2005
[572]
Even w/o direct blitting?
Cyphre
4-Nov-2005
[573x3]
Yes
2 weeks ago I have intorduced Rebcode(some alphaversion in those 
days) to Oldes who is doing the Rebol to SWF dialect and know very 
well internals of Flash 8. He converted in a few hours one simple 
Flash demo to Rebcode and was amazed about the speed.
In Flash8 he was able to control  hundreds pixels on the screen at 
decent speed while in Rebcode he could do the same operation with 
thousands pixels!
JaimeVargas
4-Nov-2005
[576]
Cool. The gfx magicians. Now only thing needed is an IDE.
Cyphre
4-Nov-2005
[577]
We also tested the same script on slower machines(liek 300-500Mhz 
CPUs) and then the performance was about the same like the same flash 
demo on Athlon at 1400Mhz ;)
Ammon
4-Nov-2005
[578]
An IDE you say? ;-)
JaimeVargas
4-Nov-2005
[579]
Yes. Ammon where is yours?
Cyphre
4-Nov-2005
[580]
Guys, we should move the discussion to appropriate group. Thanks.
JaimeVargas
4-Nov-2005
[581x2]
Ask your leader to leave you some time to play outside the task. 
;-)
(moving to chat...)
Cyphre
4-Nov-2005
[583]
I'm awaitng some feedback to the survey questions in bold text above. 
Thanks.
Terry
4-Nov-2005
[584x2]
The way I see it, without an IDE, it's a lame duck.
Cyphre, when you say "Rebol with Rebcode is faster", do you mean 
the AGG library?
Graham
4-Nov-2005
[586]
No, he means using Rebcode with AGG.
BrianH
4-Nov-2005
[587]
I'm guessing AGG to do the rendering, rebcode to do the computation 
to generate the data for AGG to render.
Terry
4-Nov-2005
[588x2]
If AGG is incorporated into Rebol, isn't there a need to mention 
that in the license?
And when will be able to use AGG with async?
BrianH
4-Nov-2005
[590x2]
Is AGG licensed as BSD with the advertising clause or without?
If without then RT doesn't have to mention anything. As it is, REBOL 
is mentioned on AGG's website as a user.
Terry
4-Nov-2005
[592x2]
Anti-Grain Geometry - Version 2.0
Copyright (C) 2002-2004 Maxim Shemanarev (McSeem)


Permission to copy, use, modify, sell and distribute this software 
is granted provided this copyright notice appears in all copies. 
This software is provided "as is" without express or implied

warranty, and with no claim as to its suitability for any purpose.
Anti-Grain Geometry is an Open Source, free library. You can use 
this software in any commercial or non-commercial projects, free 
of any charge.
BrianH
4-Nov-2005
[594]
Sounds more like the MIT license, even less restrictive than BSD. 
No advertising clause, certainly.
Terry
4-Nov-2005
[595]
provided this copyright notice appears in all copies.
  Isn't that an advertising clause?
BrianH
4-Nov-2005
[596x3]
No. The advertising clause would say that they should publically 
say in all advertising of REBOL that it uses AGG. This clause just 
says that they need to include the copyright notice of AGG somewhere, 
not that the notice has to be really visible.
Since View 1.3 is just a binary right now, a string hidden in the 
binary would be sufficient. It doesn't even have to be readable to 
count for this clause, although that is getting iffy.
The advertising clause would be like the "Intel Inside" insert in 
all of the Dell advertising, for instance.
Terry
4-Nov-2005
[599]
it's not "they should"  and regarding the binary.. you should note 
the word "appears" in the license.
BrianH
4-Nov-2005
[600x3]
Most of the time that info is put in a ReadMe file or an About dialog, 
but since View has that info online, online docs are where it needs 
to be. And the online docs related to Draw do mention AGG (I think). 
That clause is less restrictive than you think.
Usually the copyright clause only needs to be in the source code 
for it to qualify.
AGG is mentioned in the View release notes, including links to the 
AGG web site.
Terry
5-Nov-2005
[603]
Yeah, AGG may be good, but I bet it can't do this  http://blueballfixed.ytmnd.com/
Pekr
5-Nov-2005
[604x7]
you bet it can, Terry:-)
Have you seen pointize demo? It is smaller, but shows how danymic 
it can be ...
and as for sound, you are right, rebol can't really do it ;-)
Terry, what you should probably realise is, that that are only probably 
TWO libraries for vector graphics in the open-source world - one 
being AGG, second one being Cairo, library which was selected by 
Mozilla foundation, Apple etc. to do SVG. Both are very good work 
imo ...
And looking at Laszlo - it is nice but definitely slower than VID. 
I think that AGG, performance wise, is even better than Flash ...
http://www.epsitec.ch/cresus/documents/base-f.php- All in AGG! Other 
companies using AGG here - http://www.antigrain.com/customers/index.html
AGG is definitely a win for Rebol (compare it to old draw, right?) 
and it provides us with professional grade vector graphics .... Look 
at Canvas RPaint - very good example of what is it capable of ...
Henrik
5-Nov-2005
[611]
the only problem right now is SHOW, which seems to slow things down 
a lot... but I think I've mentioned that before :-)
Volker
5-Nov-2005
[612]
How do you test? The actual drawing is done inside 'show, the other 
stuff sets only some values. except you use to-image, that has to 
render too.
Henrik
5-Nov-2005
[613x2]
well, I'm not really sure what goes on, but if I use cyphres rebcode 
demo it runs fine in a small window, but if I set up the display 
size to twice or three times the original size, the framerate really 
slows down. The drawing routine itself shouldn't care about the resolution, 
so I think it's something in SHOW
SHOW does some kind of "dumb" full screen refresh. it's also visible 
when using Canvas. even if you only draw one pixel, drawing is slow 
in large screen areas.
Ashley
5-Nov-2005
[615]
The following code demonstrates this. Comment / uncomment the draw 
effect line to see the difference a simple draw command makes.

count: 100

do-test: func [label info /local img-size start end] [
	img-size: to-pair label/text
	img: to image! layout [

  origin 0 box img-size blue reform ["Testing" img-size ". . ."] font 
  [size: 24]
	]
	view/new/options center-face layout [
		origin 0 i: image img img/size
		;effect [draw [circle 100x100 100]]
	] [no-title no-border]
	;	test loop
	start: now/time/precise
	loop count [show i]
	end: now/time/precise
	;	display result
	info/text: form to-integer count / (to-decimal end - start)
	show info
	unview
]

view layout [
	title "Resolutions"
	across la: label 100 "800x600" ia: info 100 center
	return lb: label 100 "1024x768" ib: info 100 center
	return lc: label 100 "1280x1024" ic: info 100 center
	return btn "Run" [do-test la ia do-test lb ib do-test lc ic]
]