Update 0.1.5

4 views
Skip to first unread message

Biovf

unread,
Feb 28, 2010, 11:41:15 AM2/28/10
to nGENE Tech Development
First of all I would like to say: GREAT UPDATE! :-)
Almost everything compiled out of the box and stuff that wasn't
working before it's working now.

Below I'll explain what didn't work so you can check it:

-nGene Proj + Framework don't compile on Debug Mode( error LNK2019:
unresolved external symbol "__declspec(dllimport) public: void
__thiscall std::_Container_base::_Swap_all(class std::_Container_base
&)const " (__imp_?_Swap_all@_Container_base@std@@QBEXAAV12@@Z)
referenced in function "public: void __thiscall std::_Tree<class
std::_Tmap_traits<char const *,struct
luabind::detail::class_rep::callback,struct
luabind::detail::ltstr,class std::allocator<struct std::pair<char
const * const,struct luabind::detail::class_rep::callback> >,0>
>::swap(class std::_Tree<class std::_Tmap_traits<char const *,struct
luabind::detail::class_rep::callback,struct
luabind::detail::ltstr,class std::allocator<struct std::pair<char
const * const,struct luabind::detail::class_rep::callback> >,0> >
&)" (?swap@?$_Tree@V?
$_Tmap_traits@PBDUcallback@class_rep@detail@luabind@@Ultstr@34@V?
$allocator@U?$pair@QBDUcallback@class_rep@detail@luabind@@@std@@@std@@
$0A@@std@@@std@@QAEXAAV12@@Z) ) in the file : luabind.x86.debug.lib
and it's on the nGENE Proj. There are some other bugs but I'll leave
the log for another time.

-All the samples compiled but the animation introduction don't run, I
can provide the log later ( in release mode, I didn't test in debug
mode because of the previous error)

-All the tutorials compile except the 1_6 (Error 2 error C2039:
'type_info' : is not a member of 'std' "..\Dependencies\LuaBind\boost
\include\boost\function\function_base.hpp 583 Tutorial_1_6)

I'll try to fix these errors and if I do, I'll put here the solution.

Best regards and thanks for the great update Wojtek ;-)


Wojciech Toman

unread,
Feb 28, 2010, 2:56:41 PM2/28/10
to ngen...@googlegroups.com


2010/2/28 Biovf <david...@gmail.com>

First of all I would like to say: GREAT UPDATE! :-)
Thanks :)
 
Almost everything compiled out of the box and stuff that wasn't
 
working before it's working now.
 

Below I'll explain what didn't work so you can check it:

-nGene Proj + Framework don't compile on Debug Mode( error LNK2019:
unresolved external symbol "__declspec(dllimport) public: void
__thiscall std::_Container_base::_Swap_all(class std::_Container_base
&)const " (__imp_?_Swap_all@_Container_base@std@@QBEXAAV12@@Z)
referenced in function "public: void __thiscall std::_Tree<class
std::_Tmap_traits<char const *,struct
luabind::detail::class_rep::callback,struct
luabind::detail::ltstr,class std::allocator<struct std::pair<char
const * const,struct luabind::detail::class_rep::callback> >,0>
>::swap(class std::_Tree<class std::_Tmap_traits<char const *,struct
luabind::detail::class_rep::callback,struct
luabind::detail::ltstr,class std::allocator<struct std::pair<char
const * const,struct luabind::detail::class_rep::callback> >,0> >
&)" (?swap@?$_Tree@V?
$_Tmap_traits@PBDUcallback@class_rep@detail@luabind@@Ultstr@34@V?
$allocator@U?$pair@QBDUcallback@class_rep@detail@luabind@@@std@@@std@@
$0A@@std@@@std@@QAEXAAV12@@Z) ) in the file : luabind.x86.debug.lib
and it's on the nGENE Proj. There are some other bugs but I'll leave
the log for another time.

It's compiling for me.. also the error message is strange... I probably should recompile luabind... I hate it as it's not that easy and obvious task :)
 
-All the samples compiled but the animation introduction don't run, I 
 can provide the log later ( in release mode, I didn't test in debug 
mode because of the previous error)

Hm... isn't it about missing tiny.x (or tiny_4anim.x) file... I forgot to commit them... I resolved that... they are available in the svn trunk (I didn't tag it). 
 
 -All the tutorials compile except the 1_6 (Error        2       error C2039: 
 'type_info' : is not a member of 'std' "..\Dependencies\LuaBind\boost 
\include\boost\function\function_base.hpp       583     Tutorial_1_6)

it proves there is some bug with luabind... will look into it in the following week.
 
I'll try to fix these errors and if I do, I'll put here the solution.

Best regards and thanks for the great update Wojtek ;-)







Regards,
Wojtek

PS now to the ragdoll :)

Biovf

unread,
Mar 1, 2010, 4:50:01 PM3/1/10
to nGENE Tech Development
Another thing that I've noticed is that atleast in the tutorials it's
not possible to run(it crashes while trying to read the
XML::getTagName()) the code because he can't find the "core.lib", when
the MaterialManager::createLibraryFromFile is called. He can't find it
if it's inside VS, only when we run the executable in the release
folder.

