At some point Josh said LE3 will have drivers, and the physics implementation is a driver too. So the initial release should have a Newton physics driver, and people can write their own Bullet physics driver for LE3. If this indeed is still like this, then the Bullet physics driver will be on my to do list. I already made Bullet physics for LE2, and it was quite easy to do, although I had only cubes implemented.
I would suggest SuperBasic, it's like BASIC but even more simple, and it can use any C++ source code direcltly too. So far it's only VaporWare, but I hope to get it released soon, especially with the launch on LE3.
You must start with Unwrap, which brings up the UV editor and then create the material and texture, else Blender doesn't assign the material to the cube, although it looks in Blender like if it was textured correctly.
Your mat file also is missing the *skin shader.
Remember, UVmap assignmet in Blender is the most imporant, because else the fbx file will have no material, and without material LE 2.5 can not load your .mat file automatically (you could still do it by code).
Blender has not much options in the fbx export, like I said above, I only used the default settings, except I selected the "export only selected" option. Blender makes the bones automatically when you click on the red record button and the bone button. Then you just move and rotate your cube how you want, and click on the timeline to assign it to the animation sequence.
I just tested Blender 2.64a and made a moving animated cube with a texture, and it works fine in LE2.5.
Here are the steps I did:
1) Create cube in Blender, and animate it a bit, and assign UVmap, material and texture to it.
2) Export as fbx from Blender (export selected cube only, other options default).
3) Create animcube.mat file:
texture0="abstract::animcube.dds"
shader="abstract::mesh_diffuse_bumpmap_skin.vert","abstract::mesh_diffuse.frag"
4) Drag animcube.fbx with the mouse over fbx2gmf.exe.
5) Drag animcube.gmf with the mouse over ModelViewer.exe
Now I can see a textured and animated cube in ModelViewer:
Here are the files I made:
le2blenderanimfbx.7z.zip
I have also evaluated Unity vs Shiva when I wanted to buy an 3D engine for Android which do realtime shadows. Well, the evaluation was quite simple: Unity could not do any shadows, while Shiva could. Also the fact that Unity is made with C# kinda scares most customers like me off, because we know it's a horribly bloated, slow and buggy language made by a company who has no clue about computers, but only business. Shiva at least used somekind of Lua, but didn't allow direct C++ programming. Leadwerks 3 will fill the gap of needs and bring real C++ to Android, and shortly after its release also realtime shadows.
You can actually configure Code::Blocks to compile Lua, and when you copypaste the keywords into a language layer, it will also intellisense and autocomplete (much faster and less space consuming than visual studio (which creates a 30MB file each time)).
If you have brush rendering batches in Editor, does it mean the engine does not have them, i.e. does the engine not have dynamic brush commands, like LE 1.0 did? It had commands like SliceBrush(brush,plane,newbrush1,newbrush2).
I guess he means how the actual code would look which uses LE3 commands to read touch, tilt, etc...
Most engines have either a seperate TouchDown() or a MouseDown() function which works the same for mouse and touch events.
Most phones can handle like 32 fingers simultaneously, so there needs to be somekind of info also, which mouse was pressed or moved, like MouseDown(6) would check if your phone is touched with 6 fingers, and MouseX(6) would return the 6th fingers x-pos. When you release the 5 other fingers, the remaining finger should still count as 6th finger, until it is also released and then the counting starts from 0 again.
Since there is no "new" needed, there should be also no "delete" needed. The worst would be if you mix "new" and "delete" with ".Create()" and ".Release()". But since ".Create()" and ".Release()" can have much better error checks, and it looks also much more intuitive than "new" and "delete".
I don't want to make a "new" texture, but just load my old texture from disk. Also I don't want to "delete" my texture from disk, but just unload/release it from memory
After all LE3 is an 3D Engine, not a C++ programming language, and it should have context related commands, not C++ commands. And by using engine commands only, all the C++/C#/Java/Lua/etc... game source code would be indentical. You can use whatever language you like, and it's exactly the same source code! That's what I call cross-language compatibility
C++ is not much different from C#, maybe even a bit easier, because you don't need to declare those horrible function headers. Also C++ was developed by many organizations over many years, while C# is a Microsoft product, so I guess that tells something about the speed and quality also
I prefer that every definition, type, function, class and method are tailor made for the engine. That's how professional libraries do it too, and rarely depend on C++'s native functions and methods. In Qt it's actually done a bit clumsy, and it's kinda annoying that you can't use std::string with Qt, but you have to use QString. So, keep your own classes and methods still compatible with STL classes.
Yesterday I needed again an accurate nanosecond timer in C++, so I found my old post in the Forums which had this code. It works on all platforms and doesn't need Boost:
#include <sys/time.h>
#include <stdio.h>
long timeGetTime();
long system_starttime=timeGetTime();
long timeGetTime()
{
struct timeval start;
long mtime;
gettimeofday(&start, NULL);
mtime = (1000*start.tv_sec + start.tv_usec/1000.0) + 0.5 - system_starttime;
return mtime;
}
That's a common misconception of non-smokers. In real, the smoking breaks can often relax the mind and suddenly you find the solution to some difficult problems. Besides, non-smokers don't need so much money, since they don't smoke, so smokers should get more salary, because they have better ideas and use the cigarattes as efficient working tools. And finally, smokers also die younger, so they don't waste so much taxes for retirement, so they should have to pay less taxes than non-smokers.