Irrlicht Lime is a .NET wrapper for Irrlicht Engine

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

UpdateVerices() (either as UpdateIndices()) is a special (Lime's only) methods that allows you to modify existing vertices/indices. In native Irrlicht you can just use getVertices(), cast to proper type and use it as array to do what you want (without notifying actually mesh buffer). In Lime i cannot return you such native pointer, Lime does have Vertices and Indices properties -- but it is a copies of arrays. Modification requires to call UpdateVertices/Indices.

P.S.: for some more details you can read this post http://irrlicht.sourceforge.net/phpBB2/ ... 157#234157 (starting from "MeshBuffer class has been extended.")
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

Version 0.9 has been released

New examples:
23.MeshHandling // native example, demonstrates how to work with mesh buffers directly;
26.OcclusionQuery // native example, shows how to use occlusion queries in Irrlicht (you gfx driver must return true for driver.QueryFeature(VideoDriverFeature.OcclusionQuery) call);
L06.AnalogueClock // shows simple real time analogue clock with neonlike arrows; defines ClockNode class which is derived from SceneNode;
L07.FastStaticRendering // shows how to render geometry very fast using mesh buffers directly; allows to choose 16- or 32-bit mesh buffers to use;
L08.WPFWindow // shows how to use Lime in WPF application; it uses WindowsFormsHost control, so basically it implements WinForms UserControl and embeds it into WPF; i'm sure that it is possible some how to use direct3d natively, so it will be possible to draw for example dynamic background using irrlicht and draw on the top WPF controls (or complete alpha blend with WPF controls), but that requires not just HWND, but maybe some direct3d handle or device id; not sure about this for now;

Shots:
Image

Notes

~
Moved to VS2010. IrrlichtLime.dll assembly built with .NET Framework 4.0.

~
Fulfilled appropriate support of custom mesh creation and its manupulation. Now it is possible to create Mesh and MeshBuffer objects using their proper static methods Create(). MeshBuffer.Create() can create any vertices-typed mesh buffers with 16-bit and 32-bit indices. Additional overloadings for Append() and UpdateIndices() methods were added to support 32-bit mesh buffers. To add and remove buffers in mesh use AddMeshBuffer() and RemoveMeshBuffer() respectively. Please see 23.MeshHandling and L07.FastStaticRendering to see how to use all these features.

~
Made more handy some basic classes. Added more constructors and Set()s to AABBox. Added copy constructors to Line3Df, Triangle3Df, Plane3Df and Matrix. Added constructors with transition, rotation and scale vectors to Matrix. Added "==" and "!=" operators to Color/f. Added named colors as static props to Color.


Updated Irrlicht SDK to trunk rev. 3727
See changes.txt for full list of changes.
Revan1985
Posts: 89
Joined: Tue May 08, 2007 4:11 pm
Location: Italy

Post by Revan1985 »

i've found a little...
err...

bug.
there is no chance to derive a class from GUIElement.
the error is "GUIElement had no constructor defined".
How can i do to create new custom GUIElement?
CPU: AMD PHENOMII X6 1090T BE 3,2GHZ
RAM : OCZ 8GB 2*4GB DDR3 LOW VOLTAGE 1333
VGA: GeForce GTX680 2GB
HD : 500GB + 500GB + 2x1TB Raid Edition + 500GB External
Motherboard: ASUS CROSSHAIR FORMULA 4 890FX AM3
PSU: Corsair 750W
CPU Cooling: Katana 2
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

Revan1985 wrote:How can i do to create new custom GUIElement?
Sorry, but for now it is impossible to inherit IGUIElement.
Revan1985
Posts: 89
Joined: Tue May 08, 2007 4:11 pm
Location: Italy

Post by Revan1985 »

greenya wrote:
Revan1985 wrote:How can i do to create new custom GUIElement?
Sorry, but for now it is impossible to inherit IGUIElement.
there is a specific reason for this choice?
CPU: AMD PHENOMII X6 1090T BE 3,2GHZ
RAM : OCZ 8GB 2*4GB DDR3 LOW VOLTAGE 1333
VGA: GeForce GTX680 2GB
HD : 500GB + 500GB + 2x1TB Raid Edition + 500GB External
Motherboard: ASUS CROSSHAIR FORMULA 4 890FX AM3
PSU: Corsair 750W
CPU Cooling: Katana 2
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

Yes.
Because GUIElement is not the same as IGUIElement. First one is a managed class. It is not impossible, but not an easy task either. Look into SceneNode and check out how its done if you're interested.
LizardGamer
Posts: 83
Joined: Fri May 28, 2010 8:59 am
Location: Perth, Australia

Post by LizardGamer »

Can I use Mono with Lime? Because I really to make my projects cross platform
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

LizardGamer wrote:Can I use Mono with Lime? Because I really to make my projects cross platform
You can use Mono compile and run, but you will be able to run EXE only under Windows.
LizardGamer
Posts: 83
Joined: Fri May 28, 2010 8:59 am
Location: Perth, Australia

Post by LizardGamer »

greenya wrote:
LizardGamer wrote:Can I use Mono with Lime? Because I really to make my projects cross platform
You can use Mono compile and run, but you will be able to run EXE only under Windows.
So it will only work with Windows and no other os?
Revan1985
Posts: 89
Joined: Tue May 08, 2007 4:11 pm
Location: Italy

Post by Revan1985 »

with mono, you can compile for linux either.
you can use them everywhere.
I don't know if you need a linex package for linux or the exe run either....
CPU: AMD PHENOMII X6 1090T BE 3,2GHZ
RAM : OCZ 8GB 2*4GB DDR3 LOW VOLTAGE 1333
VGA: GeForce GTX680 2GB
HD : 500GB + 500GB + 2x1TB Raid Edition + 500GB External
Motherboard: ASUS CROSSHAIR FORMULA 4 890FX AM3
PSU: Corsair 750W
CPU Cooling: Katana 2
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

You cannot use in under Linux, because Irrlicht.dll is compiled under Windows, it is Windows-only-library.
Revan1985
Posts: 89
Joined: Tue May 08, 2007 4:11 pm
Location: Italy

Post by Revan1985 »

there is also the option to recompile the dll for linux (as .a if i remember).
The mono use .a for linux, or i'm saying a stupid thing?
CPU: AMD PHENOMII X6 1090T BE 3,2GHZ
RAM : OCZ 8GB 2*4GB DDR3 LOW VOLTAGE 1333
VGA: GeForce GTX680 2GB
HD : 500GB + 500GB + 2x1TB Raid Edition + 500GB External
Motherboard: ASUS CROSSHAIR FORMULA 4 890FX AM3
PSU: Corsair 750W
CPU Cooling: Katana 2
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

Revan1985 wrote:there is also the option to recompile the dll for linux (as .a if i remember).
The mono use .a for linux, or i'm saying a stupid thing?
Shared libraries under linux are '.so' files.
Working on game: Marrbles (Currently stopped).
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

Revan1985 wrote:there is also the option to recompile the dll for linux (as .a if i remember).
The mono use .a for linux, or i'm saying a stupid thing?
Maybe there something like that is possible - to compile C++ CLR under Linux, but i'm not sure in that at all, because don't have/use Linux.
Revan1985
Posts: 89
Joined: Tue May 08, 2007 4:11 pm
Location: Italy

Post by Revan1985 »

there is not the method OnAnimate in the SceneNode?
CPU: AMD PHENOMII X6 1090T BE 3,2GHZ
RAM : OCZ 8GB 2*4GB DDR3 LOW VOLTAGE 1333
VGA: GeForce GTX680 2GB
HD : 500GB + 500GB + 2x1TB Raid Edition + 500GB External
Motherboard: ASUS CROSSHAIR FORMULA 4 890FX AM3
PSU: Corsair 750W
CPU Cooling: Katana 2
Post Reply