You could write your own 3D rendering engine from scratch with support for both Android and Apple iPhone devices. But then imagine in the future you want to add support for Windows. You'll have to update your rendering engine to support that platform as well...

Additionally, the rendering engine itself is not the core business of your game. You just want to make a game, not a rendering engine.

I recommend to first look around if there are readily available 3D rendering engines available that support your required platforms. And trust me, there are more than enough free and non-free options available doing exactly that. The main benefit is that these third-party libraries most likely support a whole bunch of platforms without you having to do anything special.

Once you've decided on which third-party rendering engine you are going to use, you can start thinking about the high-level design of your game. You will decide which subsystems you need, and what their responsibilities will be. Subsequently, you'll come up with class hierarchies to structure your code, and which data structures, algorithms, and design patterns you'll use.