IPhysics - Newton/Irrlicht framework

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Grey Lantern
Posts: 34
Joined: Sat Jul 30, 2005 9:45 am
Contact:

Post by Grey Lantern »

Sorry to drag an old thread up but is development still happening on this? Or have people moved over to irrnewt - which is the most feature complete/robust/easy to use now?

Or is there another Physics engine that works even better with Irrlicht (free no commercial restrictions)

thanks
Vsk
Posts: 343
Joined: Thu Sep 27, 2007 4:43 pm

Post by Vsk »

Grey Lantern wrote:Sorry to drag an old thread up but is development still happening on this? Or have people moved over to irrnewt - which is the most feature complete/robust/easy to use now?

Or is there another Physics engine that works even better with Irrlicht (free no commercial restrictions)

thanks
I have not tried Iphysic but irrnewt have almost what you need. It has almost everything from newton implementd and more on it.

But reccommed you anyway either you use Iphysic or Irrnewt that you are gonn need recompiled.
dumpkin_1981
Posts: 1
Joined: Tue Aug 05, 2008 3:01 pm
Location: Ukraine

Post by dumpkin_1981 »

Hi
I used code::blocks with gcc.

I have a problem with compiling 3-th tutorial(IPhysics-1.2) on irrlicht 1.4.1.

Code: Select all

:\develops\projects\race\/example3.h: In function `void runExample3()':
D:\develops\projects\race\/example3.h:155: error: cannot declare variable `receiver' to be of type `CEventReceiver_eg3'
D:\develops\projects\race\/example3.h:155: error:   because the following virtual functions are abstract:
D:/develops/irrlicht-1.4.1/include/IEventReceiver.h:262: error:  virtual bool irr::IEventReceiver::OnEvent(const irr::SEvent&)
Can you help me with that problem?
Cronk
Posts: 0
Joined: Sat Aug 16, 2008 10:20 pm
Location: Germany

Post by Cronk »

Hum, I have a problem as well. When I integrate the following 2 Lines into my Code (really simple stuff, more or less like the "Hello World"), the App crashes with a simple Windows standart error.

Code: Select all

