Well, I started using 3D with Five3D, and I spent some times on the different classes. I think Mathieu Badimon's philosophy on his framework is actually the best and that it would have to be the starting point of the developement of the branch, as you did.
concerning the options, I think that the best solution would be to mix the two : from one point keeping the Away3D chain and create/redesign classes so the branch would be the closest possible to the ActionScript API. Basically, and in regard to my experiments, and from a user's point of view, I would see something like this: - making the actual Shape3D class become a Graphics3D class, I mean giving it the same functionalities as the Graphics class. - making a Shape3D class which would basically be a wrapper for vector shapes, with x, y and z coordinates (and maybe rotationX, rotationY, rotationZ, though it's not really important for a start unlike x, y and z coordinates) - making a Sprite3D class a part of the actual chain, but with the ability to add Shapes and other Sprites as children, and maybe have something like the actual Sprite class in the API: a graphics getter/ setter (and Sprite being a mesh and not only a container would be the best) with that i think that the branch would have a solid basis and the maximum flexibility. I've seen during my experiments with the TextField3D primitive that designing the text letter by letter first opens to more possibilities (such as spotting an expression, or changing some words' font, isolating some words/expressions and being able to act on it as a group, like changing its z property or make some rotations) and is also faster with less code (and drawing the text content word by word is even faster but it reduces the possibilities). what are you thinking about it? Peace G On 17 jan, 19:52, Li <[email protected]> wrote: > G, > > When I started designing the textfields branch, I tried to reproduce the > Shape, Sprite, etc chain in the Actionscript API, but in 3D. Of course, I > started by making it functional as simple as possible with the idea of > extending it in the future so that it behaves just as that chain does. I was > inspired to do this by Mathieu Badimon's Five3D engine. It functions just as > the AS3 graphics chain... simple and beautiful =) > > So currently we have a few things designed that sort of work that way, but > not exactly. A lot of functionality is missing in regard of this chain such > as the ability of Sprite3D's to contain other Sprite3D's, etc. But before > actually extending the branch to support these missing features, we are > currently re-evaluating the core of the shape primitive in the branch: We're > currently thinking about 2 options: > > 1) Extend the branch by making more classes so that the graphics chain is > reproduced more precisely or > > 2) Remove this chain and make the shape primitive be inherent in other > Away3D classes. Away3D already has a chain for this with classes like > Object3D, ObjectContainer3D, etc so it could be redundant to design a whole > new chain for elements that are based on shape primitives instead of face > primitives... > > As you see, the branch is currently near the end of it's first experimental > stage. It is a good point to reframe it entirely and think about how it will > oficially merge with the main branch. There are however more expriments to > do... We are just begginning to understand the shape primitive, so a little > more experimentation before the official framework is built wouldn't be bad. > > So, the points you make are very good G, and all this will have to be > considered upon deciding the future of the branch... What are your thought > about all this? > > Cheers, > Li > > > > On Sat, Jan 17, 2009 at 4:19 PM, G. <[email protected]> wrote: > > > Hey, > > > I was wondering if there was a way to make Sprite3D able to add other > > Sprite3D as children (in additon to the ability to add Shapes3D)? I've > > seen on a parent class that there is an addElement() method, but it's > > no more reachable at Sprite3D's level > > > Second thought: maybe it would be interesting that Shape3D would have > > x,y and z coordinates (it would permit for example to build words from > > single chars by only doing some addChild instead of redrawing > > everything) > > > On 16 jan, 22:12, Li <[email protected]> wrote: > > > yeaaaah > > > ;D thanks > > > > On Fri, Jan 16, 2009 at 4:11 PM, G. <[email protected]> wrote: > > > > > hey there, > > > > > that's pretty neat what you're doing with the shading material. > > > > and yep the textfield branch is going to be really cool ;) > > > > > peace > > > > > On 15 jan, 21:40, Li <[email protected]> wrote: > > > > > Cool G! > > > > > > I'm busy at the time developing more graphics stuff related to > > primitive > > > > > shape rendering, like shading materials, backface culling, fixing > > sorting > > > > > bugs, etc:http://www.lidev.com.ar/demos/textfieldsmaterials18/ > > > > > > I trust you will develop cool stuff on your end. So yey! Double > > > > development > > > > > speed for the textfields branch! > > > > > > cheers > > > > > > On Thu, Jan 15, 2009 at 3:47 PM, G. <[email protected]> wrote: > > > > > > > ok then, > > > > > > > meanwhile I will continue my developements as I will use these > > classes > > > > > > for my actual project, so I might add some new features etc but > > I'll > > > > > > keep you in touch when the time comes. > > > > > > > bests > > > > > > G > > > > > > > On 15 jan, 12:26, Li <[email protected]> wrote: > > > > > > > Cool, I'll take a look as soon as I can! > > > > > > > Thanks!! > > > > > > > > On Wed, Jan 14, 2009 at 8:58 PM, G. <[email protected]> wrote: > > > > > > > > > I uploaded a rar in the files section called TextElementSrc.rar > > > > > > > > > keep me in touch and bon courage ;) > > > > > > > > cheers > > > > > > > > > G > > > > > > > > > On 14 jan, 14:18, "G." <[email protected]> wrote: > > > > > > > > > ok i prepare something for today > > > > > > > > > cheers > > > > > > > > > > On 14 jan, 14:04, Li <[email protected]> wrote: > > > > > > > > > > > Hey G, > > > > > > > > > > > Awesome work!! Can you upload or send a working demo of > > this > > > > with > > > > > > > > source? > > > > > > > > > > I've got my own battle here with other topics in the > > branch... > > > > I'll > > > > > > let > > > > > > > > the > > > > > > > > > > wishlist mature for a few days and take priorities from > > there > > > > while > > > > > > I > > > > > > > > solve > > > > > > > > > > my current problem. Once I get to text handling be sure I > > will > > > > > > consider > > > > > > > > > > these suggestions. > > > > > > > > > > > Please send a demo =) > > > > > > > > > > > Cheers > > > > > > > > > > > On Wed, Jan 14, 2009 at 10:52 AM, G. <[email protected]> > > > > wrote: > > > > > > > > > > > > ok I just discovered the place to upload files on the > > group > > > > ... I > > > > > > > > > > > really should sleep more ... anyway you can find the rar > > in > > > > the > > > > > > files > > > > > > > > > > > section. > > > > > > > > > > > keep me in touch > > > > > > > > > > > G > > > > > > > > > > > > On 14 jan, 12:30, "G." <[email protected]> wrote: > > > > > > > > > > > > well, seems that I still can't send things to your > > email > > > > ... > > > > > > > > > > > > > On 14 jan, 03:15, "G." <[email protected]> wrote: > > > > > > > > > > > > > > I'm sorry I might have been too tired, but in the > > > > > > TextField3DG > > > > > > > > class, > > > > > > > > > > > > > in the initVars method, you have to change the > > conditions > > > > > > with > > > > > > > > that > > > > > > > > > > > > > one: > > > > > > > > > > > > > > if (init && init.textSize) _textSize = init.textSize; > > > > > > > > > > > > > else _textSize = 20; > > > > > > > > > > > > > > if (init && > > init.letterSpacing) > > > > > > > > _letterSpacing > > > > > > > > > > > = > > > > > > > > > > > > > init.letterSpacing; > > > > > > > > > > > > > else _letterSpacing = 0; > > > > > > > > > > > > > > if (init && init.lineSpacing) > > > > > > > > _lineSpacing = > > > > > > > > > > > init.lineSpacing; > > > > > > > > > > > > > else _lineSpacing = 0; > > > > > > > > > > > > > > if (init && > > init.paragraphWidth) > > > > > > > > > > > _paragraphWidth = > > > > > > > > > > > > > init.paragraphWidth; > > > > > > > > > > > > > else _paragraphWidth = 1000; > > > > > > > > > > > > > > I forgot the case where init would be null > > > > > > > > > > > > > > cheers > > > > > > > > > > > > > G > > > > > > > > > > > > > > On 14 jan, 02:03, "G." <[email protected]> wrote: > > > > > > > > > > > > > > > Hi again, > > > > > > > > > > > > > > > did some tests tonight, and gone into the path I > > wrote > > > > > > about > > > > > > > > lately, > > > > > > > > > > > > > > so here's what I've done: > > > > > > > > > > > > > > > - made a class Char3D which extends Sprite3D and > > > > creates a > > > > > > > > single > > > > > > > > > > > > > > character. > > > > > > > > > > > > > > - modified TextField3D (actually I made another > > class > > > > so I > > > > > > can > > > > > > > > keep > > > > > > > > > > > > > > the original safe ^_^ ) which now extends > > > > ObjectContainer3D > > > > > > > > (not sure > > > > > > > > > > > > > > it's a good choice) and which basically creates the > > > > text by > > > > > > > > creating > > > > > > > > > > > > > > single characters and then placing them (with some > > sort > > > > of > > > > > > > > native > > > > > > > > > > > > > > wordWrapping). > > > > > > > > > > > > > > - I kept mostly all the original getters (font, > > > > textSize, > > > > > > > > > > > > > > paragraphWidth etc), and added a numLines one, > > maybe > > > > useful > > > > > > > > though > > > > > > > > > > > i'm > > > > > > > > > > > > > > not really sure. Also added the extrude methods. > > > > > > > > > > > > > > - I renamed the words array in glyfs (don't know > > why > > > > > > actually > > > > > > > > but I'm > > > > > > > > > > > > > > too tired to guess), and it now inexates the single > > > > chars > > > > > > (so > > > > > > > > it's > > > > > > > > > > > > > > possible to get their x,y,z coordinates) > > > > > > > > > > > > > > - I added a method to highlight some words with > > > > different > > > > > > font > > > > > > > > and/or > > > > > > > > > > > > > > color. So it's possible to choose any expression > > inside > > > > the > > > > > > > > text and > > > > > > > > > > > > > > make it in another font and/or color. > > > > > > > > > > > > > > I also wanted to try to add some TextAlign features > > > > > > (center, > > > > > > > > right, > > > > > > > > > > > > > > left) and/or make the texte centered natively, but > > you > > > > tell > > > > > > me > > > > > > > > if > > > > > > > > > > > it's > > > > > > > > > > > > > > really useful. > > > > > > > > > > > > > > It's not totally optimized yet, though I think I > > have > > > > > > gained > > > > > > > > some > > > > > > > > > > > > > > milliseconds in the text's creation (but it's only > > > > relevant > > > > > > on > > > > > > > > big > > > > > > > > > > > > > > texts I guess) > > > > > > > > > > > > > > > tell me what you think about it (i'm trying to send > > the > > > > > > stuff > > > > > > > > via > > > > > > > > > > > > > > yousendit, hope it will work this time) > > > > > > > > > > > > > > > cheers > > > > > > > > > > > > > > G. > > > > > > > > > > > > > > > On 13 jan, 18:44, "G." <[email protected]> wrote: > > > > > > > > > > > > > > > > Cool that my idea seems interesting. > > > > > > > > > > > > > > > > About the help, I'm agree with you, so I will > > start > > > > > > > > experimenting > > > > > > > > > > > some > > > > > > > > > > > > > > > ideas and some modifications and if something > > good > > > > comes > > > > > > out > > > > > > > > of it > > > > > > > > > > > I > > > > > > > > > > > > > > > will show you so you can check and validate. I > > will > > > > try > > > > > > the > > > > > > > > > > > container > > > > > > > > > > > > > > > idea for a start and maybe some > > ... > > plus de détails »
