Reply to NGB/VERSE "controversy"

General discussion about the development of the open source Blender

Moderators: jesterKing, stiv

eskil
Posts: 140
Joined: Tue Oct 29, 2002 10:42 pm

Reply to NGB/VERSE "controversy"

Post by eskil » Thu Jun 05, 2003 2:25 am

There has been quite a stir in this forum the last cuple of days regarding the future of blender, verse and me. I havent been active in it (even though i have read everyting). The reason for tis is that i have been busy coding and that i didnt want to defend my self. Some things that have been said have been very agressive and acused me of all sorts of things, but thats ok. I dont hold any grudges against any one. Many times the facts have been destorted but I think that they have almost always been pointed out by others. It is also clear that people have during the couse of this argument have started to read the verse spec.

Two years ago, 3dLabs released a draft spec of OpenGL 2.0 to the Open GL ARB (the organization that designes OpenGL). For a long time people had been talking about OpenGL 2.0 but nothing ever happend, but as soon as some one showed something concreat every one started having opinions about it, and now two years later we are on the verge of releasing the final 2.0 spec. A lot of things have changed since the original draft, but that draft puched the ARB to make 2.0 happen.

This is part of my intention, and why i think this discission (though heated at times) is good. If NGB turns out to be something compleatly different from what I suggest but this discussion started it I will be very happy. Therefor i suggest that people who feal they have ideas shuold get togeter and start planing and coding.

Ok over to some other things. the past few days A LOT of bugs have been fixed and there is now a lot of example code that wanst there in the first release. Im going to write some more, and the next thing i wriet will be a full app using verse.

My vission of the future of blender would very much be like a linux distrobution. A linux distrobution is like a collection of applications, a operating system along with a install script. each application is written by indipendent people in different languages and different styles. The people who are responsible for the distrobution selects what applications should be included. Any one can start a application project, an if its good enough it will be included in the distrobution. this removes the entire "what language should we use" discussion.

Verse in all this is just the spec how the different apps comunicate(if you are jnot happy with my sample implementation you can even write your own in any style/laguage)

This brings up a very difficult issiue for me:

For this to work it is importante that I dont start writing all the apps, but as I create more sample code that will be the case. So therefore Í would like people mail me what kind of apps they would like to write, and i will help them write them and send out as tutorials.

Ton (Thanks) have given me some space on blender.org and i will set up a page shortly.

the latest source can be found here: http://www.blender.org/modules/verse/verse2.zip

thorax:
Mail me and explain the ID issue you are having.

Cheers

E

Money_YaY!
Posts: 442
Joined: Wed Oct 23, 2002 2:47 pm

Post by Money_YaY! » Thu Jun 05, 2003 3:24 am

Oh Essie, next you'll be haveing scandels.

fun
^v^

thorax
Posts: 320
Joined: Sun Oct 27, 2002 6:45 am
Contact:

Re: Reply to NGB/VERSE "controversy"

Post by thorax » Thu Jun 05, 2003 4:07 am

deleted by thorax..

Trying as much as possible not to cut down Eskil..
Last edited by thorax on Fri Jun 06, 2003 2:49 am, edited 7 times in total.

theeth
Posts: 500
Joined: Wed Oct 16, 2002 5:47 am
Location: Montreal
Contact:

Post by theeth » Thu Jun 05, 2003 4:16 am

Thorax, I really think you should go outdoor, breath some fresh air and think about what you're going to say. But maybe that's just the way I see it, but you're way overagressive in my taste.

Martin
Life is what happens to you when you're busy making other plans.
- John Lennon

NateTG
Posts: 37
Joined: Mon Oct 14, 2002 2:38 am
Location: Here

Post by NateTG » Thu Jun 05, 2003 6:15 am

thorax wrote:So you as we give you suggestions you will change your design to
fit this, that means overtime your technology will be obsoleting all
the previous implementers of your interface standard. Sounds like a
mistake to me, but that's just me..
i don't see how you came up with that statement. he said he will help people write apps.
thorax wrote:This also implies that you don't know what you are doing, but you also want complete control over the flow of the design, the reason you ask for mail instead of discussing it here.. So you can
grow as the design grows, but is it possible others here may have better ideas and may be able to co-own the design of the standar, or does this somehow put you at a disadvantage?

