Find Me An Engine?

Miscellaneous Forums/General Discussion/Find Me An Engine?

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

It must be for Windows.
-Yes.

It must be an engine you use with a programming language. I already own a few visual-based programming tools, and they're just not suitable for this project.
-Yes.

It must be useable with BlitzMax. I'm open to wrapping something written in C (easiest) or C++ (slightly harder) but it needs to be something which has a relatively simple API or it's going to be very difficult, if not impossible, to wrap everything.
-Yes:
http://www.leadwerks.com/files/Tutorials/Installing_Leadwerks_Engine_and_Writing_a_Simple_Program_BMX.pdf
http://www.leadwerks.com/files/Tutorials/Installing_Leadwerks_Engine_and_Writing_a_Simple_Program_BMX.wmv

It does not require any audio, video, input, etc components.
-What are "components"?

It must be either DirectX 9 or OpenGL. DX8 is too restrictive on features and DX10 is too restrictive on install base.
-Yes.

It must either have a wide range of shader-based effects or let me use HLSL shaders which I've already written.
-Yes:
http://www.leadwerks.com/files/Tutorials/CPP/Post-Processing_Effects.pdf
http://www.leadwerks.com/files/Tutorials/CPP/Post-Processing_Effects.wmv
http://www.leadwerks.com/files/Tutorials/CPP/Materials_And_Shaders.pdf
http://www.leadwerks.com/files/Tutorials/CPP/Materials_And_Shaders.wmv

It must have robust shadowmapping or let me use my own (HLSL again. )
-Yes:
http://www.leadwerks.com/files/Tutorials/CPP/Rendering_Lights.pdf
http://www.leadwerks.com/files/Tutorials/CPP/Rendering_Lights.wmv

It must have good, cheap (ie:fast) water or let me use my own (HLSL again. )
-Yes:
http://vimeo.com/2411794

It must either reload/recreate textures and surfaces when they are lost or let me do it myself.
-Define "lost"?

It must have robust skeletal animation and at least feature blending between animations. Ideally, it would allow mixing animations.
-Yes:
http://www.leadwerks.com/files/Tutorials/CPP/Introduction_To_Animation.pdf
http://www.leadwerks.com/files/Tutorials/CPP/Introduction_To_Animation.wmv

It must have a means for taking a deformed mesh from the animated meshes, complete with vertex normals, texture coordinates, etc.
-Not exactly, because skinning is performed on the GPU, but you can transform the vertex positions yourself if you really wanted.

Preferences:

Ideally, it should be able to perform most or all of its effects on Shader Model 2.0 hardware.
-SM3 is required.

I much prefer DirectX9 over OpenGL.
-No.

I'd like at least a very basic fixed-function feature set. I've coded a nice flexible system of fallback materials and I don't need much to do this, but it is much preferred that I have this fallback ability. ( It looks for the keyword "intel" in the graphics driver name and engages automatically if it sees it :P )
-No.

The easier it is to wrap, the better. Sprawling behemoths like Ogre and Irrlicht - particularly Ogre - are a huge pain in the butt to wrap.
-Already works with BlitzMax.

I would prefer physics were *not* integrated as integration with the 3D engine usually restricts you from doing some funky things I'm doing. As long as it's optional, no problem.
-Newton physics are integrated, but you don't have to use it. I think our implementation is pretty good:
http://www.leadwerks.com/files/Tutorials/CPP/Introduction_To_Bodies.pdf
http://www.leadwerks.com/files/Tutorials/CPP/Introduction_To_Bodies.wmv