If you want the best possible performance, combined with a user interface that makes full use of the features of a particular platform, then you really have no choice but to write to the native SDK, which means developing and maintaining multiple codebases. Tools such as Microsoft Visual Studio offer some facilities that can help manage such a project. There is also Intel System Studio which supports C++ development on a number of platforms including Android and Tizen (as found in various devices including smart TVs and in-vehicle systems).
Alternatively you can use cross-platform compilation, writing a single source which is then compiled into multiple native binaries, one for each platform required. The resulting compilations are unlikely to make best use of features that are not shared by all the platforms, although such tools do support conditional statements that can be used to target specific devices. Nevertheless, taking full advantage of all the features offered by the latest version of a platform can be problematic, particularly with regards to the user interface.
Tools that take this approach include Xamarin and Embarcadero RAD Studio. A slightly different approach is offered by Intel INDE (Integrated Native Developer Experience). This is a suite comprising a range of Intel native compilers, tools and frameworks that allow you to target both Android and Windows running on either Intel or ARM processors. One of INDE’s strengths is its ability to tailor your development environment appropriately, be it Android Studio, Visual Studio or the open source Eclipse, and only install the components you need.
There is also WebGL which is based on OpenGL and provides an API for rendering high-speed 2D and 3D graphics onto an HTML5 canvas element. It is supported by the iOS 8 web browser, by Google Chrome on Android, and by Mobile Internet Explorer in Windows Phone 8.1.