Users, Note if you don't openly discuss your needs with him here, he can patent your ideas into his alternate designs (what he considers to be useful to his own technology). I would demand that the discussion be opened in the user groups.. Users and coders alike, you might ask yoruselves: If I ask him to make design changes in private what gurantee do I have that my ideas don't become his proprietary designs and patents? How can I guarantee that the design will be implemented and at teh very least communicated (however if both of you are discussing proprietary interfaces, Eskil could be seen as a consultant that is wishing to make money, this is okay)? I say it here, it become public knowledge, then you can't sell it or make it proprietary.. I bet he is keeping a alternate source distribution that he includes the really good ideas in
and the distribution he plans to sell and the public distribution gets only
the general design suggestions..
:roll: you know, I think he wanted people to email him so that we don't waste space on this forum with millions of verse-specific/individual topic posts. The way I see it, if you want to ask a specific person how to do something, the easiest way is to email them. but as you say, "thats just me." :roll:

dude, I think you need to lay off a bit. I don't think it is eskil's intention to hijack blender 3, or to force everyone to use verse, or to steal people's ideas.

but whatever. I personally think verse is cool.

xype
Posts: 127
Joined: Tue Oct 15, 2002 10:36 pm

Re: Reply to NGB/VERSE "controversy"

Post by xype » Thu Jun 05, 2003 8:31 am

Edit: sorry for the uber-long post.

Well I'm makign an assumption here that OpenGL2.0 was based around the design discisions of hardware manufacturers of NVidia and SGI and such.. Hardware is different from software in that its usually not the arrangement of existing technology, it involves a lot of physics and dealing with power propagation across circuits, theoretical limits of circuit sizes (potential to bend circuits with electrons, etc).. In software the limitations are mathimatical and optimizations in the math.. But protocols tend to be less math and more arrangements of structures
which already exist.. So I ask what are you doing that compares to the development of the OpenGL2.0 standard that is analogous?


OpenGL is software and NOT hardware. OpenGL is in no way different than any other software project in that it has a problem to solve (it being to provide a unified way to program GPUs in OpenGL 2). OpenGL 2 is really in NO way connected with the way power propagates across circuits or whatnot.

What Eskil is doing that compares to OpenGL 2 is to try and define a standard for 3D data interaction that others can code to - just as OpenGL defines a standard of describing 3D data so the GPU can draw it.

It true, You can't make a standard for interfacing with hardware go if there isn't hardware to support the concepts..

Sure you can. You can make as many standards as you want. It's up to other people to use them. Just like there's a standard for Firewire 2400 (or 1600 or something) but noone uses it.

This is the case where the professionals are not in the community but are hardware designers.. Its like thinking about a new way for breain reading mechinisms when really there is no such hardware yet, so the designers can only theorize..

Yah, but without theorizing there wont ever be such a device. Theorizing is a good start before starting an implmentation. You have been theorising a lot on the forums for the last week or so.

But with software you can pull from previous designs and determine
stuff that is concrete in the design stages.. That's should occur in a design consideration.. Of course nothign will ever happen until someone
does some exploratory coding to check the feasibility of a design,
that's what I consider this effort of yours.. I think it would be a mistake to
implement every app on it because there is no proof for you claims of scalability, you will not discuss it..


It's quite simple to get a proof - write a Verse 2 client/server and see how it scales. Until you do, you are "only theorizing" yourself.

So what is it you are doing in your implementation that is so gosh darned Ingenius?

Compared to others, he's actually providing an implementation along with his concepts. I am yet to see a Linux-kernel-like-object-oriented-3d-app from others that are discussing it.

So you as we give you suggestions you will change your design to
fit this, that means overtime your technology will be obsoleting all
the previous implementers of your interface standard. Sounds like a
mistake to me, but that's just me..


Did HTTP 1.1 obsolete 1.0 or are they co-exsisting? If there is really something very-very wrong with Verse Eskil can simply "upgrade" the defunct part without touching everything else. But since Verse is at 2.0 and if a few years old already I do not think that there will be much to change.

What Eskil is saying that if people have ideas for implementing something with Verse, he'll be glad to help them. You're reading completely different things from his posts.

This also implies that you don't know what you are doing, but you also want complete control over the flow of the design, the reason you ask for mail instead of discussing it here..

