バグフィックスしつつOpenGL仕様のおさらいをする内容です。
発端はReact Native(expo)で作ったAndroidアプリをテストしているときです。
ビルド後、複数端末でテストしたところタブレット端末で急にアプリが落ちました。
クラッシュレポートなど出ず、すっと消えるように。
expo
をインストールしてデバッグするもログにも全く残りません。困った。
どの端末で使える/使えないと知りたかったのでOpenGLのバージョンなどから調べていきます。
バグフィックスしつつOpenGL仕様のおさらいをする内容です。
発端はReact Native(expo)で作ったAndroidアプリをテストしているときです。
ビルド後、複数端末でテストしたところタブレット端末で急にアプリが落ちました。
クラッシュレポートなど出ず、すっと消えるように。
expo
をインストールしてデバッグするもログにも全く残りません。困った。
どの端末で使える/使えないと知りたかったのでOpenGLのバージョンなどから調べていきます。
React nativeで何かアクションを起こしたときに「成功」のような表示を行いたい。
Toast / トースト(画面に浮き上がって消える)やModal / モーダル(ポップアップ表示)、SnackBar / スナックバー(アプリ領域にバー形式で表示する)を考えます。
react-native: ^0.61.5expo: ~36.0.0gl-reactを使って画像(テクスチャ)をY軸周りに回転させることを考えます。
直接関係はないけどGLSLの練習【Crop, Tiling】の続きです。
一般的に画像を回転するというとZ軸周りの回転です。
この回転自体は単純な三角関数で可能ですし、拡大縮小、平行移動、せん断を含めてもアフィン変換で簡単に描画できます。
ただY軸周りの回転となると射影変換 (透視変換 / 透視投影)が必要です。
GLSLを書きつつも基本的な三角関数と線形代数をベースに書いていきます。
この記事はEaseUS Data Recovery Wizardを対象に色々やってみて紹介するものでEaseUS公式依頼記事です。
とはいえよいしょ的な内容ではなく、正直に結果や感想を書いていきます。
実際に使ってみたい人の役に立つよう複数ケースで試してみます。
レビュー対象ソフト:EaseUS Data Recovery Wizard Free 13.2GLSL(OpenGL Shading Language)を使って画像処理する練習。
今回は色々な切り抜き(Cropping)と敷き詰め(Tiling)。
最終的にreact nativeで使いたいのでgl-reactを前提として書きます。
import * as M from ""
で読み込んだモジュールをブラケット記法[]
で使いたい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//module_a export const contents_a = ...; export const contents_b = ...; export const contents_c = ...; //module_b import * as M from "./module_a" export const someFunc = (name: string) => { M.contents_a; //ドット表記法なら問題ない M[name]; //この書き方はエラー /* expression of type 'string' can't be used to index type 'typeof import("..."). No index signature with a parameter of type 'string' was found on type 'typeof import("..."). ts(7053) */ } |
こんな感じで引数(変数)に対応したモジュールを使いたい場合にどうするか。
色々と機能の限られるReact Native(Expo managed)で画像処理することを考える。
細かい部分はドキュメントを参照するとして使うライブラリや全体的な流れをざっくりとまとめてみます。
I/Oに不満がなければわりと好き放題できる。
なにか新しくファイルを作るときには命名法則を考える必要があります。
被らずにソートしやすいものとして日時の情報を使うことが多いですが、どうやって使うのがいいかなと思ったのでjavascriptで適当に動かしてみます。
Expoでカメラを使う時ライブプレビュー画面にgl-reactでエフェクトをかけたい。
結論を書くとあまりスマートな方法で解決はできなかったです。
Next.jsとMaterial-UIの組み合わせでビルドすると予期せぬ表示ずれがあった。
現象としてはnext.jsのPHASE_PRODUCTION_BUILD
でgetInitialProps()
のあるページで初回読み込みをするとmakeStyles
によるスタイルが崩れる。
ErrorやWarningはないし上記以外のアクセスではスタイル崩れもない。
結構複雑な問題だったので要点をまとめながら解決を図ります。
環境:next: 9.1.7material-ui: 4.8.3react: 16.12.0カスタムサーバー express: ^4.17.1