Newton 2.0x Archemedia Open Beta

Tell us your experience

Moderators: Sascha Willems, walaber

Newton 2.0x Archemedia Open Beta

Postby Julio Jerez » Mon Jan 19, 2009 10:42 am

07/05/2210
This version fixed a couple of reported bugs.
Raycast prefilter on compound collision was no working. There was other but I do not remember.
It also introduces a previous of the upcoming editor.

All functionality is plug in.
So far you can only load and save Collada files, load and save newton xml, and can load Valve Map file brushes. You can only load and select objects in the 3d view and in the explores.
Windows_SDK_2.23


06/06/2010
This version fixes a collision bug that in some case generate bogus optimized faces, this happens when an optimized face have long edges with many collinear point along the edge. This bug was reported by rvangaal

It also fix a bug with continue collision when convex shape has a center of mass far away from the geometrical origin. Sweep collision was predicting the collision point by plotting the matrix origin, but when the center of mass was relatively far away from the origin, the path of the shape is not the path of the origin. This bug was bad especially with small convex hull shapes travelling at high speed.
The bug is fixed by making the shape follow the path of the center of mass and not the path of the matrix origin. Bug found by Leadwerk team.

Note in this version the raycast car is commented out because it is being reworked.
Windows_SDK_2.22



05/25/2010
This version has some minor Bug fixes plus it introduces the Skeleton of what will be the Newton Editor for Content Creation.
Newton Editor is still very early stage, and it is there to gather opinion about the looks a feels of the interface.
Windows_SDK_2.21



04/26/2010
This version have a significant improvement in stability with collision collsion tress with faces that are very large or too oblong.
It also impelment a faster quick collision tree build when no optimization is used.
note: this vertion requieres all pre serialized collision trees, and hieghmap collision to be re-serialized.
Windows_SDK_2.20


04/05/2010
// fixed a bug when casting shapes wich produce only one contact when colliding with compound collisions.
// the linux build now has separate makefiles that create separate static libraries
Windows_SDK_2.19
Linux32_SDK_2.19
Linux64_SDK_2.19




Ok I finally got a stable build for all platform that compile without errors using WxWidgets
There is still a lot of work to do, but until I get a robust build I do not want to continues adding features to teh SDk or to the interface.
People using Linux need to get the libraries: glew, GTK, pcrep, boost and boost-system
there are some issue withWxWidget and Mac OS10, the same default values that work fine on PC and Linux do not seem to work on Mac,
I have a problem with real time update of the GLCanvas, and also the zbuffer rendering seems to be off, as soon as I find out the solution I will fix then.
Or even better maybe some one with more experience in WxWidget and Mac OSX can tell me the solution.
Mac_SDK_2.18
Windows_SDK_2.18
Linux32_SDK_2.18
Linux64_SDK_2.18


Finally got WxWidget working correctly in Linux 32 and 64
This is a Kickoff build to introduce the new Face of the Newton SDK, it uses WxWidgets and the Collada befomes the File Format of the Newton SDK.
Still a lot of work to do in but ends plus need to add all the demos to the viewer but this is an important mile stone.
It also brings the SDK to the same level of the windows version.
Linux32_SDK_2.17
Linux64_SDK_2.17



This version makes improvement on the player controller joint, making it more stable specially when the player is wedge on corners
Windows_SDK_2.16

This version fixes a crash bug when bodies leave the world and they are re-inserted back into the world.
Windows_SDK_2.15

This version include the a new project to build the SDK libraries plus it also included precompiled SDK libraries
Windows_SDK_2.14


Made the memory manager thread safe, now mutiples newton worlds can run in separate threads at teh application level,
plus each newtor world can also be set to run parallel microthreads internally.
on a side note, I do not know why by the linux 64 version seems to run like 5 to 10 time faster than any other version.
The destruction demo takes about 15 secunds to build the database in win64, but the linux 64 does in like 2 or 3 secunds, I verified several time if there is a bug and each time the results is repeated.
I do not know why by I take it.
Windows_SDK_2.13
Linux32_SDK_2.13
Linux64_SDK_2.13


