私はKotlinを初めて使っていますが、OpenGL ES 2.0のAndroidとWebGLのHTML5をターゲットにしたゲーム開発に使ってみたいと思います。 WebGLとGLES20用のレンダリングエンジンのクラス/ファンクションのバージョンが少し違うことは明らかに良いことですが、オーバーヘッドなしでこれを実現する実用的な方法がありますか?Kotlinコンパイラはラッパー関数を最適化できますか?
WebGLRenderingContextBase
またはそのクローン(クローンが必要な場合は、私はWebGL実装用にデリゲートを使用することができます)を実装するクラスを作成することです。OpenGL ES 2.0では、このように:
override fun bindBuffer(target: Int, buffer, Int) {
GLES20.glBindBuffer(target, buffer)
}
大部分の作業を行うスクリプトを作成します。
私の質問は、このようなラッパーを最適化し、GLES20.glBindBufferなどを直接クラスのvtableやJVMの同等のものに使用するのに十分なスマートなのですか?おそらくinline
は、インターフェイスまたは基本クラスへの参照を介してオーバーライドされたメソッドを呼び出すときには使用できません。