2026-02-01から1ヶ月間の記事一覧
はじめに Cra2yPierr0tさんが書いている記事軽率にGPUを使っていこう、OpenCL入門の最後に 「データの再利用を最適化するためにはブロック化の技術が必要になる。行列をプライベートメモリにちょうど収まるようにタイルに分解したり、タイルをローカルメモリ…
if文で遅くなる? GPU のコードは if 文を避けるべき、ということはなんとなく知っていたので実験した。 __kernel void test_if(__global float* out, int mode) { int id = get_global_id(0); float x = (float)id; if (mode == 0) { // 発散なし(全員同じ…
OpenCLとは OpenCL は、CPU・GPU など異なる計算デバイスを共通の仕組みで扱うための並列計算 API。 カーネルと呼ばれる関数をデバイス上で実行し、大量データを高速に処理できる。 実務では主に GPU 計算に使われることが多い。 インストール 以下のコマン…
imguiとは まず読み方ですが、「イムギューアイ」 と読む人が多いです。 DirectX12 や OpenGL などのグラフィックスライブラリを使って GUI を描画するライブラリです。 GUI の制御をコードのみでできるので使いやすいのが特徴で、特にデバッグ時に重宝する…
要件 3次ベジェ曲線を としたとき、 を満たす を求め、 に対応する の値 を求めたい。 制御点を とし、制約は とします。 これにより、 が定まれば が定まり「イージング」が実現できます。 注意 3次ベジェ曲線のイージングとして以下のような画面があったと…
はじめに CScrollViewを使えない場合にお使いください。 手っ取り早く以下のようにできます。 CScrollHelperの定義 ScrollHelper.h #pragma once class CScrollHelper { public: CScrollHelper(); virtual ~CScrollHelper(); void AttachWnd(CWnd* pWnd); vo…