this is version replaces 2.11 (ther were few bug due to some refactroing toll) Plus if you are using 2.11 get 2.12
The destruction is not fully completed yet but there are some important bug fixes
Windows_SDK_2.12


Ok this is part one of the feature I was working tha pass two weeks, it is not fully completed since I still do not have the complex destruction yet but that will come with next Beta,
In the meantime, here it something something for those interested.
Windows_SDK_2.10


Because I underestimate the time that will take me to implement the feature I am working on, and there are 5 or 6 bug fixed that some people are waiting for, I am releasing beta 2.09
I thought I was going to be ready in the last Labor Day long week end but I was wrong.
Hopefully in one more week I will be ready to introduce it with Beta 2.10
Windows_SDK_2.09


The performance gains are as follow fo rtshi eversion are
PC 30% faster in 32 bit mode when using x87 mode (SSE is marginally faster)
Mac 200% faster than any other previous version of Newton on Intel Mac.
Linux 200% faster in all versions (32 and 64 bit).
Linux for some inexplicable reason had become the fastest version of Newton ever.
Twice as fast the windows and a bit faster than the Mac, although I cannot verify this since my PC run at a faster speed than my Mac Pro.
My guess is that they both are the same speed since they are build with GCC 4.3.1 with the same compiling options.
For the Iphone I do not know but I am usin teh same GCC flags, so maybe we also getting a 3 fold speed up (yea like that is going to happen, but it will be nice)
Mac_SDK_2.08
Windows_SDK_2.08
Linux32_SDK_2.08
Linux64_SDK_2.08



This perfects the Player Controller joint and the also fixes the Camera bug in the SDK demos.
Now player Controller should runsvery smooth all over the level mesh.
Mac_SDK_2.07
Windows_SDK_2.07
Linux32_SDK_2.07
Linux64_SDK_2.07


This fixes all laster bugs for all platform.
It added some more Joints to the C library, plus the Player Controller is now functional.
The IPhone is now builds with Mac SDK 3.0, so it should be much faster on 3G iPhones and secund generation iPots

note: the camera bug in the SDK makes the player controller looks bad, you should check it out in the WIKI tutorials.
Mac_SDK_2.06
Windows_SDK_2.06
Linux32_SDK_2.06
Linux64_SDK_2.06

This 2.06 beta fixes the Invalidate cache bug plus teh crash bug using SSE, It also add and optimization of the broad phase that should make the collision appreciable faster and more robust,
especially in scenes with many clustered objects.
Thanks to Mark from the forum for point out the Bug and exposing it it.

Now I am ready to complete the Car in the tutorials



The first installment the begginers tutorials are on the wiki, this includes fully working IPhone/Ipot touch tutorial
Begginers Tutorials

Beta 2.04
Mac_SDK_2.04
Windows_SDK_2.04
Linux32_SDK_2.04
Linux64_SDK_2.04

There is an interface change in the collision creation function that now takes the shape ID as construction parameter.
This is necessary for using the collision shape as material ID. This allows for the creation for unified material system the can use per body and per shape IDs.
There is a problem with the Player controller camera in the SDK demos; this is due to the Camera update being called before the Physics update which make the camera
go one frame behind the Scene. Changing that order breaks all other other demos, so for now I let stay that way.
There is some modification on the Car joint, the demo is still incomplete, but the completion of these demos will not affect the Engine.


Ok I put the Beta 2.03 (only the PC build for now)
Windows_SDK_2.03

It fixes the Bug with the Ray cast car the only allowed set car oriented along the x local axis, now the chassis matrix that define the car orientation works as it should.
With this feature the use will not have a physically rotate the car geometry, setting the proper chassis matrix will do the trick.

For example to create a car joint with a car moving along the x axis you can do this
1 0 0 0 // car direction of motion in local space
0 1 0 0 // up vector In local space
0 0 1 0 // tire rotation axis in local space
0 0 0 1 // always zero vector

// if your can geometry is oriented alone the z asis , then you set the chassis matrix to this
0 0 1 0 // car direction of motion in local space
0 1 0 0 // up vector In local space
-1 0 0 0 // tire rotation axis in local space
0 0 0 1 // always zero vector

The Beta also introduces the framework for the upcomming Visual debugger.



