Page 1 of 2

NGB connector source is out.

Posted: Wed Dec 04, 2002 3:11 pm
by eskil
Hi every one, A new version is out of the connector, and this time the source is out!

Have fun! and btw i have something else cool coming out soon... and a new version of Loq Airou should find its way out in the near future too.


Posted: Thu Dec 05, 2002 8:36 am
by Jellybean
Hellooooo eskil,

I finally have some time to try my hand at building connector from source (being a linux user and all). I've managed to coerce enough, ngl, and seduce to build so far, and I am currently fighting with connector (strange, strange errors... I don't have enough experience to know what causes some of these...). If you would like so share any words of wisdom or warning to help out before I pull all my hair out, I would certianly appreciate it. (like that s_slider.c and s_main.c use g_snprintf(), but do not include glib.h :wink: type of thing...)

Heh, I suppose I'll have to try to build verse again, also. That vll.h has had an evil grin on it's face ever since I unziped the sources and saw it. (That is the header for verse, is it not? or am I completly clueless?) I tried once before to build verse, but without success, and I had too many other things going at the time to try and figure out why. (Mmm... more compiling)

This stuff looks great, I can hardly wait to get a chance to actually try it. The screen shots and presentations certianly wet my appitite, NOW I WANT THE MAIN COURSE! if I could just get this thing to compile <grumble, grumble, gripe> Hehe, enough talk, I have a cli to go play with.

