|
djoker
|
 |
« on: March 01, 2008, 06:39:00 PM » |
|
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 Downloaddelphi new features Node with coldet colission . 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) 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
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) 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 //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:
|
|
|
|
|
Logged
|
Never underestimate the power of Delphi. There's those who play games,...and then there's who make games...
|
|
|
|
arthurprs
|
 |
« Reply #1 on: March 01, 2008, 07:55:25 PM » |
|
the header is complete?
|
|
|
|
|
Logged
|
From brazil
Pascal pownz!
|
|
|
|
Brainer
|
 |
« Reply #2 on: March 01, 2008, 11:33:50 PM » |
|
Looks good!  But where to get the DLL?
|
|
|
|
|
Logged
|
|
|
|
|
|
|
djoker
|
 |
« Reply #4 on: March 02, 2008, 04:16:33 AM » |
|
new demo shadows,reflection,particles,mesh,water and light   program SkyBoxeAndMeshFxS;
uses SysUtils, IRRLICHT in 'IRRLICHT.pas';
var
font:IFont; texture:ITexture; ps,model,bill,Light,water,room,camera:ISceneNode; meshhil,mesh,meshmodel:IAnimatedMesh; anim:IAnimator;
finished:boolean=false; EEvents:TEngineEvents;
Save8087CW: Word;
begin
Save8087CW := Get8087CW; Set8087CW($133F);
Device_Init(EDT_DIRECT3D9,800,600,16,false,true,true); Render_SetResizeAble(true); Device_SetWindowCaption('IRRLICHT 4 Delphi'); Render_SetDebug(true,true); Device_SetCursorVisible(true);
font:=Font_Load('../../media/fonthaettenschweiler.bmp');
texture:=Texture_Load('../../media/irrlichtlogo.BMP');
camera:=Scene_AddFPSCamera; Node_SetPosition(camera,80,80,-600); Scene_AddSkyBox( '../../media/irrlicht2_up.jpg', '../../media/irrlicht2_dn.jpg', '../../media/irrlicht2_lf.jpg', '../../media/irrlicht2_rt.jpg', '../../media/irrlicht2_ft.jpg', '../../media/irrlicht2_bk.jpg');
mesh:=Scene_AddMesh('../../media/room.3ds'); Mesh_MakePlanarTextureMapping(mesh,0.008); room:=Scene_AddOctTreeSceneNode(mesh); Node_SetMaterialTexture(room,0,'../../media/wall.jpg'); Node_SetSpecularColor(room,Color(0,0,0,0),0);
meshhil:=Scene_AddHillPlaneMesh( 'myHill',20,20,40,40,0,4,4,10,10); water:=Scene_AddWaterSurface(meshhil,vect(0,7,0),ZEROVECT,ADDVECT,3.0,300.0,30.0); Node_SetMaterialTexture(water,0,'../../media/stones.jpg'); Node_SetMaterialTexture(water,1,'../../media/water.jpg'); Node_SetMaterialType(water,EMT_REFLECTION_2_LAYER);
Light:=Scene_AddLight(1200.0,ZEROVECT,color(256,256,200,255)); anim:=Scene_CreateFlyCircleAnimator(vect(0,150,0),vect(0,1,0),250,0.001); Node_AddAnimator(light,anim);
bill:=Scene_AddBillboard(50,50,ZEROVECT,CWHITE,light); Node_SetMaterialTexture(bill,0,'../../media/particlewhite.bmp'); Node_SetMaterialFlag(bill,EMF_LIGHTING,false); Node_SetMaterialType(bill,EMT_TRANSPARENT_ADD_COLOR);
meshmodel:=Scene_AddMesh('../../media/dwarf.x'); model:=Scene_AddNodFromMesh(meshmodel,vect(-120,-10,-140),ZEROVECT,vect(2,2,2)); Anim_SetAnimationSpeed(model,150); Node_SetMaterialFlag(model,EMF_NORMALIZE_NORMALS,true); Node_AddShadowVolume(model); Scene_SetShadowColor(color(150,0,0,0)); Node_AddShadowVolume(model);
ps:=Scene_AddParticleSystem(vect(-70,60,40),ZEROVECT,vect(2,2,2),false);
Par_SetParticleSize(ps,20,20);
Par_AddBoxEmitter(ps,-7,0,-7,7,1,7,vect(0,0.06,0),
color(0,255,255,255),
color(0,255,255,255),80,100,800,2000);
Par_AddFadeOutParticleAffector(ps);
Node_SetMaterialTexture(ps,0,'../../media/fire.bmp');
Node_SetMaterialFlag(ps,EMF_LIGHTING,false); Node_SetMaterialFlag(ps,EMF_ZWRITE_ENABLE,false); Node_SetMaterialType(ps,EMT_TRANSPARENT_VERTEX_ALPHA);
while (Device_Run) and (not finished) do begin Device_GetEvents(EEvents);
Render_BeginScene(true,true,0,0,0); Scene_DrawAll; Texture_DrawD2ImageColor(texture,800-89,600-32,0,0,88,31,color(255,255,255,255),false); Render_EndScene;
if EEvents.loopKeyInput.Key=27 then finished:=true; end;
Device_Stop; Set8087CW(Save8087CW);
end.
|
|
|
|
|
Logged
|
Never underestimate the power of Delphi. There's those who play games,...and then there's who make games...
|
|
|
|
Brainer
|
 |
