Welcome, Guest. Please login or register.
Login with username, password and session length

 
Advanced search
50031 Posts in 5863 Topics- by 2104 Members - Latest Member: MoRR1S
 
Pages: [1] 2 3 ... 7
Print
Author Topic: Irr4Delphi (update - 18/12/08) Irrlicht with vBO's    (Read 9750 times)
djoker
phpBB 6-Bit Knight
*
Posts: 110



View Profile WWW Email
« 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 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:
Logged

Never underestimate the power of Delphi.
There's those who play games,...and then there's who make games...
arthurprs
Kilobyte Conqueror
***
Posts: 899



View Profile
« Reply #1 on: March 01, 2008, 07:55:25 PM »

the header is complete?
Logged

From brazil

Pascal pownz!
Brainer
Byte Master
**
Posts: 463


Helpful noob

patrick.nusbaum@gmail.com
View Profile WWW Email
« Reply #2 on: March 01, 2008, 11:33:50 PM »

Looks good! Laugh But where to get the DLL?
Logged

djoker
phpBB 6-Bit Knight
*
Posts: 110



View Profile WWW Email
« Reply #3 on: March 02, 2008, 02:00:52 AM »

Quote from: "arthurprs"
the header is complete?


ei cara Wink


ja falta pouco mas podes testar
http://www.megafileupload.com/en/file/47260/irrlicht-rar.html
Logged

Never underestimate the power of Delphi.
There's those who play games,...and then there's who make games...
djoker
phpBB 6-Bit Knight
*
Posts: 110



View Profile WWW Email
« Reply #4 on: March 02, 2008, 04:16:33 AM »

new demo

shadows,reflection,particles,mesh,water and light





Code: Pascal

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
Byte Master
**
Posts: 463


Helpful noob

patrick.nusbaum@gmail.com
View Profile WWW Email
« 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
phpBB 6-Bit Knight
*
Posts: 110



View Profile WWW Email
« Reply #6 on: March 02, 2008, 05:51:33 AM »

Quote from: "Brainer"
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
Byte Master
**
Posts: 463


Helpful noob

patrick.nusbaum@gmail.com
View Profile WWW Email
« Reply #7 on: March 02, 2008, 06:13:47 AM »

Ah, I see. I just copied the DLL from this directory to another one. Smiley
Anyway, looks very good! Laugh Keep up the great work. Smiley I hope Irrlicht will support DX10 soon. Smiley
Logged

pstudio
Byte Master
**
Posts: 356


pstudio.tk@gmail.com
View Profile
« 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 Laugh
Logged

Follow my Computer Science Bachelor project about Surface Computing on my blog: http://lehim.blogspot.com/

Let me teach you the ways of fighting like a true Brute. Join http://pstudio.mybrute.com It takes literally 5 minutes a day to play, but still quite fun.
detvog
5-Bit Warrior
*
Posts: 56



View Profile WWW Email
« Reply #9 on: March 04, 2008, 03:16:58 AM »

..but the last sample do not work

Par_SetParticleSize();
Par_AddBoxEmitter()      :?:
Logged
chronozphere
Megabyte Mage
***
Posts: 1087


View Profile
« Reply #10 on: March 04, 2008, 05:20:14 AM »

Good Job. I'll also take a look at the samples. Smiley

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. Smiley
Logged

Coders rule nr 1: Face ur bugz.. dont cage them with code, kill'em with ur cursor. Smiley
djoker
phpBB 6-Bit Knight
*
Posts: 110



View Profile WWW Email
« Reply #11 on: March 05, 2008, 02:29:42 PM »

Quote from: "detvog"
..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);




Code:

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
5-Bit Warrior
*
Posts: 56



View Profile WWW Email
« 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
phpBB 6-Bit Knight
*
Posts: 110



View Profile WWW Email
« Reply #13 on: March 06, 2008, 03:47:13 PM »

Quote from: "detvog"
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
5-Bit Warrior
*
Posts: 56



View Profile WWW Email
« Reply #14 on: March 07, 2008, 12:42:41 AM »

Ahhh...i am not blind, great.  :wink:

Thanks for the new download. Laugh
I like your wrapper.  :lol:
Logged
Pages: [1] 2 3 ... 7
Print
Jump to: