IPhysics - Newton/Irrlicht framework
-
- Posts: 34
- Joined: Sat Jul 30, 2005 9:45 am
- Contact:
I have not tried Iphysic but irrnewt have almost what you need. It has almost everything from newton implementd and more on it.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
But reccommed you anyway either you use Iphysic or Irrnewt that you are gonn need recompiled.
-
- Posts: 1
- Joined: Tue Aug 05, 2008 3:01 pm
- Location: Ukraine
Hi
I used code::blocks with gcc.
I have a problem with compiling 3-th tutorial(IPhysics-1.2) on irrlicht 1.4.1.
Can you help me with that problem?
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&)
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.I get quite a lot of Warnings while compiling, here is the log (sorry because it's german):Without IPhysics there ist just the .CRT-Warning. Using VC++ 2008 Express, maybe this got something to do with it?
Code: Select all
CPhysics physics;
physics.init(device->getTimer());
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.
Did you add that option to your linkerflags?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.
--Blender3D
Edit: from Page 1:
Do you have this in your code?:
Code: Select all
#pragma comment(lib, "IPhysics.lib")
cat /dev/brain | sort
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?
I have the same problem.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.
Can you help me with that problem?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&)
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&)
And one more question: What is the best version of IPhysics for Irrlicht 1.4.2
Thanks,
Bodzio
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:
any ideas? should I just try another engine or library?
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);
}