« Reply #5 on: March 02, 2008, 05:16:08 AM » |
|
I'd really love to test it, but I can't because it can't find an entry point in my Irrlicht.dll. I've got the latest one (I suppose so); I downloaded it from official website with the latest SDK.
Can you send me your DLL?
|
|
|
|
|
Logged
|
|
|
|
|
djoker
|
 |
« Reply #6 on: March 02, 2008, 05:51:33 AM » |
|
I'd really love to test it, but I can't because it can't find an entry point in my Irrlicht.dll. I've got the latest one (I suppose so); I downloaded it from official website with the latest SDK.
Can you send me your DLL? put all files in root -> irrlicht-1.4\bin\Win32-VisualStudio
|
|
|
|
|
Logged
|
Never underestimate the power of Delphi. There's those who play games,...and then there's who make games...
|
|
|
|
Brainer
|
 |
« Reply #7 on: March 02, 2008, 06:13:47 AM » |
|
Ah, I see. I just copied the DLL from this directory to another one.  Anyway, looks very good!  Keep up the great work.  I hope Irrlicht will support DX10 soon. 
|
|
|
|
|
Logged
|
|
|
|
|
pstudio
|
 |
« Reply #8 on: March 03, 2008, 09:27:07 AM » |
|
Interesting. I'll take a closer look at it when I get home. I'll be great to use Irrlicht with Delphi 
|
|
|
|
|
Logged
|
|
|
|
|
detvog
|
 |
« Reply #9 on: March 04, 2008, 03:16:58 AM » |
|
..but the last sample do not work
Par_SetParticleSize(); Par_AddBoxEmitter() :?:
|
|
|
|
|
Logged
|
|
|
|
|
chronozphere
|
 |
« Reply #10 on: March 04, 2008, 05:20:14 AM » |
|
Good Job. I'll also take a look at the samples.  Thanx for posting the header file. I alway's take a look at headers for game engines. It inspires me alot, so i can improve my own engine API. 
|
|
|
|
|
Logged
|
Coders rule nr 1: Face ur bugz.. dont cage them with code, kill'em with ur cursor. 
|
|
|
|
djoker
|
 |
