SDK:
SDK Download
new features
Node with coldet colission .
Code: Select all
function Coldet_Create(Static:boolean):IColdet;cdecl ;external IRR_DLL;
procedure Coldet_Free(model:IColdet);cdecl ;external IRR_DLL;
function Coldet_ColideWithModel(A,B:IColdet):boolean;cdecl ;external IRR_DLL;
function Coldet_RayHit(A:IColdet; origin,direction:ivec3):boolean;cdecl ;external IRR_DLL;
function Coldet_CameraRayHit(A:IColdet;CameraNode:ISceneNode;dist:integer=1000):boolean;cdecl ;external IRR_DLL;
function Coldet_SphereHit(A:IColdet; origin:Ivec3; radius:single):boolean;cdecl ;external IRR_DLL;
procedure Coldet_SetTrasformByNode(A:IColdet;Node:ISceneNode);cdecl ;external IRR_DLL;
procedure Coldet_SetTrasformByMatrix(A:IColdet;matrix:pointer);cdecl ;external IRR_DLL;
procedure Coldet_AddTriangle(a:IColdet;t1,t2,t3:ivec3);cdecl ;external IRR_DLL;
procedure Coldet_AddTrianglesFromNode(a:IColdet;Node:ISceneNode);cdecl ;external IRR_DLL;
procedure Coldet_AddTrianglesFromMesh(A:IColdet;meshA:IMesh);cdecl ;external IRR_DLL;
procedure Coldet_Rebuild(A:IColdet);cdecl ;external IRR_DLL;
procedure Coldet_CollisionNormal(A:IColdet;var normal:ivec3);cdecl ;external IRR_DLL;
procedure Coldet_CollisionPoint(A:IColdet;var point:ivec3;global:boolean=false);cdecl ;external IRR_DLL;
procedure Coldet_CollisionTri(A:IColdet;var triangle:ITriangle;ModelSpace:boolean=false);cdecl ;external IRR_DLL;
procedure Coldet_CollisionTris(A:IColdet;var t1,t2:ITriangle;ModelSpace:boolean=false);cdecl ;external IRR_DLL;
procedure Coldet_CollisionTrisIndex(A:IColdet;var t1,t2:integer);cdecl ;external IRR_DLL;
Code: Select all
function IRRBegin(primitiveType:E_PRIMITIVE_TYPE ):boolean;cdecl ;external IRR_DLL;
procedure IRRVertex3f(x,y,z:single);cdecl ;external IRR_DLL;
procedure IRRNormal3f(x,y,z:single);cdecl ;external IRR_DLL;
procedure IRRTexCoord2f(tu,tv:single);cdecl ;external IRR_DLL;
procedure IRRColor3f(r,g,b:single);cdecl ;external IRR_DLL;
procedure IRRColor4f(a,r,g,b:single);cdecl ;external IRR_DLL;
procedure IRRColor4i(a,r,g,b:integer);cdecl ;external IRR_DLL;
procedure IRRColor3i(r,g,b:integer);cdecl ;external IRR_DLL;
function IRREnd():boolean;cdecl ;external IRR_DLL;
Code: Select all
procedure IRRApplyMatrix;cdecl ;external IRR_DLL;
procedure IRRLoadIdentity;cdecl ;external IRR_DLL;
procedure IRRTranslatef(x,y,z:single);cdecl ;external IRR_DLL;
procedure IRRRotatef(a,x,y,z:single);cdecl ;external IRR_DLL;
procedure IRRScalef(x,y,z:single);cdecl ;external IRR_DLL;
function IRRPushMatrix:boolean;cdecl ;external IRR_DLL;
function IRRPopMatrix:boolean;cdecl ;external IRR_DLL;
(i'm working on this)
Code: Select all
function Body_Create:IBody;cdecl ;external IRR_Dll;
procedure Body_Free(body:IBody);cdecl ;external IRR_Dll;
procedure Body_Update(body:IBody ;time:single);cdecl ;external IRR_Dll;
procedure Body_SetCanSleep(body:IBody ;value:boolean);cdecl ;external IRR_Dll;
procedure Body_SetAwake(body:IBody );cdecl ;external IRR_Dll;
procedure Body_GetTransform(body:IBody;matrix:PCmatrix4);cdecl ;external IRR_Dll;
procedure Body_GetTransformArray(body:IBody;matrix:PCmatrix4);cdecl ;external IRR_Dll;
procedure Body_ClearAccumulators(body:IBody );cdecl ;external IRR_Dll;
procedure Body_CalculateDerivedData(body:IBody );cdecl ;external IRR_Dll;
procedure Body_SetBlockInertiaTensor(body:IBody;halfSizes:ivec3;mass:single);cdecl ;external IRR_Dll;
procedure Body_SetInertiaTensorCoeffs(body:IBody;halfSizes:ivec3);cdecl ;external IRR_Dll;
function Body_GetRealVelocity(body:IBody):single;cdecl ;external IRR_Dll;
procedure Body_SetOrientation(body:IBody;r,i,j,k:single);cdecl ;external IRR_Dll;
procedure Body_AddForceAtBodyPoint(body:IBody; force,point:ivec3);cdecl ;external IRR_Dll;
procedure Body_AddForceAtPoint(body:IBody;force,point:ivec3);cdecl ;external IRR_Dll;
function Body_GetTransformDirection(body:IBody;x,y,z:single):ivec3;cdecl ;external IRR_Dll;
function Body_GetDirectionInWorldSpace(body:IBody;x,y,z:single):ivec3;cdecl ;external IRR_Dll;
function Body_GetDirectionInLocalSpace(body:IBody;x,y,z:single):ivec3;cdecl ;external IRR_Dll;
function Body_GetPointInWorldSpace(body:IBody;x,y,z:single):ivec3;cdecl ;external IRR_Dll;
function Body_GetPointInLoaclSpace(body:IBody;x,y,z:single):ivec3;cdecl ;external IRR_Dll;
procedure Body_SetAngularDamping(body:IBody ;value:single);cdecl ;external IRR_Dll;
procedure Body_SetDamping(body:IBody;linearDamping,angularDamping:single);cdecl ;external IRR_Dll;
procedure Body_AddTorque(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_SetLinearDamping(body:IBody;value:single);cdecl ;external IRR_Dll;
procedure Body_SetVelocity(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_SetAcceleration(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_SetPosition(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_AddForce(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_SetMass(body:IBody;mass:single);cdecl ;external IRR_Dll;
procedure Body_AddRotation(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_SetRotation(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
procedure Body_AddVelocity(body:IBody;x,y,z:single);cdecl ;external IRR_Dll;
function Body_GetRotation(body:IBody ):ivec3;cdecl ;external IRR_Dll;
function Body_GetRealRotation(body:IBody ):ivec3;cdecl ;external IRR_Dll;
function Body_GetPosition(body:IBody ):ivec3;cdecl ;external IRR_Dll;
function Body_GetPositionX(body:IBody ):single;cdecl ;external IRR_Dll;
function Body_GetPositionY(body:IBody ):single;cdecl ;external IRR_Dll;
function Body_GetPositionZ(body:IBody ):single;cdecl ;external IRR_Dll;
function Body_GetVelocity(body:IBody ):ivec3;cdecl ;external IRR_Dll;
function Body_GetAcceleration(body:IBody ):ivec3;cdecl ;external IRR_Dll;
///colider
procedure Geom_Calculate(Geom:IGeom);cdecl ;external IRR_Dll;
procedure Geom_Free(Sphere:IGeom);cdecl ;external IRR_Dll;
function Geom_CreateSphere(radius:single):IGeom;cdecl ;external IRR_Dll;
function Geom_CreatePlane(NormalX,NormalY,NoarmalZ, distance:single):IGeom;cdecl ;external IRR_Dll;
function Geom_CreateBox( SizeX, SizeY, SizeZ:single):IGeom;cdecl ;external IRR_Dll;
procedure Geom_SetBody(Geom:IGeom;Body:IBody);cdecl ;external IRR_Dll;
function Geom_BoxHitPlane(Box,Plane:IGeom):boolean;cdecl ;external IRR_Dll;
function Geom_BoxHitBox(One,Two:IGeom):boolean;cdecl ;external IRR_Dll;
function Geom_BoxHitSphere(One,Sphere:IGeom):boolean;cdecl ;external IRR_Dll;
function Geom_SphereHitPlane(Sphere,Plane:IGeom):boolean;cdecl ;external IRR_Dll;
function Geom_SphereHitSpher(Sphere,Two:IGeom):boolean;cdecl ;external IRR_Dll;
function Geom_SphereHitTruePlane(Sphere,Plane:IGeom):boolean;cdecl ;external IRR_Dll;
function Geom_SphereHitFloor(Sphere:IGeom;y:single=0):boolean;cdecl ;external IRR_Dll;
function Geom_BoxHitFloor(Box:IGeom;y:single=0):boolean;cdecl ;external IRR_Dll;
Code: Select all
//particles
function Atom_Create():IAtom;cdecl ;external IRR_Dll;
procedure Atom_Free(Particle:IAtom);cdecl ;external IRR_Dll;
procedure Atom_SetVelocity(Particle:IAtom;x,y,z:single);cdecl ;external IRR_Dll;
procedure Atom_SetAcceleration(Particle:IAtom;x,y,z:single);cdecl ;external IRR_Dll;
procedure Atom_SetPosition(Particle:IAtom;x,y,z:single);cdecl ;external IRR_Dll;
procedure Atom_AddForce(Particle:IAtom;x,y,z:single);cdecl ;external IRR_Dll;
procedure Atom_SetMass(Particle:IAtom;mass:single);cdecl ;external IRR_Dll;
procedure Atom_SetDamping(Particle:IAtom;damping:single);cdecl ;external IRR_Dll;
procedure Atom_ClearAccumulator(Particle:IAtom);cdecl ;external IRR_Dll;
procedure Atom_Update(Particle:IAtom;time:single);cdecl ;external IRR_Dll;
function Atom_GetPosition(Particle:IAtom):ivec3;cdecl ;external IRR_Dll;
function Atom_GetVelocity(Particle:IAtom):ivec3;cdecl ;external IRR_Dll;
function Atom_GetAcceleration(Particle:IAtom):ivec3;cdecl ;external IRR_Dll;
function Atom_GetPositionX(Particle:IAtom):single;cdecl ;external IRR_Dll;
function Atom_GetPositionY(Particle:IAtom):single;cdecl ;external IRR_Dll;
function Atom_GetPositionZ(Particle:IAtom):single;cdecl ;external IRR_Dll;
ps: terrain on irrlicht 1.5 have same problems and vbo's