These are the link for each of the supported platforms
Windows_SDK_2.02
MacSDK_SDK_2.02
Linux32_SDK_2.02
Linux64_SDK_2.02
The Mac contain the Iphone and Ipot touch libraries. The Mac build should run out of the Box on Lepard with xcode 3.0 or better
These libraries replace the 2.00 SDK wich had a bug where bodies adquired a double speed if they collide with more than one static body at the once.
It also fixes an occational Ray cast bug when picking bodies.

These are the link for each of the supported platforms
http://www.newtondynamics.com/downloads ... n-2.00.rar
http://www.newtondynamics.com/downloads ... c-2.00.zip
http://www.newtondynamics.com/downloads ... .00.tar.gz
http://www.newtondynamics.com/downloads ... .00.tar.gz

Windows_SDK_2.00
MacSDK_SDK_2.00
Linux32_SDK_2.00
Linux64_SDK_2.00

The Mac contain the Iphone and Ipot touch libraries (solver is specially optimized).

Here is a small demonstraction of what is in stock in turn of game play, and performace of Netwon2
// Multibody Car demo
Multi Rigid Body Car Preview

// RaycastCar and ConvexCastCar demo
RayCast/ConvexCast Car Preview

This is courtesy of Master Dave Gravel (Master K00m)
It shows an assortment of RayCast and ConvexCast cars in a typical terrain and roads with few box to play around, the fiffrent cars driving model are expected to behave like vehicles in any high quality commercial game.
The source code for the exact car joint of the demo in included with the 2.0 SDK
Julio Jerez
Moderator
Moderator
 
Posts: 3411
Joined: Sun Sep 14, 2003 1:18 pm
Location: Los Angeles

Re: Newton 2.0 Archemedia Open Beta

Postby martinsm » Mon Jan 19, 2009 11:01 am

NewtonWin-2.00.zip can not be downloaded. File not found.
martinsm
 
Posts: 68
Joined: Mon Dec 19, 2005 2:15 pm
Location: Latvia

Re: Newton 2.0 Archemedia Open Beta

Postby Julio Jerez » Mon Jan 19, 2009 11:54 am

sorry the extention was zip, and it is a rar file. try again please
Julio Jerez
Moderator
Moderator
 
Posts: 3411
Joined: Sun Sep 14, 2003 1:18 pm
Location: Los Angeles

Re: Newton 2.0 Archemedia Open Beta

Postby jay3d » Tue Jan 20, 2009 3:22 am

Thanks for the links :)

i've seen before in older betas the breakable bodies sample, but now no more :(

where is it?

Thanks!
jay3d
 
Posts: 14
Joined: Sun Jul 13, 2008 10:51 am

Re: Newton 2.0 Archemedia Open Beta

Postby Julio Jerez » Tue Jan 20, 2009 11:22 am

It is commented out for teh tiem bieng, when I change the mesh format it broke, It will be back soon, with more pawaaaa beleive me.
Julio Jerez
Moderator
Moderator
 
Posts: 3411
Joined: Sun Sep 14, 2003 1:18 pm
Location: Los Angeles

Re: Newton 2.0 Archemedia Open Beta

Postby predaeus » Wed Jan 21, 2009 11:04 am

