歪曲収差を実現する
レンズを使ったカメラでは、映像が歪んで見えてしまうことがあります。
第17回 :レンズの大敵を探る 〜収差 3〜 デジカメの「しくみ」
"歪曲収差"と言う現象で、一般的に歪曲収差が少ないことがレンズ性能の良し悪しの判断で重要になってくるそうで。
3次元空間のある点を撮影して画像座標を得る時、
歪曲収差の無い理想的なレンズで、
歪曲収差のあるレンズで
、
画像中心から
までの距離を
、
レンズの歪みを
~
で表すと、
歪曲収差は以下のようにモデル化することができます。
ただし、実使用上は以降は無視出来ることも多いらしく、以下のように簡略化する事も多いようです。
これを参考にして歪曲収差をGLSLで実現した物が以下。(表示崩れ回避の為gist使用)
参考
GLSLの冒頭の1行目について丁寧に解説する - Qiita
[GLSL] Shadertoyのシェーダ芸人になるためのTips集 - Qiita
![ディジタル画像処理[改訂新版] ディジタル画像処理[改訂新版]](https://m.media-amazon.com/images/I/518ivcD2crL._SL500_.jpg)
- 作者:画像情報教育振興協会
- 発売日: 2015/03/09
- メディア: 大型本
数式とコード書こうとすると表示崩れてしまうのだが、両立させる方法あるんだろうか
ゆるレビュー】画像管理ツールAllusion
Allusionを人に紹介する用の簡単なレビュー。意外と話題になってなかった。 3dnchu.com
インスコまで
公式サイト
allusion-app.github.io
OSを選択、流れに従いインストール
画像を追加
起動すると何も無い画面が出てきます

左上Locations>+から資料追加ができます。サブフォルダもすべて走査して画像を読み込んでくれるみたいです。

読み込まれたファイルたち(ねっとで拾った画像ばかりなので念のため隠す)

画像閲覧
ショートカットはsettingsから確認することができる


詳細検索を使えば、タグだけでなくファイル名や拡張子に文字列を含む、なども可能。

他
ローカル版pinterest的な雰囲気。
直接AllusionからPureRefに画像をDDすることができる。
PureRef単体だとぽいぽいしてるうちにどうしてもリファレンス増えて重く+整理めんどくなるので、雑にぶっこんで都度タグからDDとかできるようになっていいのかも。
ちなみにタグ付けのメタデータも吐き出して共有できるみたいだから大人数での画像イメージ共有とかも最低限できそう。

github.com オープンソースなので既存のツールに組み込むこともできそう。PerforceのHTMLタブとか。
【Photoshop】Photoshop Shader Pluginの導入
使い方が分からないと嘆いている方を見かけたのでとりいそぎ。
導入
Photoshop Shader Plugin by Vladimir Rymkevich, Alexandr Zelensky
公式からダウンロード(3ドルぐらい
落としてきたファイルのShaderPluginInstaller_v1.1_x64.exeをダブルクリック
以上
成功している場合C:\Program Files\Adobe\Adobe Photoshop 2020\Plug-ins 以下に ShaderPluginができています。

使い方

対象のレイヤーを選んだ状態でフィルター>Shader Pluginで起動ができます。v1_1から管理者権限での起動も必要がなくなったようです。 一番上のShader Pluginメニューは直前に利用した内容の再適用でした。
大きく分けてImage / Settingsタブがあり、Imageの中でVertex / fragmentの記述ができるようです。
記述を見る限り、どうやらOpenGL3系のようですね。 wgld.org

このようにrgbの反転を記述したfragment結果を適用させたい

Applyを押すことで元のレイヤに対してフィルタが適用されます。

サンプルもいくつか用意されていて、実装の参考にすることができます。


つかいどころ
使い道は無限なのですが、Photoshopのあの機能を再現したい!となるとデフォルトでやりなさいってなるしタイリングーとか幾何学模様の作成ーとかいう時に輝く感じでしょうか。遊べはしそうです。
【Helixcore】P4V HTMLTools
P4Vには内蔵ブラウザがあり、わりと自由にカスタマイズ出来る。
www.slideshare.net スライド19枚目
導入
HTMLツールを有効化
プリファレンス > Enable HTML Toolsをチェック
P4VJSサンプル
ちなみにRun HTML Tools in demo modeを押すとP4Vを再起動するまでサンプルのツールやウィンドウを有効に出来る。 サンプルの置き場は
C:\Program Files\Perforce\P4VResources\p4vjs 以下
P4VJSというモジュールが用意されている。
HTMLToolの追加

WindowとTab、そしてsubmitアクション前後の動きをカスタマイズできるActionの3つ。 CustomToolについては別の記事で。
後はシンプルな作りです。タブに関してはアイコンも設定する事ができたりします。
ツール構成をxmlでExport/importすることも出来るので、共通ツールとして配布も容易かと思います。


参照
簡易的にローカルサーバを立てる
CORS違反がうざくて手軽にローカルサーバ使うためにflaskを使った時のメモ。
導入手順
Flaskいんすこ
pip install Flask
はろわ
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'hello'
if __name__ == '__main__':
app.run(port=8080)
表示されるhoge:8080でアクセスすると確認できるはず。ctrl+cで終了 ctrl+cに頼らない終了は参考資料参照(/shutdownで終了処理入れてあげてアクセスする奴)
ファイル構造について
root\ |--static\ //cssとjsはこの下 | --index.js |--templates\ //templates内にhtmlを置いてあげる | --index.html
HTMLを表示
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/index')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run(port=8080)
参照
flaskのパスを指定する - Qiita Flaskの簡単な使い方 - Qiita python — ctrl-cを使用せずにflaskアプリケーションを停止する方法【HelixCore】個人的メモ
Helix Core P4コマンドリファレンスのバージョン情報
p4 where
ディポが割り当てられているワークスペースのパスを調べる
p4 where "depotname"
p4 set
現在のP4環境変数一覧を取得
p4 set
P4CLIENTにworkspaceを指定
p4 set P4CLIENT="workspacename"
p4 info
ClientNameのみを取得
p4 -Ztag -F %clientName% info
ShaderGraph/SubGraphのViewを2Dにする
環境
Unity2019.4.1f1
ShaderGraph@7.3.1
タイトルの通りです。後で機能追加されるかもしれませんが今のところEditorから変更する事が出来なかったので。

手順
ShaderGraph本体を編集可能にする
そのままだとRead-Onlyなので、 C:\Users\USER\AppData\Local\Unity\cache\packages\packages.unity.com\com.unity.shadergraph@7.3.1 を UnityProject\Packages 配下に移動させて編集可能な状態にします
【Unity】PackageManagerが提供するパッケージのダウンロード先と、パッケージを改造する方法 - テラシュールブログ

SubGraphNode.csの153行目PreviewModeを2Dにする
Packages\com.unity.shadergraph@7.3.1\Editor\Data\Nodes\Utility\SubGraphNode.csの153行目のPreviewModeを3Dから2Dに変更

Editor再起動

:done:
