On Sun, 11 Apr 2004 04:26:25 -0700 (PDT) Ogla Sungutay <[EMAIL PROTECTED]>
babbled:

> Greetings!
> 
> First of all let me express my appreciation to the E
> Devel Team for the wonderful work they have  produced.
> After  maybe two years,finally, I have decided to
> learn  Evas/Ecore, improve my C, and use it to fulfill
> my evil intentions. :))

most excellent! :) and thanks - from all of us. :)

> Having been working on Ming-C/Perl, the dynamic SWF
> output library, for over a year I gained some (mostly
> Perl) experience with 2D graphics programming; I like
> what I have achieved so far, but from a technical
> point of view(the SWF player,onEnterFrame_do_this
> design, actionscript )  I hate it more every day.
> Having said this, here are my may-be-stupid questions,
> I'm just brainstorming folks!

hmm - you may find it interesting that recently we spawned our own virtual
machine (embryo) with compiler that is used by edje to do just what SWF does
with actionscript - except its a full virtual machine with bytecode, native
calls back to th edje, structured programing language syntax, etc. its tiny (a
virtual machine is only about 8kb or so) and the virtual machine code is tiny
(less than 3000 lines total, header files and all). basically it allows full
while, for loops, if/then/else if/else statements, switch statements, function
calls, recursion, floating point and integer math, etc. the function calls
available are ONLY those made available by edje itself, so it's sandboxed and
cant do anything dangerous or outside the objects it has. currently the set of
calls provided is small and not immensely useful, but there are plans to improve
this and there is a big list of calls i want to implement.i dont plan on
allowing any of them to access the filing system or network so the scripts
within edje objects will be severely limited and are intended onyl to augment
display and behavior logic. but this does put edje on-par and i believe slightly
beyond flash in this respect. but you would know flahs MUCH better - i have only
gone over the specs and have a reasonable 1000ft view.

>   1. What can you say about SWF? How can you compare
> it with Evas/Ecore? Is there any

different. SWF is an animation format that has grown out of control. ecore,
evas, edje is a programing api set, that is growing out of control :) its 
relatively format agnostic, though we provide support for formats we prefer
(jpeg, png, ttf, eet encapsulation, edje .eet's etc.). E stuff is intended to be
harnessed by a C, C++, etc. program to produce an application that may have need
of the features provided.

>  similarities? Could they be used together, like say 
> Ecore-SWF?

technically- yes - but evas for example lacks matrix transforms, splines, radial
fills, and several other "required" things. fonts are done differently to flash
where last i checked it did them from the spline/curve/line primitives directly,
and not via ttf's etc. with a LOT of effort i guess all this could be added and
an E based SWF viewer/player would be possible - but for now i don't really see
a need and don't have time myself. also implementing all of these things is no
trivial task - well not trivial to make it FAST and still look good. i will go
voer this a bit more later...

>  Here is the funny part: How does an Mozilla-Evas
> plug-in sound?

more evil. an edje plugin :) technically it could download an edje .eet file
from the ww and run it directly thru edje (that builds on evas, eet, ecore,
embryo etc.). edje is just a library - and provide evas objects that are more
like entire flash animations in themselves. add in hooks so these objects can
signal they want to go to a new url, (edje has a signal based api to the calling
app, similar to GTK's signals) and maybe some other nice glue here and there...
and basically yes - we could have a direct flash competitor entirely based on
open source code and E stuff. a stand-alone player of this stuff would be tiny
and fast. i'd actually love to do this for the E website some day :) then we
could actually have resizable, layered content... :) but thats just imagination
for now.

>   2. Is anyone using transformation matrices to
> manipulate Evas objects?

no. the reason being its not supported due to simplicity and speed reasons. the
internals work entirely in an aligned rectangle fashion and transform matricies
would need a rewrite of that design. also implementing scaling algorithms that
can implement a transform matrix WITH interpolation AND super-sampling AND make
it fast even in software, is no trivial task and so far no code to do this
exists.