Julio can we please get shares libraries (.so) for Linux32/64. This would potentially allow good Newton support for the Digital Mars D (http://www.digitalmars.com/d/) programming language through Derelict (http://dsource.org/projects/derelict/).

EDIT:
There is also some talk about that here viewtopic.php?f=9&t=4933&p=35396#p35396 and here http://www.dsource.org/forums/viewtopic.php?t=4396.
predaeus
 
Posts: 19
Joined: Wed Jan 21, 2009 9:49 am

Re: Newton 2.0 Archemedia Open Beta

Postby martinsm » Wed Jan 21, 2009 11:25 am

I think you can create shared library from static library yourself in linux. Just run:
Code: Select all
g++ -shared -o libNewton.so libNewton.a
martinsm
 
Posts: 68
Joined: Mon Dec 19, 2005 2:15 pm
Location: Latvia

Re: Newton 2.0 Archemedia Open Beta

Postby predaeus » Wed Jan 21, 2009 1:14 pm

thanks, this seems to do it

Code: Select all
g++ -shared -Wl,-Bstatic,--whole-archive -o libNewton.so libNewton.a -Wl,-Bdynamic,--no-whole-archive


now to get it to load...
predaeus
 
Posts: 19
Joined: Wed Jan 21, 2009 9:49 am

Re: Newton 2.0 Archemedia Open Beta

Postby predaeus » Thu Jan 22, 2009 6:45 am

When I generate the shared object with the command above and try to compile a simple test application I get:

Code: Select all
#include <stdlib.h>
#include "Newton.h"

int main(int argc, char** argv)
{
   NewtonWorld* world = NewtonCreate(NULL, NULL);
   return 0;
}


Code: Select all
$ gcc -x c++ test.c -o test -L. -lNewton
./libNewton.so: undefined reference to `dgCollision::rtti'
./libNewton.so: undefined reference to `dgPolygonSoupDatabase::rtti'
./libNewton.so: undefined reference to `dgCollision::dgCollision(void (*)(void*, void*, unsigned int), void*)'
./libNewton.so: undefined reference to `pthread_create'
./libNewton.so: undefined reference to `dgRayPolygonIntersect(dgVector const&, dgVector const&, dgVector const&, float const*, int, int const*, int)'
./libNewton.so: undefined reference to `dgConvexCollision::rtti'
./libNewton.so: undefined reference to `dgWorld::CreatePolygonSoup(dgPolysoupCreation const&)'
./libNewton.so: undefined reference to `dgWorld::CreateFromSerialization(int, dgCollisionID, void (*)(void*, void*, unsigned int), void*)'
./libNewton.so: undefined reference to `pthread_join'
collect2: ld returned 1 exit status


Inspecting the .so:
Code: Select all
$ nm -u libNewton.so
         U _IO_putc@@GLIBC_2.0
         w _Jv_RegisterClasses
         U _Unwind_Resume@@GCC_3.0
         U _Z21dgRayPolygonIntersectRK8dgVectorS1_S1_PKfiPKii
         U _ZN11dgCollision4rttiE
         U _ZN11dgCollisionC2EPFvPvS0_jES0_
         U _ZN17dgConvexCollision4rttiE
         U _ZN21dgPolygonSoupDatabase4rttiE
         U _ZN7dgWorld17CreatePolygonSoupERK18dgPolysoupCreation
         U _ZN7dgWorld23CreateFromSerializationEi13dgCollisionIDPFvPvS1_jES1_
         U _ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
         U _ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
         U _ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
         U _ZdlPv@@GLIBCXX_3.4
         U __cxa_atexit@@GLIBC_2.1.3
         w __cxa_finalize@@GLIBC_2.1.3
         U __cxa_guard_abort@@CXXABI_1.3
         U __cxa_guard_acquire@@CXXABI_1.3
         U __cxa_guard_release@@CXXABI_1.3
         U __cxa_pure_virtual@@CXXABI_1.3
         w __gmon_start__
         U __gxx_personality_v0@@CXXABI_1.3
         U __memcpy_chk@@GLIBC_2.3.4
         U __memset_chk@@GLIBC_2.3.4
         U __sprintf_chk@@GLIBC_2.3.4
         U __stack_chk_fail@@GLIBC_2.4
         U fclose@@GLIBC_2.1
         U feof@@GLIBC_2.0
         U fflush@@GLIBC_2.0
         U fgetc@@GLIBC_2.0
         U fgets@@GLIBC_2.0
         U fopen@@GLIBC_2.1
         U fread@@GLIBC_2.0
         U free@@GLIBC_2.0
         U fseek@@GLIBC_2.0
         U ftell@@GLIBC_2.0
         U fwrite@@GLIBC_2.0
         U malloc@@GLIBC_2.0
         U memcpy@@GLIBC_2.0
         U memmove@@GLIBC_2.0
         U memset@@GLIBC_2.0
         U pow@@GLIBC_2.0
         U pthread_create
         U pthread_join
         U rewind@@GLIBC_2.0
         U sched_yield@@GLIBC_2.0
         U setvbuf@@GLIBC_2.0
         U strcpy@@GLIBC_2.0
         U sysconf@@GLIBC_2.0
         U ungetc@@GLIBC_2.0
         U usleep@@GLIBC_2.0


shows a lot of undefined references.

Any idea what is going on?
predaeus
 
Posts: 19
Joined: Wed Jan 21, 2009 9:49 am

Re: Newton 2.0 Archemedia Open Beta

Postby martinsm » Thu Jan 22, 2009 7:52 am

Hm.. actually it seems that it can not be done.
I also tried to extract all object files from static archive (ar x libNewton.a). And then link those *.o files to shared library:
Code: Select all
g++ -shared -o libNewton.so -Wl,--whole-archive,-soname,libNewton.so *.o

But I'm getting error message:
Code: Select all
/usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init':
(.text+0x2b): undefined reference to `__init_array_end'
/usr/bin/ld: /usr/lib/libc_nonshared.a(elf-init.oS): relocation R_386_GOTOFF against undefined hidden symbol `__init_array_end' can not be used when making a shared object
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status


It seems that source code should be build with -shared flag for object files be able to link in shared library. I think only option here (besides writing your own shared library wrapper for static Newton library) is for Julio to build and distribute shared libraries for MacOSX and Linux same as for Windows you distribute both shared (dll) and static (lib) libraries of Newton.
martinsm
 
Posts: 68
Joined: Mon Dec 19, 2005 2:15 pm
Location: Latvia

Re: Newton 2.0 Archemedia Open Beta

Postby Aphex » Thu Jan 22, 2009 8:12 am

My CustomVehicleJoint goes crazy on the public beta (flies off to Venus). Was working fine on an older beta. Anything changed much there?
Aphex
 
Posts: 125
Joined: Fri Jun 18, 2004 5:08 am
Location: UK

Re: Newton 2.0 Archemedia Open Beta

Postby Julio Jerez » Thu Jan 22, 2009 9:23 am

Of I will mak eteh shared lib.

Aphex nothing should behave different.
Julio Jerez
Moderator
Moderator
 
Posts: 3411
Joined: Sun Sep 14, 2003 1:18 pm
Location: Los Angeles

Re: Newton 2.0 Archemedia Open Beta

Postby predaeus » Thu Jan 22, 2009 1:20 pm

Thanks Julio!

@martinsm:
I think that problem you had is related to 'man ld' section about --whole-archive. It basically says you need to specify --no-whole-archive at the end of the command because gcc might add files to the list for ld.
predaeus
 
Posts: 19
Joined: Wed Jan 21, 2009 9:49 am

Re: Newton 2.0 Archemedia Open Beta

Postby Julio Jerez » Sat Jan 24, 2009 3:16 am

Aphex wrote:My CustomVehicleJoint goes crazy on the public beta (flies off to Venus). Was working fine on an older beta. Anything changed much there?


Are you using teh ray cast car?
Thre was a bug because eI hack the joint when I was debugging some code, it id fine now than to Master Dave Gravel how re wroet teh joint completedly.

I edit teh main post to add the demo, maybe you can check it out
Julio Jerez
Moderator
Moderator
 
Posts: 3411
Joined: Sun Sep 14, 2003 1:18 pm
Location: Los Angeles

Re: Newton 2.0 Archemedia Open Beta

Postby white tiger » Sat Jan 24, 2009 7:29 am

1) on CustomJoints, set the "quadratic" solver mode and the joint between the two boxes on the air literally goes crazy. it starts to move up and down. this does not happen with linear solvers

2) on my machine the FPS is always 59.9999

3) have the same problem Aphex. The raycast car goes to moon at a certain point in the track

4) it would be cool to stop the camera from moving itself. it's really frustating. use keyboard instead

4) a minor thing. please do not use rar. it's a proprietary file format. use 7-zip instead

other than that, thanks for it. really a good work. keep it up :wink:

EDIT: where is the documentation?

EDIT2: Where is the NewtonContact structure?
white tiger
 
Posts: 4
Joined: Fri Nov 03, 2006 7:35 am
Location: italy

Next

Return to General Discussion

Who is online

Users browsing this forum: Ask Jeeves [Bot], Google [Bot], Yahoo [Bot] and 1 guest