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
-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