Are you dense? Where does he imply that he doesn't know what he is doing OR that he wants complete control? It's YOU who's implying these things all the time and you make life on this boards really hard because instead of discussing Verse you're coming up with "Eskil doesn't have a clue and he wants to take over Blender" in every post you do!

So you can grow as the design grows, but is it possible others here may have better ideas and may be able to co-own the design of the standar, or does this somehow put you at a disadvantage?

Have ideas? Great, code an implementation and show it to us! If not, just trying to tell others what to do wont make you any friends. I've seen Verse in action and I believe Eskil's concept works. I have yet to see anything that will prove your ideas.

Users, Note if you don't openly discuss your needs with him here, he can patent your ideas into his alternate designs (what he considers to be useful to his own technology). I would demand that the discussion be opened in the user groups.. Users and coders alike, you might ask yoruselves: If I ask him to make design changes in private what gurantee do I have that my ideas don't become his proprietary designs and patents?

Aw, fuck, do you honestly believe if Eskil wanted ideas for his patents that he'd be giving out his IP _HERE_? Do you think anyone here can com up with something genuinely new that Eskil can patent in first place? Geez, like we will re-invent 3D. You sound paranoid.

How can I guarantee that the design will be implemented and at teh very least communicated (however if both of you are discussing proprietary interfaces, Eskil could be seen as a consultant that is wishing to make money, this is okay)? I say it here, it become public knowledge, then you can't sell it or make it proprietary.. I bet he is keeping a alternate source distribution that he includes the really good ideas in
and the distribution he plans to sell and the public distribution gets only
the general design suggestions..


Yeah, and I bet he works for the CIA and is truly The Architect of the project known as "The Matrix" and has no other brain pool to get ideas from than blender.org.

No, wait, he work for the NSA. Err, I mean FBI. Oh, oh, now I know, the NASA!

This is not to make opinions about you Eskil,

No? Then why have you been doing it all the time?

but to give a context for thought, so that the users and developers that would use Verse can structure their thinking.. Of course, its hard to trust someone that doesn't relinquish complete design control over a standard.. ITs not really an open standard if you aren't discussing it openly..

Hey now, the way it looks YOU want complete control over Blender's design and are attacking everyone that doesn't share your blurry visions.

You don't even seem to understand what Verse is and are still thinking that's it's something mystic that will turn Blender into "Eskil's Easy 3D Creator" or something.

Eskil has been working on Verse for a long time and now you show up and he will say "Oh, great, finally someone with a clue. Please tell me, what should I do next?"

I've been very patient with all the weird discussion you and some other have had, but right now it looks like you're turning EVERY SINGLE THREAD here into a stupid crusade against Eskil and Verse while proving all the time that you don't really understand it.

dreamerv3
Posts: 119
Joined: Wed Oct 16, 2002 10:30 am

Post by dreamerv3 » Thu Jun 05, 2003 10:21 pm

Eskil:

I hope you know I never implied or in any other way tried to attack you, either personally or professionally.

I'm all about possible problems, what you said about networks and virtual reality scared me in the context that it would be the core of future blender technology.

I have no problem with verse playing a role in blender's future.

To tell you the truth I glad you are contributing verse as you are, but I'm glad more so that the community is more engaged with future blender concepts.

If you're going to be @ SIGGRAPH, I'll be looking forwards to some heavy Q/A.
Feel free to rip my ideas apart and put them back together too...

I'll go back to the docboard now...

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Post by Jamesk » Fri Jun 06, 2003 12:22 am

I guess I should say something here too...

I don't know exactly what I've been thinking about this. Somehow I got the idea that the UI theories realized in your Loq Airou experiments were a significant part of NGB, and that a lot of people were seriously planning to implement something like that. I did not stop to think about the nature of OpenSource development per se. Or about pluggable UI's for that matter. Which is a bit of a mistake.

I have re-evaluated my cerebral circuitry, and I can sum the result up like:: You were doing stuff like this, in the 3D-field, long before Blender was opensourced. When the dot org era started, you entered the stage telling the community about your proposals for the next generation blender. This I interpreted as somewhat of a gatecrashing thing. Which is quite a stupid thing to be thinking. So my current view is that I should probably be happy about your efforts. The number of coders who actually contribute useful stuff isn't that large, and an addition to that crew, such as yourself, couldn't possibly be a bad thing.

