Topic: Any news from the Irrlicht 1.1 wrapper?
Hi,
Any news about the Irrlich 1.1 wrapper. The Irrlicht 3d engine seems to be the best one even compared to the AAA Torque and TV3D 6.5... can't wait until this wrapper is done
Nikko
GMan's Mods & Stuff → Requests → Any news from the Irrlicht 1.1 wrapper?
Hi,
Any news about the Irrlich 1.1 wrapper. The Irrlicht 3d engine seems to be the best one even compared to the AAA Torque and TV3D 6.5... can't wait until this wrapper is done
Nikko
greetings
its in progress there were a lot of enhancements to the engine including several new types. this mixed with a redesign of the mods has made it take a lot longer than expected. im probably 3/4 through the changes and have completed the redesign. i would say hopefully by midweek next week.
Yay!
Ok, waiting patiently.
The odd problems I was having may be magically fixed with this, so I'm looking forward to it.
getting close... i just have the updates to ISceneManager and IVideoDriver left. this one has been a haul! kind of a good/bad thing. good that Irricht is advancing at a much faster rate... bad as that its time consuming for me at least i got the redesign in. hopefully the updates after this one wont be as hectic. i would estimate by friday.
another quick update... i was able to work on this over my lunch hour and all that is left is ISceneManager changes. if i can find the time, hopefully tonight i can get something released.
Your wrapper for 3Impact is so great! I can't wait for the Irrlicht wrapper!!!
Also do you plan to release the source code or make it available after some sort of registration? Or include it in the Irrlicht distribution?
Because I'll work on a serious project and if would be sure that if new version of Irrlicht are released and you are too busy to update it, the work will not be stopped.
Not to mention so much wrappers like aurora, ogremax, and so on... my project will take my full time for the next year and I would not be in the situation were I can't support changes or bugs...
Let me know.
Nikko
sorry ive been abscent. it was apparently my time to come down with some sort of bug. im feeling much better although not completely better. i thought id throw this out while you wait to give a little more insight in how these updates work. each time a new version comes out, i do a file-file comparison of all the files in the include folder. since the wrapper deals only with the interface of Irrlicht, thats the only changes i need to implement. after creating a differences document, i work from that to implement the changes. here is the differences document ive been working from. anything with a "(d)" has been completed.
new typedefs: line2df(d), line2di(d), line3df(d), line3di(d), dimension2df(d), dimension2di(d)
position2df(d), position2di(d)
(d)line3d.h -> retval change for getLengthSQ()
(d)vector3d.h -> updated return value of getLengthSQ(),getDistanceFromSQ()
(d)vector3d.h -> new operator overload for *
(d)vector2d.h -> updated params for set()
(d)vector2d.h -> new operator overload for *
(d)rect.h -> new method getSize()
(d)triangle3d.h -> fixed params for isTotalInsideBox(),closestPointOnTriangle()
(d)matrix4.h -> new methods getScale()
(d)irrMath.h -> new PI64, DEGTORAD, RADTODEG, DEGTORAD64, RADTODEG64
(d)irrString.h -> new append(c8*/wchar_t*), new += for double, new += for c8*/wchar_t*
(d)ESceneNodeAnimatorTypes.h -> new
(d)ESceneNodeTypes.h -> new cube and sphere
(d)IAnimatedMesh.h -> new B3D type
(d)IAnimatedMeshB3D.h -> new
(d)IAnimatedMeshSceneNode.h -> new methods setReadOnlyMaterials(), isReadOnlyMaterials(), setMesh()
(d)IAttributeExchangingObject.h -> new
(d)IAttributes.h -> new
(d)IEventReceiver.h -> new mouse input event
(d)IFileSystem.h -> new methods addPakFileArchive(), createEmptyAttributes()
(d)IImageWriter.h -> new
(d)IMeshSceneNode.h -> new
(d)IParticleAffector.h -> new E_PARTICLE_AFFECTOR_TYPE, ParticleAffectorTypeNames[]
(d)IParticleAffector.h -> new methods serializeAttributes(), deserializeAttributes(), getType()
(d)IParticleEmitter.h -> new E_PARTICLE_EMITTER_TYPE, ParticleEmitterTypeNames[]
(d)IParticleEmitter.h -> new methods serializeAttributes(), deserializeAttributes(), getType()
(n/a)irrAllocator.h -> new
(d)ISceneNode.h -> changed param for getName(), setName()
(d)ISceneNode.h -> new method getAnimators(),serializeAttributes(),deserializeAttributes()
(d)ISceneNodeAnimator.h -> new method getType()
(d)ISceneNodeAnimatorFactory.h -> new
(d)ISceneNodeFactory.h -> new
(d)ISceneUserDataSerializer.h -> new
ISceneManager.h -> removed addTestSceneNode()
ISceneManager.h -> added addCubeSceneNode(), addSphereSceneNode(), addSkyDomeSceneNode(), getDefaultSceneNodeFactory()
ISceneManager.h -> added registerSceneNodeFactory(), getRegisteredSceneNodeFactoryCount(), getSceneNodeFactory()
ISceneManager.h -> added getDefaultSceneNodeAnimatorFactory(), registerSceneNodeAnimatorFactory(), getRegisteredSceneNodeAnimatorFactoryCount()
ISceneManager.h -> added getSceneNodeAnimatorFactory(), getSceneNodeTypeName(),saveScene(),loadScene()
ISceneManager.h -> new param for addAnimatedMeshSceneNode(),addMeshSceneNode(),addOctTreeSceneNode()
ISceneManager.h -> changed param for getSceneNodeFromName(),
ISceneManager.h -> changed retval for getParameters()
IStringParameters.h -> removed
(d)ITexture.h -> new methods getName(), hasMipMaps()
(d)IVideoDriver.h -> new methods getTextureByIndex(), getTextureCount(), addExternalImageWriter()
(d)IVideoDriver.h -> new methods writeImageToFile(),getMaterialRendererName(),setMaterialRendererName()
(d)IVideoDriver.h -> new methods createAttributesFromMaterial(),fillMaterialStructureFromAttributes(),createScreenShot()
(d)IVideoDriver.h -> new param addMaterialRenderer()
(d)S3DVertex.h -> S3DVertex2TCoords has many new constructors
(d)S3DVertex.h -> S3DVertex2TCoords has new operator overloads
(d)S3DVertex.h -> S3DVertexTangents has new operator overloads
(d)SceneParameters.h -> new property IRR_SCENE_MANAGER_IS_EDITOR
(d)SColor.h -> new functions R5G6B5toA1R5G5B5(),A1R5G5B5toR5G6B5()
(d)SColor.h -> new SColorf method setColorComponentValue()
(d)SIrrCreationParameters.h -> new property HighPrecisionFPU
(d)SLight.h -> new LightTypeNames[]
(d)SMaterial.h -> new flag EMF_POINTCLOUD
(d)SMaterial.h -> updated value MATERIAL_MAX_TEXTURES
(d)SMaterial.h -> new param MaterialTypeParam2
(d)SMaterial.h -> new textures Texture3, Texture4
(d)SMaterial.h -> new property PointCloud
(d)IImageLoader.h -> implement bound types
(d)IVideoDriver.addExternalImageLoader() needs uncomment in type
(d)IMeshBuffer.h -> new E_PRIMITIVE_TYPE
"i do a file-file comparison of all the files in the include folder."
Smart way to work, so your wrapper will support all the functions from Irrlicht 1.1! Huge work! I've been working on Irrlicht, and to add new features to the engine itself is not simple. He use a factory (C++ boring thing) for each class, derivated from Iunknown. So for each new class, you must derivate IUnknow, create the implementation, create the factory, instantiate the factory in the main program to get a pointer to the class and so on...not to speak about namespaces that are another way to do another layer of obfuscation...
In my opinion it is not the easiest way, even if it is a very nice implementation it is a lot of code just to add a little feature outside of the main structure... it will be hard to maintain if the original author stops his integration work.
To be really productive it would be better to create classes in Freebasic or Blitzmax and create new features outside of Irrlicht. That would be 10 time faster to program and to maintain!
Well anyway... keep up the good work... I'm checking this forum everyday...
i finished the updates over lunch and will test when i get home. looks like tonight is the night
sorry folks i was hoping but it wont be tonight unfortunately. about half the demos converted flawlessly, the other half have some issues. since im not in the habit of releasing crap, im going to hold off until i can get every demo running. unfortunately the weekend is here and since its a holiday weekend im not sure how much time i will have. i will try to keep you updated.
No problem, it is better to finish and have something that works instead of release something that crash all the time. Take your time.
sorry to have been quiet for so long. the problem i have been having has really been kickin my butt. good news is i finally figured it out. bad news is i know have to create 3 methods for about 25 types so this is going to take some time. im not sure what the difference in syntax is for, but all classes that used to subclass from public IUnknown now subclass from public virtual IUnknown. for some reason, this no longer allows me to have an IUnknown type wrapper as my base type. when calling the base methods on IUnknown it causes weird crashes. i found that if i call the methods through the subclass, then i have no problems. the only difference between this version and the prior is the addition of the virtual keyword. go figure. anyways, im going forward again.
That's a lot of work! Thanks to spend so much time for us!
good news. i have the changes implemented and it fixed several of the examples. only 4 more to work through and i can package it up.
more good news. after a nasty battle with some of the redesign stuff im back on track again. i have one more example to go.
Keep up the good work!
GMan's Mods & Stuff → Requests → Any news from the Irrlicht 1.1 wrapper?
Powered by PunBB, supported by Informer Technologies, Inc.