Horde3D

Next-Generation Graphics Engine
It is currently 25.11.2024, 16:25

All times are UTC + 1 hour




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: 26.12.2007, 11:32 
Offline

Joined: 26.12.2007, 11:20
Posts: 3
I'm looking to try Horde3D on Ubuntu 7.10 64 bits. I've created a AMD64 specific version of the libTinyXML.a library without problems but the NvTriStrip sources seem windows specific.

Is the source code that was used to create the x86 libNvTriStrip.a available?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 26.12.2007, 19:29 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
I know of somebody who already succeeded in compiling Horde under Linux 64, so that shouldn't make too many problems. You can find the platform-independant code for NVTriStrip here:

http://developer.nvidia.com/object/nvtristrip_library.html


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 26.12.2007, 20:15 
Offline

Joined: 26.12.2007, 11:20
Posts: 3
That's the version I was trying. In the NvTriStripObjects.h it has

#include <windows.h>

which I reckon means it's using some function calls that will need converting to posix equivalents. Just seemed pointless redoing this work if someone has already done it :)


Top
 Profile  
Reply with quote  
 Post subject: nvtristrip
PostPosted: 31.12.2007, 13:56 
Offline

Joined: 29.12.2007, 17:43
Posts: 3
Hi!

Sorry for my late reaction, i've been busy the last days!

I managed to compile NvTriStrip under ubuntu 7.10 64-bit. This is what i had to do:

- Install wine-dev for the <windows.h> header file.

- Do some minor modifications to the code to comply with the 4.something g++ i was using.

- Declare the NOMINMAX variable while compiling. I think, this has to be done to avoid double declaration of min and max macros in the wine headers and the c++ standard libraries.

I put the Makefile i use and a diff for the code modifications here:

http://open-projects.net/~shahn/nvtristrip/

I am not very familiar with diff and patch, so if you need anything else, let me know.

If you have other questions, do ask, too.

Sönke


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 01.01.2008, 20:17 
Offline

Joined: 26.12.2007, 11:20
Posts: 3
Hi Sönke,

Thanks for that but I really don't want to have wine as a dependency :(

I've dug a little deeper now and it's just the collada convertor that is using NvTriStrip.

As a quick fix I've made the optimization section of that a compile time option. That was enough to get everything to compile. Knight example works fine, but Chicago seg faults so I need to investigate that further.

If I decide Horde3D is the engine for me, I'll either port NvTriStrip properly (the Maya2q3 plugin has already done this but it's tied to the plugin code) or add Tri Stripper as an alternative.

So I'm a few steps forward now :)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 02.01.2008, 02:15 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
The NVidia site claims that the code is platform independent (although this can't be completely true because of the included windows header) and I know that Volker has already compiled it under Linux without larger problems (his Linux32 library version is included in the SDK) so it can't be that difficult to remove the windows dependency.

I will also check if we can replace NVTriStrip by a relatively simple algorithm as the one proposed by Tom Forsyth.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 03.01.2008, 18:44 
Offline

Joined: 17.12.2007, 05:27
Posts: 1
Marc Schuba asked me to provide the version I hacked up for Linux x86_64 here. It's still work-in-progress (I felt a sudden urge to not only make it compile, but also make it look nice...). Not sure if it currently works correctly (no time to test atm), but well... It comes with a Makefile that's tailored towards Horde, ie. it will create libNvTriStrip.a.

If anyone wants to test it in its current state, I've uploaded a snapshot of the current state at http://people.linux-vserver.org/~doener ... ip.tar.bz2

Edit:
The original upload was pretty buggy (well, not unexpected *g*). I've replaced the tarball in-place with a minimally edited version of the NVidia source. Just the windows.h header removed, and very little fixes to make it compile (UINT/WORD -> unsigned int/short, a few scoping bugs, and something required a std:: qualifier).

My totally uneducated guess of how to get the Knight example to just use some other converted collada file still fails, but it fails without -opt, too. And at least -opt doesn't crash anymore.

As a bonus, I extended the Makefile to provide a "deps" target, so that you get correct rebuilding when editing header files.

Note that the Makefile still has "-g" instead of "-O3" in its CFLAGS. For non-debugging, you _do_ want to change that ;-)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 04.01.2008, 21:23 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
Doener wrote:
Marc Schuba asked me to provide the version I hacked up for Linux x86_64 here. It's still work-in-progress (I felt a sudden urge to not only make it compile, but also make it look nice...). Not sure if it currently works correctly (no time to test atm), but well... It comes with a Makefile that's tailored towards Horde, ie. it will create libNvTriStrip.a.

If anyone wants to test it in its current state, I've uploaded a snapshot of the current state at http://people.linux-vserver.org/~doener ... ip.tar.bz2


Here is a platform-agnostic version of the NvTriStrip sources that I ran up yesterday for the Mac version of ColladaConv:

NvTriStrip.zip

I have tested it quite thoroughly on the Mac, and it should work fine on Linux and Windows as well.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group