(p.s. If I ever do manage to get this working, I'll but the binary up, but until then... <sigh>)

Posted: Thu Dec 05, 2002 2:23 pm
by eskil
Doing some good work I see.

Send me your errors It may easily be my fault, I think there is a lot of dead code in there still. doesn't inclusion of glib.h come automatically with vll.h? g_snprintf() should obviously be removed, I will fix that. (its fairly easy if you want it to compile)

Yes vll is the header for verse, verse should be able to compile form the verse CVS ( It requires Glib. I will fix that some day but right now getting the basis of NGB up is more important.


Posted: Thu Dec 05, 2002 6:30 pm
by Oso
Eskil, I finally got a chance to see your presentation and was totally blown away! I want to play with this thing!

Unfortunately, all my fast boxes are running linux; my wintel machines are too slow to do it justice. Will there be a binary of loq airou for linux anytime soon? I just have to say that the interface you demoed at the Blender Conference seriously rocks. It is truly (r)evolutionary. I was very impressed. Keep up the good work!

Posted: Sat Dec 07, 2002 9:01 am
by Jellybean
Hello Eskil,

I figured out why I was having problems building some of the connector sources. Apparently st_types.h requires stdlib.h (I don't know why...). Most of the source files that include st_types.h show no errors as they include stdio.h before it, but a few of the connector sources didn't (co_functions.c(?), co_main.c, co_repository.c, and co_vn_code.c).

Last item, in co_vn_code.c there is a redefinition of ECodeBuffer, wich is first defined in the included enough.h. Duplicate definition, so I commented it out.

Heh, seems silly place to put all this here. What would be a better way of contacting you about this?

I need to get verse built before I can link it all together, so I'm on to that. Why can't it be easy and work. (I have OpenVrml installed, but configure doesn't find it. :cry: ) Oh, when I had tried building verse before, I had grabed the old CVS snapshot. Doh! I pulled the latest from CVS, so I hope I can get it going soon. But hey, what are weekends for? :)

Hello Oso,
I'm working on building linux binary of connector right now, and I'll make it available once I get it working (with Eskils permission, of course :) ). I'll look into Loq Airou next, but I think that will be up to Eskil as I don't find the sources.

I'm currently building useing gcc 3.2, glib 2.0.6, gtk+ 2.0.6. I use Mandrake 9.0, so I can probably make one that works for a default MDK 9.0 install as well (I havn't changed much since I installed... yet). I've only ever built things for myself so I'm not sure what's involved in making sure a binary is compatible for other systems. What distro are you useing? I can look up on to find what library versions a distro uses.


Posted: Sat Dec 07, 2002 1:56 pm
by eskil

Thanks, I haven't seen it myself yet. I got to do that. new version should be out soon.


You are doing a great work!

There are some things I do (like re-defining pointer types) that if not done right may cause compiler problems, VisualC doesn't report many of them.

You actual don't need to build all of the verse snap, it includes lots of things, but the only things you need is the server, vll and possibly the loader. The OpenVrml lib is needed for a converter that i don't think you need.

This is one of the things i want to work on in the future purifying the verse snap...

No I have not yet released the Loq airou source yet. The thing is that I don't want to do that yet since im broke and selling it or the idea may finance the blender development I am doing.

it will be easy to compile just replace the co_ files with la_ files..


Posted: Sun Dec 08, 2002 1:37 am
by Jellybean
Yes! I've got connector running.

Hmm... now I have to figure out how to use it. I can unhide a node of some sort, then delete it or hide it again. I can zoom in and out too. When I hold the middle mouse button, a menu pops up, but I don't seem to be able to do anything with it. The repository gives the message "empty node repository, no back end commected". Am I missing the back end, or do I have something wrong here?

This is really great stuff, Eskil. I hope you find a way to support yourself doing this, as it has some really awesome potential.

Well, I'm off to go study the verse API. The concepts behind verse facinate me, and I would like to see all this grow into a very powerful tool set. I've toyed with the idea of procedural model definations before, and I think verse is the ideal platform to build it on. Also, I think a means to use vertor graphics (somthing like SVG) for textures would compliment the idea of low bandwidth requirements, as they could be rendered to a larger bitmap form as needed on on the front end.

Posted: Sun Dec 08, 2002 1:59 am
by eskil

Can you host it on line? or mail it to me and i will put it on

try the loader and upload some stuff, you can upload .vnf files.
The popup works poorly in the version you got, i will upload a new version later today. in the future pressiong the middle mouse button will bring up the popups. the top edge us for unhiding, the bottom is for the function repository.

the repository should say what it says (perhaps better spelled....). but it actiualy can display something. try running the back end form the version showed at the blender conf.

If you have questions about vll programming just mail me! (I will switch to work full time one verse once im done with the first version of the blender API)


Posted: Sun Dec 08, 2002 4:36 am
by MrMunkily
Excellent. I like the node based approach, though the thing crawls on my TNT2.

Anyhoo, about Loq Airou; you might remember me testing it out on CGTalk - and I think that if you want to sell it, (and that's a fine idea) you should look into expanding its toolset (and stability!). The thing it needs most right now is more modeling features, stuff similar to the OSS Wings 3D modeler which is excellent but sufferes from a few show stopper problems.

It also needs, IMHO, a more standard way of saving/loading, plus perhaps hotkeys. There are only so many mouse button combos to use.

And, though the idea of a one handed modeler is innovative, well placed & designed hotkeys can seriously make or break an application. Take a tip from blender's speed & extensibility. (but hopefully without the obfuscation)

anyhow, carry on with NGB, it's great!

Posted: Sun Dec 08, 2002 2:18 pm
by eskil

I will work a bit on optimizing it. there will most likely be some settings for performance.

I do remember you you, About modeling features, I cant really find any features that are needed, Im not just going to copy Wings (or any other app). I do get some mail that complain about the lack of features. I always reply by asking them to list the features they want. and when they do, most of the features fall in to one of three categories:

- Features already implemented (but the mailer haven't found them)

- Features that do something that can be done in a different way with existing tools.

- Features that are copied from other apps (often falls on to one of the first two categories too)

I don't really know what to do about his problem. One thing i would like to see is more problems oriented questions. like: if i want to do this, what tool should i use? or do we need a new one?

I also need tutorials, any one interested in writing them? ;-)

btw a new Loq is coming out soon.

Saving/loading is already implemented, but turned off. But i do have some ideas about the future. I think that in the future you may use the Connector as a launcher. you bring up a pop-up menu on a node and then select a tool to edit that node. I hope to implement that soon. Saving and loading will also be done in this way, this means that any one can write savers for what ever format they want.


Posted: Sun Dec 08, 2002 6:43 pm
by Oso

Thanks for the offer of a binary. I've actually been working on compiling Verse mysef. I'm using a bunch of different distros actually, but I was primarily working on the Suse 8.1 distro. I also plan to build a debian and RedHat version.

Based on the latest info in this thread I think I can finish the compile. I may be back if I have a problem though...


Great news about the new Loq! I can hardly wait!

Posted: Thu Dec 12, 2002 7:22 pm
by Oso

I'm finally getting around to compiling connector on my Suse 8.1 system. Did you by any chance create a Makefile for all your efforts? I'm just trying to avoid re-creating the wheel (call me lazy). If not, no biggie; I just thought I might be able to save myself some time in building this all from scratch.


VLL programming

Posted: Thu Dec 12, 2002 10:40 pm
by Zarf
Hey Eskil,

Havn't gotten a chance to look at the new connector version (previous onese wernt working on my sys for some reason) or the source. I am hoping to begin work on some projects utilizing verse very soon here and was wondering where to get the vll lib pre-compiled for win32 (In the past I have programmed mostly in python so getting it to compile might be a bit of a problem for me). If you could provide any assistance that would be greatly appreciated!


Posted: Thu Dec 12, 2002 11:21 pm
by eskil

vll.lib is included in the win32 version of the connector.

btw new version is out, that is a lot better then the last one. go grab it!


Posted: Fri Dec 13, 2002 3:58 am
by Jellybean

I suppose I should have. Lol. It took me a while to figure out what was going on, just a buch of source files, so I just started compiling them to see what worked and what didn't.

Here is a list of changes I had to make to get everything working. I cannot say if my changes are correct, though...


On line 8, add the include path for gl.h
from: #include <gl.h>
to: #include <GL/gl.h>

On line 262, GL_ALL_ATTRIB_BITS is already defined in GL/gl.h so I commented this line out.


st_types.h needs stdlib.h. It is usually included in the source files before st_types.h, but one or more of them don't. I solved this by including stdlib.g inside st_types.h (around line 3)


On line 89, change the backslash to a frontslash.
from: #define DIR_ROOT_PATH "\"
to: #define DIR_ROOT_PATH "/"

On line 100, gcc complains of an undefined function dirent, which is a struct... this seemed to fix it.
from: dirent *de;
to: struct dirent *de;


There is a strange character at the end of the file that gcc doesn't like, so I deleted it. :)
vll.h:428: stray '\32' in program


In line 201, ECodeBuffer is redefined (previously defined in enough.h), so I just commented this ilne out as they were the same.
typedef void ECodeBuffer;

That about sums it up. I removed some files from the directory, as they were labeled old, so I made the assumption they are no longer used.


You will also need the file libvll.a (I just copied it into the directory.)

Building it after making these changes was pretty strait foreward. All I need to do now is... (the old files will need to have been removed and libvll.a present for this to work)

Code: Select all

gcc -O2 `glib-config --cflags gthread` *.c
gcc `glib-config --libs gthread` -lGL -lSDL -o connector *.o libvll.a
... and I get a functioning connector binary.

I hope this helps you get connector built and running. :D