It's probably the path that isn't correct while inside VS, check if it
happens to you too plz Wojtek.


Best regards
David

On Feb 28, 7:56 pm, Wojciech Toman <tom...@gmail.com> wrote:
> 2010/2/28 Biovf <davidbi...@gmail.com>

Wojciech Toman

unread,
Mar 2, 2010, 2:31:55 AM3/2/10
to ngen...@googlegroups.com


2010/3/1 Biovf <david...@gmail.com>

Another thing that I've noticed is that atleast in the tutorials it's
not possible to run(it crashes while trying to read the
XML::getTagName()) the code because he can't find the "core.lib", when
the MaterialManager::createLibraryFromFile is called. He can't find it
if it's inside VS, only when we run the executable in the release
folder.
You mean running the app from within Visual Studio? If yes, I think I know what the problem is and will fix it today when I'm back home from work (maybe I'll finally install VS 2008 and provide projects for it - lua related errors should be gone then..).

Running apps from release folders (I mean outside VS) will definitely fail as there are no required dependencies and materials there.
 

It's probably the path that isn't correct while inside VS, check if it
happens to you too plz Wojtek.


Maybe we should think about some list of bugs either on google group or in trac.

BTW yesterday I put serious stuff off for a short while and made an attempt to embed nGENE demo (the one with the palm) in the website. And I succeeded :) what's funny it was easier than I presumed and I will probably write a tutorial on how to achieve this as this is one of important aspects of today games programming (unity, torque... all support it). I'll try to embed some demos when I'll finally get some nice hosting :)
 



--
Wojtek Toman | http://wtomandev.blogspot.com

David Sena

unread,
Mar 2, 2010, 2:39:59 AM3/2/10
to ngen...@googlegroups.com
Yes I mean from within the Visual Studio. 

What do you think of a google doc share between me, you and Zoran? We could all update it and if any of us corrects it just needs to add to the groups the bug correction.

About the embeded solution...don't get mad dude but...you're tottally crazy!!! :-D 
How did you do it? I'm asking because I never did anything similar and despite the several solutions available today I've never looked at how they're implemented...I think that it is a very important step to nGene to add a feature like that, nice work!

Best Regards

Wojciech Toman

unread,
Mar 2, 2010, 2:56:05 AM3/2/10
to ngen...@googlegroups.com
2010/3/2 David Sena <david...@gmail.com>

Yes I mean from within the Visual Studio. 

Ah that will be really easy then :) one path in project configuration :) it seems vs reset some of the paths when I changed my pc and probably I forgot to set them for some projects.
 

What do you think of a google doc share between me, you and Zoran? We could all update it and if any of us corrects it just needs to add to the groups the bug correction.
That's ok.

About the embeded solution...don't get mad dude but...you're tottally crazy!!! :-D 
:)
 
How did you do it? I'm asking because I never did anything similar and despite the several solutions available today I've never looked at how they're implemented...I think that it is a very important step to nGene to add a feature like that, nice work!
I'll describe it in more details on my blog today/tomorrow (regarding technique). But the idea was to use some web technoloqy which allows loading dlls. Flash, director and even silverlight stop programmers from doing that (for security reasons... bleh). At least for now as I heard that silverlight is to permit that in the future. However there is one more technique - Java Applet. You can put all sort of things in the jars (even native dlls :) ). There is even special java function to load native library. However to really use C++ code in java one have to use jni - mechanism allowing integration of java with native code. I had to provide one extra function in the ngene app code which would setup and run everything (actually I used body of main function for that). And then compile project into dll instead regular exe. Then java code for running it is something like:

loadLibrary("ngene");
runApplication();

where "ngene" is the name of just built dll.

:P

what means that java is used only for starting the app and the rest is done as if it was regular window.

What I have in mind is that it would be very easy to write application which would make deploy package for programmers (builiding jars, compressing them and signing. I don't like idea of having to write java code. All other resources (put in jars: materials, shaders and other dll dependencies) could be then put on the website in one place... thanks to that user would have to download them only once and all demos would run (provided he/she has right hardware/os configuration).
 

Wojciech Toman

unread,
Mar 2, 2010, 1:24:02 PM3/2/10
to ngen...@googlegroups.com
I failed in reproducing your issue. Can you check if you have: "../../bin/$(ConfigurationName)"

in project configuration -> debugging -> working directory

I also fixed configuration issue for tutorial 1.6 - it should now compile with no errors. Changes are in the svn.

2010/3/2 Wojciech Toman <tom...@gmail.com>

David Sena

unread,
Mar 2, 2010, 5:07:21 PM3/2/10
to ngen...@googlegroups.com
Well you're once again corrected, that was the issue...maybe this got lost between the conversion from the 2005 version to the 2008??

Ok, I'll check out the new version.

David Sena

unread,
Mar 2, 2010, 5:11:25 PM3/2/10
to ngen...@googlegroups.com
I mean that you were correct, sorry for the bad english ;-)

David Sena

unread,
Mar 3, 2010, 7:02:27 AM3/3/10
to ngen...@googlegroups.com
One thing that I think that maybe should be usefull for nGene is the improvement of the art pipeline and I'll explain what I mean by that.

Now with the new update I'm working on completing the Collada policy to be able to import animation and many other aspects of the collada specification. Despite this fact, I believe that maybe an FBX importer would be good because of it's completeness( and unfortunnaly complexity aswell...) and I believe that nGene could stand out from the other open source projects mainly because they ignore productivity factors and only care about having as many features as possible.

As a way to backup my opinion I'll post here some examples:
Torque3D: "Fluid Art Pipeline - Torque 3D supports the loading of COLLADA files, which are currently supported by every major art tool, including 3ds Max, Maya, XSI, Blender, and more. Torque's Live Asset Update feature automatically updates any assets in a project while they are edited and saved in a 3rd party application, even while you play the game. This creates a lightning-fast, no hassle work flow for artists." from http://www.torquepowered.com/products/torque-3d

C4 Engine:
"Support for the Collada scene format, enabling models to be imported from 3D Studio MAX, Maya, XSI, Blender, and other content creation packages.
Full skeletal hierarchy support for skinned meshes.
Bump map, parallax map, horizon map, and ambient occlusion channel calculations.
Texture compression and automatic mipmap generation" from  http://www.terathon.com/c4engine/features.php

And there are many others( Unity gained a lot of popularity thanks to the fact that artists dont need to be doing any conversions between formats or adaptation from their tools, in fact, unity even loads .blend files so there's no need to convert anything explicitly, the engine does it automatically). 

I would like to know what everyone has to say about this mumbo jumbo that goes in my head :-)



Wojciech Toman

unread,
Mar 3, 2010, 7:04:16 AM3/3/10
to ngen...@googlegroups.com
Importing collada/blend files directly is probably a good idea. However I know none of this formats but can try to implement something :)

2010/3/3 David Sena <david...@gmail.com>

David Sena

unread,
Mar 3, 2010, 7:20:58 AM3/3/10
to ngen...@googlegroups.com
The collada you can leave it to me cause I already have some code from an importer that I had in my old engine but what do you mean directly?

About the .blend files the only thing I know is that they're massive :-P but you can find the information about the format in the blender website.

Wojciech Toman

unread,
Mar 3, 2010, 7:22:12 AM3/3/10
to ngen...@googlegroups.com

2010/3/3 David Sena <david...@gmail.com>

The collada you can leave it to me cause I already have some code from an importer that I had in my old engine but what do you mean directly?
I mean without standalone converers :)

About the .blend files the only thing I know is that they're massive :-P but you can find the information about the format in the blender website.

Ok, I'll try it then.
 


On Wed, Mar 3, 2010 at 12:04 PM, Wojciech Toman <tom...@gmail.com> wrote:
Importing collada/blend files directly is probably a good idea. However I know none of this formats but can try to implement something :)

2010/3/3 David Sena <david...@gmail.com>

One thing that I think that maybe should be usefull for nGene is the improvement of the art pipeline and I'll explain what I mean by that.

Now with the new update I'm working on completing the Collada policy to be able to import animation and many other aspects of the collada specification. Despite this fact, I believe that maybe an FBX importer would be good because of it's completeness( and unfortunnaly complexity aswell...) and I believe that nGene could stand out from the other open source projects mainly because they ignore productivity factors and only care about having as many features as possible.

As a way to backup my opinion I'll post here some examples:
Torque3D: "Fluid Art Pipeline - Torque 3D supports the loading of COLLADA files, which are currently supported by every major art tool, including 3ds Max, Maya, XSI, Blender, and more. Torque's Live Asset Update feature automatically updates any assets in a project while they are edited and saved in a 3rd party application, even while you play the game. This creates a lightning-fast, no hassle work flow for artists." from http://www.torquepowered.com/products/torque-3d

C4 Engine:
"Support for the Collada scene format, enabling models to be imported from 3D Studio MAX, Maya, XSI, Blender, and other content creation packages.
Full skeletal hierarchy support for skinned meshes.
Bump map, parallax map, horizon map, and ambient occlusion channel calculations.
Texture compression and automatic mipmap generation" from  http://www.terathon.com/c4engine/features.php

And there are many others( Unity gained a lot of popularity thanks to the fact that artists dont need to be doing any conversions between formats or adaptation from their tools, in fact, unity even loads .blend files so there's no need to convert anything explicitly, the engine does it automatically). 

I would like to know what everyone has to say about this mumbo jumbo that goes in my head :-)






David Sena

unread,
Mar 3, 2010, 7:33:05 AM3/3/10
to ngen...@googlegroups.com
Ok so as soon as I'll finish the importing policy I'll ask you to elaborate on that standalone converter ideia :-P
Reply all
Reply to author
Forward
0 new messages