So, my apologies if I have offended you.

xype
Posts: 127
Joined: Tue Oct 15, 2002 10:36 pm

Post by xype » Fri Jun 06, 2003 1:02 am

Edit: long post again, I hope I got everything halfway right and do not look like a fool :wink:

Hmm, seems like a diagram or two would be in order to visualise what Verse really is (it's not a GUI) and in what context it stands to NGB. Basically you have 3D Data and an Application (NGB, Blender, Maya, whatnot). And then you have Verse that describes the 3D Data and changes made to it. So you can load the 3D Data into NGB like

3D Data -> Verse -> NGB

since NGB "understands" Verse. And you can store the data back from NGB with

NGB -> Verse -> 3D Data

Now the part that makes sense for Next Generation Blender to use Verse is when any other application can be made to "understand" Verse. Let's take Loq Airou, for example. You can create a cube (being 3D Data) in one application and edit the result with tools the next application provides, like

Loq (create cube) -> Verse -> 3D Data (cube) -> Verse -> NGB

NGB now knows there is a cube in the Verse "space", and can subdivide it with it's own functions, like

NGB (subdivide) -> Verse -> 3D Data

And since the 3D Data resides on a "Verse server", you can again take any Verse-enabled application and modify the subdivided cube further.

- -

This eventually means that anyone wanting to add to NGBlender, can write his application whichever way he likes, as long as it understands Verse, the data residing in NGBlender can be changed by it. C, C++, Delphi, OO, procedural, python, etc - whatever you come up with can be used.

So if you want to add an UV Editor, you can first make your own, without the need to learn Blender's code by heart, and once it works you can choose what to do with it. You can incorporate it into NGB itself or develop it further as a stand-along application. You can develop it to your specifications and guidelines and if NGB is at that moment a crashy version that does not need to bother you, since your UV Editor gets the 3D Data from a server that is not neccessary NGB itself.

And, since it's a network protocol that works via UDP, you can do stuff like remote editing or network rendering quite easy. Or you can have functionality broken into smaller pieces (plug-ins) where you have a dynamics application, a kinematics application, a rendering application and so on. Want a raytracer? Write/borrow one and get your 3D data via Verse and render it. No need to add special buttons in some hidden rendering menus or to figure out NGBs internal color space format.

It would greatly simplify adding functionality and getting "your feet wet" with NGB, but also at a later stage simplify changing vital parts of NGB, since it would not need NGB to be rewritten completely just to add a new UI or scenegraph.

dreamerv3
Posts: 119
Joined: Wed Oct 16, 2002 10:30 am

Post by dreamerv3 » Fri Jun 06, 2003 6:26 am

The part I really don't like is the whole "network" deal.

I ( and a great many other people too I would bet) want my data to sit on MY machine.

Sure I realize that I can spawn a verse server and make it live on a local machine but I feel the interests of NGB would be better served if verse had some provisions for locaL integration with the sapps in question, in that way verse would serve the apps instead of the apps serving verse.

Think: (3d application(verse data)3d application)

The verse data is still verse data but its not floating off somewhere on some server, thats too peripheral for me, it seems the data needs to be very close to the 3d application physically on the system, a verse server package it therefore seems would do well to be closely tied to the application at hand.

Better yet would be if NGB used verse inspired 3d data organization thus making it easy for a network subsystem to export verse compliant changes to a verse server out there in never never land :) .

If the application maintains a buffer between total dependance on verse and thus creates a relationship with verse then the 3d application becomes protected in a sense.

Verse becomes a way for the application to take its 3d data and export it in realtime to a server.
The application can still work by itself even if the server does down or becomes unavailable.
In this way an NGB could have a network subsystem: there would be plugins to talk to VRML, Flash exporters (cool), and a verse communication plugin.

Now we have the best of both worlds

3D application >> Network subsystem >> Verse plugin >> Verse server << verse based application

OR

3D application >> Network subsystem >> Verse plugin >> Verse server << Verse plugin << some other 3d application.

I can support the above design concepts wholeheartedly, because they let us all talk together and yet at the same time they safeguard each party from unexpected circumstances.

Thus my earlier statements about supporting a verse plugin.

Opinions?

