I took about 30 minutes to play with an idea I have been kicking around. Take a look at this code:
This is BlitzPlus code.
Taking what I learned about OpenGL during the development of CShop3, I'd like to write an open-source 3D engine for BlitzPlus. It would allow us to add our own features, rather than waiting for some DirectX upgrade. It would allow far more access to data that Blitz3D conceals, like getting the texture name of a material or deleting a single triangle from a surface. The storage of entities in banks means that an entity, or an entire scene can be saved to a file or loaded with perfect accuracy. This also means that the entities could be passed to a dll, if you wanted to write part of your game in another language, and have an editable portion without releasing the whole code.
I think the meshes will be much more vertex-driven than Blitz3D's mesh/surface system. Vertices will exist simply for geometry. When you add a triangle, you may specify UV coords, material, and normals, so a cube with unique UV coords for each face would not need 24 vertices, just 8. Each mesh can have a line list, for drawing 3D lines between the vertices. The possibilities are endless.
Keep an eye open and in about three months there should be something ready to use.
[removed]
This is BlitzPlus code.
Taking what I learned about OpenGL during the development of CShop3, I'd like to write an open-source 3D engine for BlitzPlus. It would allow us to add our own features, rather than waiting for some DirectX upgrade. It would allow far more access to data that Blitz3D conceals, like getting the texture name of a material or deleting a single triangle from a surface. The storage of entities in banks means that an entity, or an entire scene can be saved to a file or loaded with perfect accuracy. This also means that the entities could be passed to a dll, if you wanted to write part of your game in another language, and have an editable portion without releasing the whole code.
I think the meshes will be much more vertex-driven than Blitz3D's mesh/surface system. Vertices will exist simply for geometry. When you add a triangle, you may specify UV coords, material, and normals, so a cube with unique UV coords for each face would not need 24 vertices, just 8. Each mesh can have a line list, for drawing 3D lines between the vertices. The possibilities are endless.
Keep an eye open and in about three months there should be something ready to use.