Started IrrilichtBB
Blitz3D Forums/Blitz3D Userlibs/Started IrrilichtBB
| ||
Hello all, Just thought I'd post about it! I recently started IrrilichtBB about 2 days ago. IrrilichtBB is a wrapper for the Irrilicht Software Rendering Engine in C++ to Blitz. I currently know it works for Blitz3D and I am looking for people with BlitzPlus to see if it works for it too. :) Gimme a hollar if you want to help. Here is a screenshot so far. ![]() Large View The command set looks like this so far. I am trying to keep some of the Irrilicht names of the commands, while also adding the simplicity of the Blitz Commands. Irr_BeginScene%(ClearBackBuffer%,ClearZBuffer%,irr_Color) Irr_CreateDevice%(Width%,Height%,Depth%,Fullscreen%,Stencil%,VSync%) Irr_ShadowsColors%(irr_Color%) Irr_AppTitle%(title$) Irr_ShowPointer%() Irr_HidePointer%() Irr_IsRunning%() Irr_DestroyDevice%() Irr_EndScene%() Irr_RenderWorld%() Irr_GetFPS%() Irr_CreateFPSCamera%() Irr_LoadMesh%(filename$) Irr_CreateNode%(mesh%) Irr_PositionNode%(node%,x#,y#,z#) Irr_SetAnimationSpeed(node%,framesPerSecond%) Irr_entitytexture%(node%,filename$) Irr_SetAnimationLoop%(node%,firstframe%,lastframe%) The link for the Worklog is located here: http://www.blitzbasic.com/logs/userlog.php?user=7716&log=445 |
| ||
Very nice Idea since Blitz3D was always limited to hardware 3D (although these days a machine without hardware 3D is usually pretty old and slow anyway, nevertheless, a nice project). This could be used for some kind of Blitz Reducted Instruction Set Convention (BRISC) that allows only the Blitz3D Commands that have a counterpart in Irrlicht, so you can compile the source for both, soft and hardware rendering. |
| ||
This is the second or third wrapper for Irrlicht I heard off. |
| ||
The only ones I know of are: -Sweenie's Wrapper - Mostly for BMax -My Wrapper - For B3D or B+ (Maybe B+..still need testing) |
| ||
I just realized how powerful Irrilicht is :) Good luck with that! I can test/make examples (yes, I actually can make demo programs. Just never try)/whatever if you ever want help... |
| ||
i can help with that if you need help but only if the internals are done good. i would surely like to see those underscores removed. |
| ||
Mr. Picklesworth: // Clarks: Thanks! Here is a decls file you can replace yours with. No underscores. :) ;Irrilicht BB Decls File for The Blitz3D Development Package;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;_________ ;;;;;;;;;;;;;;;;;;;;;;;\__ ___\ \------\ \------\ ;IrrilichtBB Library ; \ \ \ \\ \ \ \\ \ I B B ;By TheDuck ; \ \ \ \ \ \ IrrilichtBB - The Ultimate 3D Software Rendering Engine Wrapper ;Duck Enterprises 2005; ___\ \___ \ \\ \ \ \\ \ Using DevC++ and The Irrilicht Engine .lib "irrilichtbb.dll"; \_________\ \_____/ \_____/ D U C K E N T E R P R I S E S 2 0 0 5 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; ;;Current Version of IrilichtBB: v.0.1a;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; ;;;; ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;; ;; ;Using Irrilicht 0.8; ;; ;;;;;;;;;;;;;;;;;;;;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;Compiled Under DevC++; ;; ;;;;;;;;;;;;;;;;;;;;;;; ;; ;;;;;;;;;;;;;;;;;;;;;; ;Using DevC++ 4.9.9.2; ;;;;;;;;;;;;;;;;;;;;;; ;Irrilicht Begin/Init/Setup Functions IrrBeginScene%(ClearBackBuffer%,ClearZBuffer%,IrrColor):"BeginScene@12" IrrCreateDevice%(Width%,Height%,Depth%,Fullscreen%,Stencil%,VSync%):"CreateDevice@24" IrrShadowsColors%(IrrColor%):"ShadowColors@4" IrrAppTitle%(title$):"WindowTitle@4" ; ;Irrilicht Mouse Functions IrrShowPointer%():"ShowMouseCursor@0" IrrHidePointer%():"HideMouseCursor@0" ; ;Irrilicht Runtime Functions IrrIsRunning%():"IsRunning@0" ; ;Irrilicht Killing Functions IrrDestroyDevice%():"DropDevice@0" IrrEndScene%():"EndScene@0" ; ;Irrilicht Drawing/Rendering Functions IrrRenderWorld%():"drawAll3d@0" ; ;Irrilicht Misc Functions IrrGetFPS%():"GetFramesPerSecond@0" ; ;Irrilicht Camera Functions IrrCreateFPSCamera%():"AddFPSControls@0" IrrCreateCamera%(x#,y#,z#,pointAtx#,pointAty#,pointAtz#):"CreateCamera@24" ; ;Irrilicht Mesh Functions IrrLoadMesh%(filename$):"Load3DMesh@4" IrrCreateNode%(mesh%):"addnodeformesh@4" IrrPositionNode%(node%,x#,y#,z#):"setmeshnodeposition@16" IrrSetAnimationSpeed(node%,framesPerSecond%):"SetAnimationSpeed@8" Irrentitytexture%(node%,filename$):"SetTexture@8" IrrSetAnimationLoop%(node%,firstframe%,lastframe%):"SetFrameLoop@12" IrrSetNodeRotation%(node%,x%,y%,z%):"Irr_SetNodeRotation@16" ; ;Irrilicht Archive Files Adding IrrAddArchive%(filename$):"AddArchive@4" ; ;Irrilicht Particles IrrCreateParticle%(x#,y#,z#,scaleEmitterx#,scaleEmittery#,scaleEmitterz#,particleSizeX#,particleSizeY#,filename$,directionX#,directiony#,directionz#):"createparticle@48" ; ;Irrilicht Lights IrrCreateLight%(red%,green%,blue%,radius#):"createlightnode@16" |
| ||
I will probably sound like a besserwisser but it's spelled Irrlicht not Irrilicht. :) |
| ||
Excelent work, TheDuck. Will you be wrapping its UI? If it would be possible to use it on top of blitz' DX instance, it could have some amazing uses other than its already amazing rendering :) |
| ||
>> " I will probably sound like a besserwisser but it's spelled Irrlicht not Irrilicht. :)" Lol... I know; I noticed that after I posted every thing about it everywhere :P Cygnus: Wrapping UI = Yes! (Most likely) ^-^ And I'm not sure I understand your 2nd comment. Like make the Irrlicht stuff in the Blitz window and make it move using MoveEntity (ect)? |
| ||
Actually to replace DX in a blitz window requires the handle of the window but irrlicht creates its own window. So the only way is if irr can use the blitz window hwnd. |
| ||
Yeah - :'( I was wondering if there is any engine that doesn't make a new window, and so far no luck. :( |
| ||
Couldn't you force the Irrlicht window inside the Blitz window via blitz? If that's what's needed, I could deal with that in a matter of minutes :) |
| ||
mr. picklesworth-> hmmm, how would you do that. the duck-> what exactly do you need help with. |
| ||
Mr. Picklesworth: From your thingie a couple weeks back of putting the Blitz window in any other window? 0.o That'd be pretty cool! And it would take away all of the needed key pressing functions wrapping! Clarks: Uhmmmm... What? I didn't say I needed help on anything. Just said I was sad that I couldn't control Irrlicht in the Blitz window, and thats actually what I wanted in the first place. :'( Oh well... Good enough for me! ...Wait, I'm confused!!! And for all you people asking for me to wrap OGRE, I might give it a try, but it needs about 20 dlls (!!!) to be distributed with it! :P I might give it a go though. (If I can find the stupid stuff that makes it work with DevC++!! :/) |
| ||
to replace DX in a blitz window requires the handle of the window I'm not a DX Programmer, but if thats all thats required, then, well, WOW. thats even easier. I will have to learn one day! |
| ||
Okay, I can set up a simple embedder for the Irrlicht window. I'll just need a way of retrieving the Irrlicht window handle using the dll though... And a function contained in a .bb include. Good thing is, the embedding process would be totally optional. Or actually, I suppose an alternative could be that the wrapper could retrieve the blitz window handle and embed itself in the blitz window. That would still require a bit of extra work on the user's end though. |