matt_e
Posts: 410
Joined: Mon Oct 14, 2002 4:32 am
Location: Sydney, Australia
Contact:

Post by matt_e » Fri Jun 06, 2003 6:35 am

What's wrong with just bundling the verse server together with the client on the same machine within the same package/application/whatever? It could be similar to how the X Window system works (if I'm not mistaken). From a user's point of view, they could just start up the program (which contains the server and client within it, automatically connecting between the two) and the user would never need to know that it works with clients and servers etc. It could all act perfectly integrated on the same machine, but connecting to a different (non-local) verse server could just sit in a menu option like 'Connect to external server'.

xype
Posts: 127
Joined: Tue Oct 15, 2002 10:36 pm

Post by xype » Fri Jun 06, 2003 7:20 am

dreamerv3 wrote:The part I really don't like is the whole "network" deal. I ( and a great many other people too I would bet) want my data to sit on MY machine. Opinions?


The "whole network deal" is just an option. You don't have to take each thing that is described as an option (alternative UIs, networked 3D, etc) and think of it as a "must". It's not that hard really...

ton
Site Admin
Posts: 350
Joined: Wed Oct 16, 2002 12:13 am
Contact:

Post by ton » Fri Jun 06, 2003 2:53 pm

Hehe, I tried to stay out of this debate... it consumes so much time!

When I met Eskil at last year's siggraph, I was amazed how much his Verse concept already fits with the concept of Blender. Internally, Blender already acts like a database... very primitive compared to Verse, but nevertheless it stores all data as abstract blocks which can be retrieved, edited, linked, and stored again. This in contrary to other 3d apps, who are heavily 'scene graph' or 'display' oriented.

One of the - not so much used - possible Blender database extensions is this 'library linking' option Blender already offers. I also thought of adding a whiteboard function in Blender, with a designated .blend file which allows multiple users to work together at it.

Basically, Verse offers all of this, and a lot lot more. So we can keep the Blender methods we like, and move on to a revolutionary new system. try to imagine:
- no more file saving needed (becomes an option!)
- advanced undo functionality
- easy sharing of 3d with others
- easy sharing with other 3d packages
- advanced options for collaboration projects between artists
- realtime!
- games, multiplayer, online worlds...

In theory, we could already work at connecting the current blender to verse. For a user this can be done without even noticing. A verse database can run local as well, and will just handle data storage and file import/export.
Still better to postpone this I think...

Eskil's 2nd project is Loq Airou. An amazing art-piece! Although I love several of the concepts in it, this is not what I have in mind for Blender3... but we can learn from it (as we can do from maya et al).
What I share with Eskil is the opinion to align with the OpenGL 2.0 efforts, and develop a tool that uses these specs to its max. Not only will it be a very interesting project to do, but also give these benefits:
- a great focus for a team (we know what todo!)
- aligning with a strong market & industry development
- achieving a full transparant integration of 'linear' and 'real time' content creation (ok, my dream, my favorite!)

And apart from these, the following aspects:
- strong python integration (MEL alike)
- good support for external renderers & game engines (so that we can stick to what opengl2 will do)
- still cross platform & open sourced
- focus at tools for artists, 3d content creation!

Now, combine the '-' specs I've mentionend all above here... wouldn't that be a great tool?

-Ton-

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Post by Jamesk » Fri Jun 06, 2003 3:20 pm

ton wrote:Eskil's 2nd project is Loq Airou. An amazing art-piece! Although I love several of the concepts in it, this is not what I have in mind for Blender3... but we can learn from it (as we can do from maya et al).
I feel peacefully at rest.

And about everything else - I like the idea of saving being optional :D

dreamerv3
Posts: 119
Joined: Wed Oct 16, 2002 10:30 am

Post by dreamerv3 » Fri Jun 06, 2003 11:07 pm

Ton: You make it sound much more acceptable.

If things talk to each other nearby, I'm all for it, a database of 3d data sounds interesting.

As far as lumtiple users collaborating on a project, I wouldn't mind that at all, as long as its an option and not a requirement. Some artists like to work alone you have to consider.

OpenGL 2.0 I share your passion here, imagine! accelerated geometry operations!

Subdivide in hardware!
Simulations in hardware!

Can't wait till SIGGRAPH...

Post Reply