Hello World / plɹoM ollǝH

Programmers Live in Vain

PySide2 ダイアログの「?」ボタンを非表示にする

QApplication.setAttribute(Qt.AA_DisableWindowContextHelpButton)

QFileSystemModel + QListView Auto Scrolling on Init

QFileSystemModelにはdirectoryLoadedというSignalがあるのでそこで処理する default_path = '*****' def on_directory_loaded(): i = self._model.index(default_path) view.setCurrentIndex(i) view.scrollTo(i, QAbstractItemView.EnsureVisible) model =…

pyside scoped signal blocking

IMPLEMENTS class ScopedBlockSignals: def __init__(self, obj): self.obj = obj def __enter__(self): self._recursiveSet(self.obj, True) def __exit__(self, _exc_type, _exc_val, _exc_tb): self._recursiveSet(self.obj, False) def _recursiveSet(se…

歪曲収差 glsl

void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = fragCoord.xy / iResolution.xy; vec2 v = uv - vec2(0.5); float k1 = 1.5; float k2 = 0.5; float r1 = length(v); float r2 = r1 * (1.0 + k1*(r1 * r1) + k2*(r1 * r1 * r1 * r1))…

clang-formatをVisual Studioで

このページは若干古いのでこっち読んでください dungeonneko.hatenablog.com Visual Studio2017で対応されてるのでAStyleから乗り換え 実行されるタイミングがよくわからんので編集中のコード整形に加えて ビルドイベントで全ソースなめてフォーマットするイ…

Win+FでFeedbackHubが出てくるのが鬱陶しいので削除

PowerShellで Get-AppxPackage Microsoft.WindowsFeedbackHub | Remove-AppxPackage

vcプロジェクトをコピってアーカイブ(Win)

1. 7zipをインストールしておく https://www.7-zip.org/ 2. 除外するファイルのリストを作っておく .git\ .bin\ .tmp\ .vs\ .orig .vcxproj.user 3. コピーしてアーカイブするbatを書く xcopy /S /E /H /R /Y /I /EXCLUDE:copyignore.txt mylib .tmp\mylib c…

VS2017ではunionの暗黙デフォルトコンストラクタは作られない

error C2280: 'hoge::hoge(void)': 削除された関数を参照しようとしています https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2280?view=vs-2017#example-variant-and-volatile-members なるほどね

C++ Visual Studioビルド時スタイライズ&スタイルチェック

Visual Studio2017でclang-formatが使えるようになってた dungeonneko.hatenablog.com インストールするもの AStyle cpplint (要Python) AStyle Win版を落としてbinフォルダのAStyle.exeを適当な場所にコピー https://sourceforge.net/projects/astyle/files…

子プロセスもデバッグしてくれるVSプラグイン

Microsoft Child Process Debugging Power Tool - Visual Studio Marketplace

時代に逆らう人のためのregファイル

最近のWindows Updateが気にくわない Windows Registry Editor Version 5.00 // コマンドウインドウをここに開くを追加 [HKEY_CLASSES_ROOT\directory\background\shell\CommandPrompt] @="@shell32.dll,-8506" "Extended"="" "NoWorkingDirectory"="" [HKEY…

pip install PySide2

いつの間にかPySide2がpip installできるようになっているではありませんか

msbuild (Visual Studio) で並列ビルドが効かない場合

ビルドルールが違うものは並列に実行されないっぽい。例えば同じファイル名のcppが複数あるプロジェクトで出力オブジェクトファイル名を変更していたりするとこの問題にハマることがある。

非弾性衝突

const auto r = (r0 + r1) * 0.5f; // 反発係数 const auto m0 = 1.0f; // Aの質量 const auto m1 = 1.0f; // Bの質量 const auto u0 = n * dot(vel0, n); // 衝突面(法線N)に対しての垂直方向のAの速度 const auto u1 = n * dot(vel1, n); // 衝突面(法線N)…

C言語の線形合成法

http://c-faq.com/lib/rand.html

2D Perlin Noise in C++

こんな感じやろか? float interp(float x, float y, float t) { return x + (y - x) * t; // とりあえず線形 } float noise(int32_t x, int32_t y) { auto n = x + y * 57; n = (n << 13) ^ n; return (1.0f - ((n * (n * n * 15731 + 789221) + 1376312589…

カスタムビルドツールが毎回ビルドされる

出力ファイルにファイル名だけじゃなくパスも書くと大丈夫っぽい ソースと同じ場所に出力したいなら%(RelativeDir)hogeとか

実行中のプロセス計測 (Visual Studio)

デバッグ実行中の場合はデタッチしておく(これをしないとアタッチ/デタッチのメニューが選択できない) デバッグ -> プロファイラー -> パフォーマンス エクスプローラー -> アタッチ/デタッチ からプロセスを選択

今更PerfHUD ESでTegraのGLESデバッグ

面倒くさいけど先にUser Accountを作成しておく必要がある https://developer.nvidia.com/ んでここからPerfHUD ESをダウンロードしておく https://developer.nvidia.com/gameworksdownload Android Studio起動してTerminalから adb shell setprop debug.per…

PySide2 メモ

Qt for Python is coming to a computer near you https://blog.qt.io/blog/2018/04/13/qt-for-python-is-coming-to-a-computer-near-you/

glfwでRenderDoc使いたいとき

ここからダウンロード https://renderdoc.org/ コンテキスト作る前に glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, 1); しておくとキャプチャできると思うよ RenderDoc -> Lanch Application からキャプチャしたいexe起動すれば キャプチャできない原因とかも…

DirectX11 Efficient Buffer Management

未だに参照するけどスライド探すのに時間かかってしまうのでメモ http://gamedevs.org/uploads/efficient-buffer-management.pdf これは知っとけ的な API呼び出しは可能な限り減らす 16バイトアライメントする(最大30倍速度差が出る) D3D11Deviceはmutexを…

Qt ビルドする(GPL版)

リリースDLLのPDBが欲しかったのでビルドする ここを見れば大体わかる https://doc.qt.io/qt-5.6/windows-building.html わしの環境 Windows10やで Visual Studio 2015をインストールしているものとする とりあえず Qt5.10.1 Qtダウンロード Qtのホームペー…

PySide2 終了時のメモリアクセスエラー

原因調べるのが面倒くさいので困ります from PySide2 import QtWidgets import sys if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) main = QtWidgets.QMainWindow() action = QtWidgets.QAction(main) action.setText('Action') action…

CryptoJSで画像を暗号化してみたり

https://code.google.com/archive/p/crypto-js/ ただやってみただけ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ANGOUKA</title> </head> <body> <input id="selfile" type="file" /><br /> <image id="preview"></image><br /> </body></html>

Chromeのコンソール画面で遊ぶ(SVG編)

console.log('%c ', 'background: url(\'data:image/svg+xml;utf8,\') left top no-repeat; font-size: 120px;'); Check console log in Google Chrome! えぇっ!?IEを使っているだって?君は正気か?

three.js Chromeローカルファイル読み込みで怒られたよ

three.jsのサンプルローカルで実行してたら怒られたのでメモ Failed to load **** Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https. ローカルサーバー建てるのは面倒くさいので 起動オプショ…

pythonのreversedはイテレータを返す

反転したリストを複数回使うときにハマった a = reversed([1, 2, 3]) # イテレータを返す for x in a: print(x) for x in a: print(x) # ここは呼ばれない reverseなどでリスト自体を反転させておくか a = [1, 2, 3] a.reverse() for文ごとにreversedを呼べ…

プログラマのためのMaya攻略法

Mayaの内部構造をgoogle先生をウロウロしながら理解するのは効率が悪いので次の方法がおすすめ Complete Maya Programmingを読む devkitのサンプルを覗く MELコマンドの仕様はリファレンスを読む Complete Maya Programmingは分厚く読むのは疲れるが、ツール…

PySide keyPressEventが反応しないとき

もしかして self.setFocusPolicy(QtCore.Qt.StrongFocus) し忘れているんじゃないでしょうか。