I wouldn't call it a rewrite. You can split up this work in lots of smaller parts which could get merged and tested separately. This is _much_ easier than writing a complete blob of code without testing anything.
eg first steps:
- search for assembler and replace them with generic code - tons of small parts
- convert cg shaders to glsl (this a bit bigger deal at once, but not that hard)
- move from deprecated gl to core profile (hint: don't mess with VAO, else you'll break osx), so you'll be gles compatible - also lots of small parts
- gui-less mode - maybe needs some more hacks
And so, you've a binary that runs everywhere.
But it isn't that hard to start. It will just take LOTS of time until you're able to run on arm for the first time.
eg first steps:
- search for assembler and replace them with generic code - tons of small parts
- convert cg shaders to glsl (this a bit bigger deal at once, but not that hard)
- move from deprecated gl to core profile (hint: don't mess with VAO, else you'll break osx), so you'll be gles compatible - also lots of small parts
- gui-less mode - maybe needs some more hacks
And so, you've a binary that runs everywhere.
But it isn't that hard to start. It will just take LOTS of time until you're able to run on arm for the first time.
