Irrlicht wrapper with IrrLicht 1.5 ...
main features :
て「High performance realtime 3D rendering using Direct3D and OpenGL [more]
て「Platform independent. Runs on Windows95, 98, NT, 2000, XP, Linux, OSX, Solaris, and others.[more]
て「Huge built-in and extensible material library with vertex and pixel shader support [more].
て「Seamless indoor and outdoor mixing through highly customizeable scene management. [more]
て「Character animation system with skeletal and morph target animation. [more]
て「Particle effects, billboards, light maps, environment mapping, stencil buffer shadows, and lots of other special effects. [more]
て「.NET language binding which makes the engine available to all .NET languages like C#, VisualBasic, and Delphi.NET.
て「Two platform and driver independent fast software renderers included. They have different properties (speed vs. quality) and feature everything needed: perspective correct texture mapping, bilinear filtering, sub pixel correctness, z-buffer, gouraud shading, alpha-blending and transparency, fast 2D drawing, and more.
て「Powerful, customizeable, and easy to use 2D GUI System with Buttons, Lists, Edit boxes, ...
て「2D drawing functions like alpha blending, color key based blitting, font drawing, and mixing 3D with 2D graphics.
て「Clean, easy to understand, and well documented API with lots of examples and tutorials.
て「Written in pure C++ and totally object oriented.
て「Direct import of common mesh file formats: Maya (.obj), 3DStudio (.3ds), COLLADA (.dae), Blitz3D (.b3d), Milkshape (.ms3d), Quake 3 levels (.bsp), Quake2 models (.md2), Microsoft DirectX (.X)... [more]
て「Direct import of Textures: Windows Bitmap (.bmp), Portable Network Graphics (.png), Adobe Photoshop (.psd), JPEG File Interchange Format (.jpg), Truevision Targa (.tga), ZSoft Painbrush (.pcx)... [more]
て「Fast and easy collision detection and response.
て「Optimized fast 3D math and container template libraries.
て「Directly reading from (compressed) archives. (.zip, .pak, .pk3)
て「Integrated fast XML parser.
て「Unicode support for easy localisation.
て「Works with Microsoft VisualStudio 7.0-9.0び「, Metrowerks Codewarrior, Bloodshed Dev-C++, Code::Blocks, XCode, and gcc 3.x-4.x.
て「The engine is open source and totally free. You can debug it, fix bugs and even change things you do not like. And you do not have to publish your changes: The engine is licensed under the zlib licence, not the GPL or the LGPL.
Irrlicht 1.5 new
て「Vertex Buffer Objects, i.e. storing meshes on the GPU
て「Joystick support on all platforms
て「Added support for collada 1.4 and LWO files
て「32bit indices for large meshes
て「Added an .obj writer
て「Improved software rasterizer (burning video)
て「Improvements for dynamic lights, particle systems, LMTS, PNG and PCX loading and writing
て「Added FSAA for OpenGL
て「OGRE .mesh loader improvements
て「Nicer and faster terrain rendering
て「Volume lights
て「Various improvements for the WindowsCE port
て「Shared depth buffers for RTT in D3D
て「Added a font creation tool for Linux
SDK Download
delphi new features
Node with coldet colission .
Code:
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;
direct render mode (OpenGL Style)
Code:
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;
Matrix
Code:
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;
Node with simples physics,collide and response
(i'm working on this)
Code:
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;
Particles with simples physics,collide and response
Code:
//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 :cry:
Bookmarks