CPhysics physics;
physics.init(device->getTimer());
I get quite a lot of Warnings while compiling, here is the log (sorry because it's german):

Code: Select all

Kompilieren...
main.cpp
Verknüpfen...
IPhysics.lib(CPhysics.obj) : Es wurde ein mit /GL kompiliertes MSIL .netmodule oder module gefunden. Verknüpfung wird mit /LTCG erneut gestartet. Fügen Sie /LTCG zur Linkbefehlszeile hinzu, um die Linkerleistung zu erhöhen.
LINK : warning LNK4075: /INCREMENTAL wird aufgrund der Angabe von /LTCG ignoriert.
Code wird generiert.
Codegenerierung ist abgeschlossen.
main.obj : warning LNK4210: .CRT-Abschnitt vorhanden; es sind möglicherweise unbehandelte statische Initialisierer oder Terminatoren vorhanden.
IPhysics.lib(CPhysicsEntity.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "I:\Proggen\Libs\IPhysics-1.2\lib\IPhysics.lib" oder an "I:\Proggen\Projekte\IPhysics_Test\DontInclude\Debug\vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
IPhysics.lib(CPhysics.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "I:\Proggen\Libs\IPhysics-1.2\lib\IPhysics.lib" oder an "I:\Proggen\Projekte\IPhysics_Test\DontInclude\Debug\vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
IPhysics.lib(CPhysicsCar.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "I:\Proggen\Libs\IPhysics-1.2\lib\IPhysics.lib" oder an "I:\Proggen\Projekte\IPhysics_Test\DontInclude\Debug\vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
IPhysics.lib(MPhysicsCallbacks.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "I:\Proggen\Libs\IPhysics-1.2\lib\IPhysics.lib" oder an "I:\Proggen\Projekte\IPhysics_Test\DontInclude\Debug\vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
IPhysics.lib(CPhysicsCarWheel.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "I:\Proggen\Libs\IPhysics-1.2\lib\IPhysics.lib" oder an "I:\Proggen\Projekte\IPhysics_Test\DontInclude\Debug\vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
Das Manifest wird eingebettet...
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation.  All rights reserved.
IPhysics.lib(CPhysics.obj) : Es wurde ein mit /GL kompiliertes MSIL .netmodule oder module gefunden. Verknüpfung wird mit /LTCG erneut gestartet. Fügen Sie /LTCG zur Linkbefehlszeile hinzu, um die Linkerleistung zu erhöhen.
LINK : warning LNK4075: /INCREMENTAL wird aufgrund der Angabe von /LTCG ignoriert.
Code wird generiert.
Codegenerierung ist abgeschlossen.
main.obj : warning LNK4210: .CRT-Abschnitt vorhanden; es sind möglicherweise unbehandelte statische Initialisierer oder Terminatoren vorhanden.
IPhysics.lib(CPhysicsEntity.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "I:\Proggen\Libs\IPhysics-1.2\lib\IPhysics.lib" oder an "I:\Proggen\Projekte\IPhysics_Test\DontInclude\Debug\vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
IPhysics.lib(CPhysics.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "I:\Proggen\Libs\IPhysics-1.2\lib\IPhysics.lib" oder an "I:\Proggen\Projekte\IPhysics_Test\DontInclude\Debug\vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
IPhysics.lib(CPhysicsCar.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "I:\Proggen\Libs\IPhysics-1.2\lib\IPhysics.lib" oder an "I:\Proggen\Projekte\IPhysics_Test\DontInclude\Debug\vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
IPhysics.lib(MPhysicsCallbacks.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "I:\Proggen\Libs\IPhysics-1.2\lib\IPhysics.lib" oder an "I:\Proggen\Projekte\IPhysics_Test\DontInclude\Debug\vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
IPhysics.lib(CPhysicsCarWheel.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "I:\Proggen\Libs\IPhysics-1.2\lib\IPhysics.lib" oder an "I:\Proggen\Projekte\IPhysics_Test\DontInclude\Debug\vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
Without IPhysics there ist just the .CRT-Warning. Using VC++ 2008 Express, maybe this got something to do with it?
Blender3D
Posts: 7
Joined: Thu Aug 14, 2008 11:24 am

Post by Blender3D »

IPhysics.lib(CPhysics.obj) : Es wurde ein mit /GL kompiliertes MSIL .netmodule oder module gefunden. Verknüpfung wird mit /LTCG erneut gestartet. Fügen Sie /LTCG zur Linkbefehlszeile hinzu, um die Linkerleistung zu erhöhen.
Did you add that option to your linkerflags?

--Blender3D

Edit: from Page 1:
Do you have this in your code?:

Code: Select all

#pragma comment(lib, "IPhysics.lib")
cat /dev/brain | sort
Cronk
Posts: 0
Joined: Sat Aug 16, 2008 10:20 pm
Location: Germany

Post by Cronk »

Sure I have. Added /LTGC to linkerflags -> same result
Tracekill
Posts: 5
Joined: Wed Feb 20, 2008 2:52 pm

Post by Tracekill »

I hope this thread is still fairly active and I'm not committing thread necromancy here, but thank you so much for this implementation. I'm currently working on a game which accurately simulates scouting and sniping. As part of the game I needed realistic bullet physics and was able to accomplish this very easily with this fantastically simple interface to a library I found all too confusing. If I may pose one question though: It may have been addressed earlier in the thread (but I think we can agree scanning through 20+ pages of material in the search for an identical question is a little outlandish), I'm trying to load a .irr file containing my map as an IPhysics terrain object. Now I have the distinct feeling I'm missing something completely obvious and simple but would you be so kind as to humor one less programatically inclined and help me out?
Ethan
Posts: 9
Joined: Sun Oct 12, 2008 9:00 pm

Post by Ethan »

hi all

is anyone using iphysics on linux? i mean does anyone have a Newton.a /Newton.so instead of the Newton.dll for linux use?
(or is there a makefile to make one myself)

(i think it should be .a or .so for linux, flame on me if its not ;) )
terier
Posts: 34
Joined: Sun Oct 05, 2008 4:46 pm

Post by terier »

I have a little bit different problem ...
I compile my code, it links fine, but then it crashes on

CPhysics physics;

I also tried irrNewt, I can compile the source but it crashes.
Is there a problem in Iphysics and irrNewt or in Newton SDK?

ps: i have all #include lines and #pragma comments
Bodzio
Posts: 15
Joined: Mon Nov 10, 2008 8:53 am

Post by Bodzio »

dumpkin_1981 wrote:Hi
I used code::blocks with gcc.

I have a problem with compiling 3-th tutorial(IPhysics-1.2) on irrlicht 1.4.1.

Code: Select all

:\develops\projects\race\/example3.h: In function `void runExample3()':
D:\develops\projects\race\/example3.h:155: error: cannot declare variable `receiver' to be of type `CEventReceiver_eg3'
D:\develops\projects\race\/example3.h:155: error:   because the following virtual functions are abstract:
D:/develops/irrlicht-1.4.1/include/IEventReceiver.h:262: error:  virtual bool irr::IEventReceiver::OnEvent(const irr::SEvent&)
Can you help me with that problem?
I have the same problem.

This is my log:

Code: Select all

In file included from source/main.cpp:7:
C:/Game/example3.h: In function `void runExample3()':
C:/Game/example3.h:152: error: cannot declare variable `receiver' to be of type `CEventReceiver_eg3'
C:/Game/example3.h:152: error:   because the following virtual functions are abstract:
C:/Game/Irrlicht/IEventReceiver.h:262: error:  virtual bool irr::IEventReceiver::OnEvent(const irr::SEvent&)
I using DevC++

And one more question: What is the best version of IPhysics for Irrlicht 1.4.2

Thanks,
Bodzio
Oruchiku
Posts: 3
Joined: Sun Nov 30, 2008 7:12 am
Location: .lodz.pl

Post by Oruchiku »

The latest available IPhysics (1.2) works with Irrlicht 1.4.2, although few code fixes are necessary. To make it work with VC2008 I also had to rebuild IPhysics.dll.
MikeDee
Posts: 35
Joined: Wed Nov 18, 2009 11:41 pm

Post by MikeDee »

Sorry to bump such a old topic, but is this compatible with Irrlicht 1.6 ?
If not, what changes are needed ?
Jack000
Posts: 5
Joined: Sun Jan 17, 2010 10:13 pm

Post by Jack000 »

is anyone still interested in using this library? I spent a couple of hours today fixing it up for 1.6.

I've got it working with the hello world and car demo, but there is still a problem with terrain.

it seems that the 1.6 api has changed so that terrainNode->getMeshBufferForLOD takes a CDynamicMeshBuffer

I changed the mesh buffer to this type, but when I run the code it goes into an endless loop around here:

Code: Select all

	for (int i = 0; i < (int)meshBuffer.getIndexCount(); i +=3)
	{	
		v1i = indices[i];
		v2i = indices[i+1];
		v3i = indices[i+2];

		vArray[0] = (vertices[v1i].Pos.X*terrain->terrainScale.X);
		vArray[1] = (vertices[v1i].Pos.Y*terrain->terrainScale.Y);
		vArray[2] = (vertices[v1i].Pos.Z*terrain->terrainScale.Z);
		vArray[3] = (vertices[v2i].Pos.X*terrain->terrainScale.X);
		vArray[4] = (vertices[v2i].Pos.Y*terrain->terrainScale.Y);
		vArray[5] = (vertices[v2i].Pos.Z*terrain->terrainScale.Z);
		vArray[6] = (vertices[v3i].Pos.X*terrain->terrainScale.X);
		vArray[7] = (vertices[v3i].Pos.Y*terrain->terrainScale.Y);
		vArray[8] = (vertices[v3i].Pos.Z*terrain->terrainScale.Z);

		NewtonTreeCollisionAddFace(treeCollision, 3, (float*)vArray, 12, 11);
	}
any ideas? should I just try another engine or library?
Jack000
Posts: 5
Joined: Sun Jan 17, 2010 10:13 pm

Post by Jack000 »

nevermind it's working now. Had to use EVT_2TCOORDS instead of EVT_STANDARD.

didn't have to make many changes in the source to get it working with 1.6, mostly just changing the .M lines to .pointer()
Murloc992
Posts: 272
Joined: Mon Apr 13, 2009 2:45 pm
Location: Utena,Lithuania

Post by Murloc992 »

Jack000 wrote:nevermind it's working now. Had to use EVT_2TCOORDS instead of EVT_STANDARD.

didn't have to make many changes in the source to get it working with 1.6, mostly just changing the .M lines to .pointer()
Could you upload the source somewhere, please? :roll:
Post Reply