one big reason for all of this is evas USED to have a "basic x11" engine that
did everything with X11 pixmaps, masks and X primitives. X does not support any
transforms for these, not even scaling, so to keep life "simple" we really only
support scaling alone with no rotation/shear

>    Since there is (the idea of) animation in
> Evas/Ecore, there should be a 2D, or even a simple 3D
> Engine. Is this a missing feature,or by its nature
> Evas doesn't need any transformations, users should
> make up their own... Or am I missing something??

you can do a lot with translation, scaling and series of images :) a LOT! :)

>   3. Is there any plans about implementing Cubic
> Beziers in Evas? 

no PLANS, but a definite "on the list - would be nice) but the problem is you
would have to implement this on every engine, and that list grows - though many
share the same "common" software and "common" gl engine cores.

>   4. Considering we have Beziers, any thoughts on SVG
> rendering?

we'd need bezier curve clipping (ie render image, other object/primitive clipped
to a bezier curve path) in fact we really need arbitrary clipping - ie clip the
rendered output of lets say gradients, lines, polys, images to any other of
these in the most optimal way (or any combination of these ie an image scaled
and blended to a dest,m but clipped to another image mask that is scaled
differently, and this mask is clipped to a polygon that is clipped to a bezier
that is clipped to a text glyph output.....) you get the idea - this is very
useful. can be used for making "textured text" ie text font with  some coloured
texture in it - take an image as th texture, clip it to the font - bingo. this
hasn't been done yet due to simplicity and optimization reasons. long before
that it wasn't done due to opengl not fully supporting pbuffers for a long time.
also i want to support some filter methods. particularly "Blurring" of an object
prior to composting. doing this fast in software is had - doing it fast with
opengl is also hard. this would let us easily do soft drop shadowed text with
much less overhead. it will allow all sorts of other effects like fading in
whiles going from massively blurred to clear and sharp etc. this is definitely
on my "some time" plan... that and clipping are right near the top with multiple
colorspace support for image objects - ie and image object can "live" in a 
colorspace other than ARGB. eg: RGB444 16bpp, or just RGB24bpp, or YUV420 etc.
currently ALL image objects exist as ARGB32. this makes the engine simpler and
easier to optimise.

>   5. I'm experimenting Perl-Inline C with Evas/Ecore 
> quite succesfully. For now I'm just trying to
>  make  evas-ecore-object usage more Perlish.  Nothing
> fancy yet. The code below is just to illustrate what I
> have done technically:
> 
>    ## EAuto is a C struct turned to Perl Class.
>    my $ea = $EAuto->new(600,400);
>    my $r = EAuto::Shape->rectangle(200,300);
>    $r->color(0,100,0,255);
>    $ea->addRect($r,30,30,1); 
>    $EAuto->createScene();
> 
> I see tremendous power with C-Perl-Inline approach,
> esp in the hands of powerful C programmers. What do
> you think?

that's cool. i know i will never sue it - i don't do perl :) but others may find
it useful! :)

> Last words...
> Although in my opinion SWF and its player simply suck,
> there are many many beautiful and sophisticated
> designs like Shape Defined MovieClips, Wave Effects,3D
> Engines,SVG Rendering... It would be nice  to apply
> these ideas
> with the far superior EFL. 

some of these we have, some are superior, some don't exist, some are inferior...
some we just simply do differently to get the same effect. one thing evas is not
- that is 3d. if u want a "3d canvas" there are good ones already around and
that is the job of another project. this stuff is 2d and getting the most out of
it! :) but still being fast for "realtime display" purposes.

you should look into edje - its a more modular approach to to things than SWF -
its a library and is designed to be used as a slave by a calling program. it can
be expanded and is designed to be used for resizable user interface elements
like widgets, window borders, in fact almost anything the heart desires. its
intended to extend on evas so an edje object is just like any rectangle, line,
image, text etc. object, but within itself it animates, reacts to events,
signals etc. etc. etc.

:)

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [EMAIL PROTECTED]
熊耳 - 車君 (数田)                  [EMAIL PROTECTED]
Tokyo, Japan (東京 日本)


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
enlightenment-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to