Android
Manifest設定 システムレイヤーへの描画は専用のPermissionがある <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> WindowManagerでViewを登録 レンダリング用のViewとタップ用のViewを分けると設計が楽になる場合がある SurfaceViewは軽量だが、View移動ができない OpenGL側でViewportを調整してあげると</uses-permission>…
Experimental設定が追加 Navigation Editorが標準で無効化された 新たに Settings > Experimental が追加された そこで有効化できる 旧バージョンからアップデートしてビルドが通らない ~/.gradle/ を削除することで復旧できる ASの場合は Invalidate Caches…
ARCoreのサポート端末 少し前にサポート端末が拡充された Nexus5X, Nexus6Pがサポートされた Xperia XZ1Compactもサポートされた 一般的に使うには辛い ARKitのほうは手軽で強い コアライブラリ ARCore by Google コアライブラリ これがないと始まらない ア…
Kotlinアップデート 1.2.50 ConstraintLayoutのpackage名がもとに戻っていた 幻だったのだろうか implementation/apiでbuild.gradleに記述した依存関係がビルドに反映されない Jetifierが悪さをしている可能性がある こいつらを gradle.properties から外す…
Moduleの依存グラフが表示されるようになっていた いつからだろうか Build Variants > i アイコンから見れる 依存Moduleの依存は見れない app > sdk > ktx のような依存グラフにはなってない そのうち改善される? Android API-28公開 これでライブラリ公開…
どういうことがしたいのか こんなUIをMVVMで簡潔に実現したい。 ユーザーに心拍数(下限、上限)等の一定範囲データを設定させる その際、実装コストを減らしたい なるべく現代的に仕上げたい UIは RangeBar を利用する RangeBarを操作すると、対応する値が…
Protocol Buffersとは Protocol Buffersは2008年の7月7日=鑑純夏さんの誕生日にGoogleが公開したデータシリアライズ・デシリアライズライブラリです。なお、七夕は雨です。 IDLという独自のテキストフォーマットでデータを記述し、複数プラットフォーム間で…
複数スレッドでGLの処理が可能なGLSurfaceView作りました Githubで配布しています https://github.com/eaglesakura/multicontextglsurfaceview 何が出来るのか GLSurfaceViewを継承したクラスです。動作には互換性があり、GLSurfaceViewをMultiContextGLSurf…
Mac OSでPerfHUD ESを利用してNexus7のOpenGL ES負荷を測定する いろいろあってヨドバシポイントを2万円分手に入れたので、検証機としてNexus7を購入しました。Nexus7はTegraを搭載していて、便利なツールがMacでも使えるので、そのメモです。 標準ツールで…
Android NDKのデバッグは容易になった・・・はずなのに Androidアプリは基本的にSDKを利用し、Java言語で記述します。ですが、Android NDKを利用することでC/C++言語でもアプリを記述できるのは周知のとおりです。 最初は「できるやつだけついてこい」的にほ…
ETC1とGalaxy Nexus AndroidのOpenGL ES実装はETC1をサポートするようになっています。 ETC1テクスチャは4x4のピクセルブロックを基本とした圧縮を行うため、利用するには次のような制限があります。 縦横のピクセル数が4の倍数であること そのため、Android…
SurfaceTextureによるテクスチャへのマルチメディアレンダリング Android 3.xからSurfaceTextureクラスが導入されて、OpenGLとカメラ・ビデオ等のマルチメディア連携が楽になりました。 具体的には、テクスチャとしてビデオやカメラの映像を取り込めるように…
Android NDKとProguardは相性が悪い Proguardとは 今更説明することも無いかと思いますが、ProguardといえばAndroiderにとっては欠かせないお友達です。 Javaのコードは容易に逆コンパイルされて、簡単に内容を解析されてしまいます。 逆コンパイル自体を防…
Android 4.0(API Level 14)からTextureViewというViewが登場し、OpenGL ESの応用範囲が格段に広くなりましたが、GLSurfaceViewに相当する補助クラスが未だに登場していません。 Google的には必要ないという考えかもしれませんが、SurfaceViewよりもTexture…