« Reply #11 on: March 05, 2008, 02:29:42 PM » |
|
..but the last sample do not work
Par_SetParticleSize(); Par_AddBoxEmitter() :?: yes dude i have 1 demo  ps:=Scene_AddParticleSystem(vect(-70,60,40),ZEROVECT,vect(2,2,2),false,model); Par_SetParticleSize(ps,20,20); Par_AddBoxEmitter(ps,-7,0,-7,7,1,7,vect(0,0.06,0),color(0,255,255,255),color(0,255,255,255),80,100,800,2000); program particles;
uses SysUtils, IRRLICHT in 'IRRLICHT.pas';
var
font:IFont; texture:ITexture; ps,model,bill,Light,water,room,camera:ISceneNode; meshhil,mesh,meshmodel:IAnimatedMesh; anim:IAnimator;
finished:boolean=false; EEvents:TEngineEvents;
Save8087CW: Word;
begin
Save8087CW := Get8087CW; Set8087CW($133F);
Device_Init(EDT_DIRECT3D9,800,600,16,false,true,true); Render_SetResizeAble(true); Device_SetWindowCaption('IRRLICHT 4 Delphi'); Render_SetDebug(true,true); Device_SetCursorVisible(true);
font:=Font_Load('../../media/fonthaettenschweiler.bmp');
texture:=Texture_Load('../../media/irrlichtlogo.BMP');
camera:=Scene_AddFPSCamera; Node_SetPosition(camera,80,80,-600); Scene_AddSkyBox( '../../media/irrlicht2_up.jpg', '../../media/irrlicht2_dn.jpg', '../../media/irrlicht2_lf.jpg', '../../media/irrlicht2_rt.jpg', '../../media/irrlicht2_ft.jpg', '../../media/irrlicht2_bk.jpg');
mesh:=Scene_AddMesh('../../media/room.3ds'); Mesh_MakePlanarTextureMapping(mesh,0.008); room:=Scene_AddOctTreeSceneNode(mesh); Node_SetMaterialTexture(room,0,'../../media/wall.jpg'); Node_SetSpecularColor(room,Color(0,0,0,0),0);
meshhil:=Scene_AddHillPlaneMesh( 'myHill',20,20,40,40,0,4,4,10,10); water:=Scene_AddWaterSurface(meshhil,vect(0,7,0),ZEROVECT,ADDVECT,3.0,300.0,30.0); Node_SetMaterialTexture(water,0,'../../media/stones.jpg'); Node_SetMaterialTexture(water,1,'../../media/water.jpg'); Node_SetMaterialType(water,EMT_REFLECTION_2_LAYER);
Light:=Scene_AddLight(1200.0,ZEROVECT,color(256,256,200,255)); anim:=Scene_CreateFlyCircleAnimator(vect(0,150,0),vect(0,1,0),250,0.001); Node_AddAnimator(light,anim);
bill:=Scene_AddBillboard(50,50,ZEROVECT,CWHITE,light); Node_SetMaterialTexture(bill,0,'../../media/particlewhite.bmp'); Node_SetMaterialFlag(bill,EMF_LIGHTING,false); Node_SetMaterialType(bill,EMT_TRANSPARENT_ADD_COLOR);
meshmodel:=Scene_AddMesh('../../media/dwarf.x'); model:=Scene_AddNodFromMesh(meshmodel,vect(-120,-10,-140),ZEROVECT,vect(2,2,2)); Anim_SetAnimationSpeed(model,150); Node_SetMaterialFlag(model,EMF_NORMALIZE_NORMALS,true); Node_AddShadowVolume(model); Scene_SetShadowColor(color(150,0,0,0)); Node_AddShadowVolume(model);
//ps:=Scene_AddParticleSystem(vect(-70,60,40),ZEROVECT,vect(2,2,2),false,model);
ps:=Scene_AddParticleSystem(vect(0,0,0),ZEROVECT,vect(1,1,1),false,model);
Par_SetParticleSize(ps,20,20);
{Par_AddBoxEmitter(ps,-7,0,-7,7,1,7,vect(0,0.06,0),
color(0,255,255,255),
color(0,255,255,255),80,100,800,2000);
}
Par_AddAnimatedMeshEmitter(ps,model,ZEROVECT,color(0,255,255,255),color(0,255,255,255));
//Par_AddCylinderEmitter(ps,ZEROVECT,20,vect(0,0,0),2,vect(0,0.03,0),color(0,255,255,255),color(0,255,255,255));
//Par_AddPointEmitter(ps,vect(0,0.03,0),color(0,255,255,255),color(0,255,255,255));
//Par_AddRingEmitter(ps,vect(0,0,0),2,2,vect(0,0.03,0),color(0,255,255,255),color(0,255,255,255));
//Par_AddSphereEmitter(ps,vect(0,0,0),6,vect(0,0.03,0),color(0,255,255,255),color(0,255,255,255));
//Par_AddFadeOutParticleAffector(ps);
//Par_AddAttractionParticleAffector(ps,vect(100,10,0),100,true,false,true,false);
//Par_AddGravityAffector(ps,vect(0,0.03,0));
Par_AddRotationAffector(ps,vect(5.0,5.0,5.0),vect(0,0,0));
Node_SetMaterialTexture(ps,0,'../../media/fire.bmp');
Node_SetMaterialFlag(ps,EMF_LIGHTING,false); Node_SetMaterialFlag(ps,EMF_ZWRITE_ENABLE,false); Node_SetMaterialType(ps,EMT_TRANSPARENT_VERTEX_ALPHA);
Scene_AddRealisticWater('../../media/waterbump.dds',
while (Device_Run) and (not finished) do begin Device_GetEvents(EEvents);
Render_BeginScene(true,true,0,0,0); Scene_DrawAll; Texture_DrawD2ImageColor(texture,800-89,600-32,0,0,88,31,color(255,255,255,255),false); Render_EndScene;
if EEvents.loopKeyInput.Key=27 then finished:=true; end;
Device_Stop; Set8087CW(Save8087CW);
end.
|
|
|
|
|
Logged
|
Never underestimate the power of Delphi. There's those who play games,...and then there's who make games...
|
|
|
|
detvog
|
 |
« Reply #12 on: March 06, 2008, 01:14:45 AM » |
|
Hmmm...
do have a new wrapper-version.
I do not found Par_SetParticleSize() ect. in your wrapper ?
Maybe i am blind ?
|
|
|
|
|
Logged
|
|
|
|
|
djoker
|
 |
« Reply #13 on: March 06, 2008, 03:47:13 PM » |
|
Hmmm...
do have a new wrapper-version.
I do not found Par_SetParticleSize() ect. in your wrapper ?
Maybe i am blind ? mi bad :oops: look the new download
|
|
|
|
|
Logged
|
Never underestimate the power of Delphi. There's those who play games,...and then there's who make games...
|
|
|
|
detvog
|
 |
« Reply #14 on: March 07, 2008, 12:42:41 AM » |
|
Ahhh...i am not blind, great. :wink: Thanks for the new download. I like your wrapper. :lol:
|
|
|
|
|
Logged
|
|
|
|
|