Quote Originally Posted by detvog
djoker

can you make a update with proc/func that i
can prog 'render to texture' ? :roll:



in irrlicht is 'driver->createRenderTargetTexture....'
driver->setRenderTarget.....



[pascal]

program render2texture;

{$APPTYPE CONSOLE}

uses
SysUtils,dialogs,
IRRLICHT in 'IRRLICHT.pas';



var
but0,but:IGUI;
font:IFont;
texture:ITexture;
fixedCam,fairy,cube,fpscamera:ISceneNode;
mesh:IAnimatedMesh;
rot:IAnimator;

finished:boolean=false;
EEvents:TEngineEvents;

Save8087CW: Word;



begin

Save8087CW := Get8087CW;
Set8087CW($133F);

Device_Init(EDT_DIRECT3D9,640,480,16,false,false,f alse);
Render_SetResizeAble(true);
Device_SetWindowCaption('IRRLICHT 4 Delphi');
Render_SetDebug(true,true);
Device_SetCursorVisible(true);






fpscamera:=Scene_AddFPSCamera;
Node_SetPosition(fpscamera,-50,50,-150);

mesh:=Scene_AddMesh('../../media/faerie.md2');
fairy:=Scene_AddNodFromMesh(mesh,vect(-10,0,-100),ZEROVECT,ADDVECT);
Node_SetMaterialTexture(fairy,0, '../../media/faerie2.bmp');
Anim_SetMD2Animation(fairy,EMAT_STAND);


rot:=Scene_CreateRotationAnimator(vect(0.3,0.3,0)) ;
cube:=Scene_AddCube(60,vect(-100,0,-100),ZEROVECT,ADDVECT);
Node_AddAnimator(cube,rot);
Node_SetMaterialFlag(cube,EMF_LIGHTING,false);

Scene_AddLight(100,vect(-15,5,-105),color(255,255,255,255));
Scene_SetAmbientLight(color(0,60,60,60));


texture:=Texture_CreateRenderTargetTexture(256,256 );
Node_SetMaterialTextureEx(cube,0,texture);
fixedCam:=Scene_AddCamera(10,10,-80,-10,10,-100);


while (Device_Run) and (not finished) do
begin
Device_GetEvents(EEvents);


Render_BeginScene(true,true,0,0,0);

Render_SetRenderTarge(texture,color(0,0,0,255));

Node_SetVisible(cube,false);
Scene_SetActiveCamera(fixedCam);



Scene_DrawAll;

Render_SetRenderTarge(nil,CBlack);
Node_SetVisible(cube,true);
Scene_SetActiveCamera(fpscamera);

Scene_DrawAll;

Render_EndScene;


if EEvents.loopKeyInput.Key=27 then finished:=true;
end;
Texture_Free(texture);
Device_Stop;

Set8087CW(Save8087CW);

end.
[/pascal]