Eden : terraformer [update - ecoregion design]
-
- Posts: 175
- Joined: Wed Dec 20, 2006 12:04 pm
-
- Posts: 175
- Joined: Wed Dec 20, 2006 12:04 pm
When I do that I get linking errors (that I don't understand) :Mirror wrote:ultramedia, in case you're not make sure to compile the apps with /MT flag ( project properties->configuration properties->C/C++>code generation->runtime library )
Code: Select all
1>Linking...
1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _free already defined in LIBCMT.lib(free.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _iswspace already defined in LIBCMT.lib(_wctype.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: __errno already defined in LIBCMT.lib(dosmap.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _realloc already defined in LIBCMT.lib(realloc.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _memmove already defined in LIBCMT.lib(memmove.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _iswalpha already defined in LIBCMT.lib(_wctype.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _iswdigit already defined in LIBCMT.lib(_wctype.obj)
1>msvcrt.lib(dllsupp.obj) : error LNK2005: __except_list already defined in LIBCMT.lib(exsup.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _exit already defined in LIBCMT.lib(crt0dat.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: __strdup already defined in LIBCMT.lib(strdup.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _calloc already defined in LIBCMT.lib(calloc.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _iswalnum already defined in LIBCMT.lib(_wctype.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _abort already defined in LIBCMT.lib(abort.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _isalnum already defined in LIBCMT.lib(_ctype.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _isalpha already defined in LIBCMT.lib(_ctype.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _isdigit already defined in LIBCMT.lib(_ctype.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _isspace already defined in LIBCMT.lib(_ctype.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _strchr already defined in LIBCMT.lib(strchr.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _setlocale already defined in LIBCMT.lib(setlocal.obj)
1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _tolower already defined in LIBCMT.lib(tolower.obj)
1>LIBCMT.lib(crt0init.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
1>main.obj : error LNK2001: unresolved external symbol "public: void __thiscall wxStringData::Free(void)" (?Free@wxStringData@@QAEXXZ)
1>D:\My Documents\Visual Studio 2008\Projects\c++\irrlicht\eden_v02\Release\editor.exe : fatal error LNK1120: 1 unresolved externals
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
Hi, Ultramedia.
I've tested your latest build. It seem to work well (using a sphere). I see a problem when moving on it. At a certain point, it goes in a gimble lock. Are you using EULER rotation or quaternions angle rotations?
It still didnt wanted to run on the XP workstation at school. I've checked the redistributable C++ and installed from your link.
Your redistributable files does not work for your application (your link point on 2005, you need the 2008 redistributable file installer:
http://www.microsoft.com/downloads/deta ... laylang=en
Once Redistributable C++ 2008 was installed, it worked.
I've tested your latest build. It seem to work well (using a sphere). I see a problem when moving on it. At a certain point, it goes in a gimble lock. Are you using EULER rotation or quaternions angle rotations?
It still didnt wanted to run on the XP workstation at school. I've checked the redistributable C++ and installed from your link.
Your redistributable files does not work for your application (your link point on 2005, you need the 2008 redistributable file installer:
http://www.microsoft.com/downloads/deta ... laylang=en
Once Redistributable C++ 2008 was installed, it worked.
-
- Posts: 175
- Joined: Wed Dec 20, 2006 12:04 pm
yeah, current movement is using a cheap nasty hacky technique. I'm 75% done setting up proper trigonometry based movement which should fix all the gimble lock issues. Fwiw, I've made sure the calculations include variable altitude relative to the planets pivot so that it'll be very easy to use for flight simulator type apps as well.
P.S. thanks for putting up the 2008 link christian, my bad
P.S. thanks for putting up the 2008 link christian, my bad
-
- Posts: 175
- Joined: Wed Dec 20, 2006 12:04 pm
-
- Posts: 175
- Joined: Wed Dec 20, 2006 12:04 pm
Still going... just crawling through stinky hard bit for a while is all... Because of the enormous range of scales involved in planet simulation, a fair bit of fakery/trickery is required to make a seamless transition from 'oh look theres a planet the size of a golf ball' to 'oh look theres a golf ball'...
Also, spherical vectors suck harder than a tornado at a vacuum cleaner convention, but now that I've tried about five different ways of achieving the same result, I seem to be getting fluent with the maths (trig) involved.
Also, spherical vectors suck harder than a tornado at a vacuum cleaner convention, but now that I've tried about five different ways of achieving the same result, I seem to be getting fluent with the maths (trig) involved.
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
Hi, Ultramedia.
I've been able to compile a source with the /MT flag and indeed it compile without the need for runtimes. My binary was about 30k and now is 109k but there no dependancy to those runtime anymore. Mirror was right. I'm trying to convert myself on using MSCV express since I used DEV C++ before.
I've had to dig a little inside the MSVC interface. Here where I found them on MSVC Express 2008:
Project --> Properties ->Configuration properties -> C/C++ -> code generation -> Runtime library: select Multithread /MT
Once it's set the generated code will have to dependancy to the runtime.
note: I've based my words on translated french (I've got the MSCV EXPRESS 2008 french edition), should be the same or very similar.
For the errors you have there seem to be a mix of MSCV 2005 and MSCV 2008 in your machine. Here it compile without any probs. (I've only installer MSCV express 2008 in my system.
I've been able to compile a source with the /MT flag and indeed it compile without the need for runtimes. My binary was about 30k and now is 109k but there no dependancy to those runtime anymore. Mirror was right. I'm trying to convert myself on using MSCV express since I used DEV C++ before.
I've had to dig a little inside the MSVC interface. Here where I found them on MSVC Express 2008:
Project --> Properties ->Configuration properties -> C/C++ -> code generation -> Runtime library: select Multithread /MT
Once it's set the generated code will have to dependancy to the runtime.
note: I've based my words on translated french (I've got the MSCV EXPRESS 2008 french edition), should be the same or very similar.
For the errors you have there seem to be a mix of MSCV 2005 and MSCV 2008 in your machine. Here it compile without any probs. (I've only installer MSCV express 2008 in my system.
-
- Posts: 175
- Joined: Wed Dec 20, 2006 12:04 pm
Hi Christian,
Thanks heaps for that, I'll be making that change in my next release. When that'll actually happen is hard to say, the way I'd like to do the positions affects the LOD, and both of these things need me to figure out how I'm doing my texture splatting, and doing texture splatting on a spherical surface is HARD. (for me anyway).
Thanks heaps for that, I'll be making that change in my next release. When that'll actually happen is hard to say, the way I'd like to do the positions affects the LOD, and both of these things need me to figure out how I'm doing my texture splatting, and doing texture splatting on a spherical surface is HARD. (for me anyway).
-
- Posts: 175
- Joined: Wed Dec 20, 2006 12:04 pm
Ok, I think I figured out how to get unstuck... while making the LOD tiles lock together into a spherical surface was (in my mind at least) the logical way to go, it leads into a bucket load of maths that I'm just not clever enough to figure out.
So, now I'm basically just going to do a simple sphere with a libnoise based planet texture on it, and just slide my 2D planar version of my LOD tiles along the surface of it (when your altitude is low enough to see them), and have them suck up the texture from the sphere surface underneath the tiles and detailing it up with custom texture splatting.
Of course that will still be a bunch of coding to do it, but doing it this way, at least I can see what needs to be done, the spherical stuff just had me in a complete deadlock - which is a shame - but oh well, whatever works.
So, now I'm basically just going to do a simple sphere with a libnoise based planet texture on it, and just slide my 2D planar version of my LOD tiles along the surface of it (when your altitude is low enough to see them), and have them suck up the texture from the sphere surface underneath the tiles and detailing it up with custom texture splatting.
Of course that will still be a bunch of coding to do it, but doing it this way, at least I can see what needs to be done, the spherical stuff just had me in a complete deadlock - which is a shame - but oh well, whatever works.
-
- Posts: 175
- Joined: Wed Dec 20, 2006 12:04 pm
Yay!!! Update!!! (ok it's a small one, but it's an update)
Hey everyone,
Been a couple of months since I last posted here. Things got real busy in other areas, but I've been able to squeeze out a slight update this weekend on the eden engine. Speaking of which, as cool as "the irrth engine" is as a name, I think I'll go back to calling it the eden engine so it can stand on it's own two feet.
Last release was basically a spherical mesh, it actually had the LOD system in place but wasn't doing anything because I had to rebuild it so spherical positions were stored with double accuracy not just f32.
For now, I've just put up two new videos at youtube:
http://www.youtube.com/watch?v=fW6LZy2OG5g&fmt=18
http://www.youtube.com/watch?v=SR8LHUlx37g&fmt=18
Been a couple of months since I last posted here. Things got real busy in other areas, but I've been able to squeeze out a slight update this weekend on the eden engine. Speaking of which, as cool as "the irrth engine" is as a name, I think I'll go back to calling it the eden engine so it can stand on it's own two feet.
Last release was basically a spherical mesh, it actually had the LOD system in place but wasn't doing anything because I had to rebuild it so spherical positions were stored with double accuracy not just f32.
For now, I've just put up two new videos at youtube:
http://www.youtube.com/watch?v=fW6LZy2OG5g&fmt=18
http://www.youtube.com/watch?v=SR8LHUlx37g&fmt=18
so the game terrain would be a large sphere? you can go around the world? this is idea that could overcome invisible walls and high mountains all round the game level.
I once jumped over a really high wall in gothic 2 that was placed there to stop you from leaving level map. On the other side was great plane, and then - end of the world. And there was a board with writing on it saying something like: "bravo, you really jump well."
I once jumped over a really high wall in gothic 2 that was placed there to stop you from leaving level map. On the other side was great plane, and then - end of the world. And there was a board with writing on it saying something like: "bravo, you really jump well."