syghの新フラグメント置き場

プログラミングTipsやコード断片の保管場所です。お絵描きもときどき載せます。

2014-01-01から1年間の記事一覧

Direct2D Effectsで発光する雷をプロシージャル生成する

Windows 8で使えるようになったDirect2D 1.1には、多数の便利な機能が追加されています。ブレンドモード(Composite Mode)の制御のほか、シェーダーを利用したエフェクトが使えるようになりました。 エフェクトは頂点シェーダーで実装されているとおぼしき…

Visual StudioのツールボックスにWin32/MFC向けのコントロール一覧が表示されないとき

これはときどき発生する現象で、Visual Studio 2008など以前のバージョンでも存在していた現象なのですが、今回Windows 8.1にインストールしたVisual Studio 2012/2013両方にて発生しました。 何が原因でこの現象が発生するのかはよく分かっていないんですが…

OpenGLコンピュートシェーダー

(これは2013-01-30に書いた故OCNブログの記事を移植したものです)2013-01-05に公開されたNVIDIAのリテールドライバー310.90で、ようやくOpenGL 4.3が正式に使えるようになりました。最新世代のKeplerのほか、旧世代のFermiアーキテクチャのグラフィックス…

ラブリーマイエンジェル

ハピネスチャージプリキュア! - 「ラブリーマイエンジェル」/「sygh[sai]」のイラスト [pixiv]自分はプリキュアを観始めたのがスマイルプリキュアからだったので、実はシリーズ初代の恋愛模様とかよくわかってないniwakaなんですが、プリキュアは1年スパンで…

size_t, ptrdiff_tのprintf書式指定

(これは2010-12-05に書いた故OCNブログの記事を移植したものです)size_tとptrdiff_tはポインタ同様、32bit向け(_M_IX86とか)と64bit向け(_M_X64とか)でサイズと上下限が変わるプラットフォーム依存の整数型なので、printf()系の関数で出力する場合、書…

MSDN DirectX SDKヘルプの記載ミス

(これは2011-02-12に書いた、故OCNブログの記事を移植したものです)D3DX10 のヘッダーを調べればすぐに分かることなんですが、下記の ID3DX10Mesh::Optimize() メソッドに関して、2011-02-12 現在、MSDN のヘルプが間違っているので備忘録として残しておき…

PowerShellで特定の拡張子のファイルを再帰的に削除

(これは2011-02-12に書いた故OCNブログの記事を移植したものです)特定の拡張子(例えば.dat)のファイルを、下位のフォルダ内のファイルを含めて再帰的に削除したいとき、コマンド プロンプトでは del *.dat /sとすればいいんですが、問答無用で即コマンド…

C++正規表現ライブラリ(Regex)でCSV解析

(これは2011-01-30に書いた故OCNブログの記事を移植したものです)C++11 (C++0x TR1) には正規表現ライブラリとして <regex> が存在するんですが、こいつを使って簡単なCSV文字列解析処理を書いてみました。参考にしたのは下記。 CSV形式のファイルをDataTableや配</regex>…

HLSL warningの3000番台はdisableできない?

(これは2011-01-10に書いた故OCNブログの記事を移植したものです)例えばこういうHLSLコード(Direct3D 9, XNA)をコンパイルすると、X3550の警告が出ます。 // 指定したインデックスのボーン行列をテクスチャからフェッチする。 void VTFBoneMatrix(out fl…

Visual C++ 2010以降の追加ディレクトリ

(これは2010-05-04に書いた故OCNブログの記事を加筆修正したものです)2015-12-03追記: Visual C++ 2015にも言及するように修正しました。VC++ 2008までは、「ツール」→「オプション」→「プロジェクトおよびソリューション」→「VC++ディレクトリ」で設定で…

DirectX SDK June 2010インストール時のError Code S1023

Visual Studio 2012/2013の場合、DirectX SDKはすでにIDE同梱のWindows SDKに統合されているため、DirectXコアコンポーネントのみを使って開発する場合は別にスタンドアロンの旧DirectX SDKをインストールする必要はありません。しかし今回、豊富なサンプル…

Outlookでテキスト形式メッセージの表示フォントを変更する

(これは2010-03-11に書いた故OCNブログの記事を加筆修正したものです)メーラー・スケジュール管理ソフトのMicrosoft Office Outlookは、テキスト形式のメールを表示するときにフォントを自由に選ぶことができます。・Outlook 2003の場合 メニュー「ツール…

タブレットPCのデジタイザードライバーとWACOM外付けタブレット用ドライバー ―波紋との戦い―

(これは2012-09-01に書いた故OCNブログの記事を加筆修正したものです)Fujitsu FMV-BIBLO MT/E50 (Windows 7 Home 32bit) はマルチタッチ モニターとペン(WACOM製)による入力機能が付いてるんですが、外付けの板タブレット(BAMBOOとかIntuosとか)を同時…

shared_ptrとconst

(これは2011-01-17に書いた故OCNブログの記事を加筆修正したものです)あんまり言及してる人がいないんですが、これはshared_ptrとconstを組み合わせて使う上でとても重要な機能です。普通組込のconstポインタあるいはconst参照経由では、const操作しかでき…

C++のmutableの使い道

(これは2010-10-20に書いた故OCNブログの記事を加筆修正したものです)C++のmutableはconstメソッド(constメンバー関数)内でも変更可能なフィールドを定義する場合などに使います。mutableはヘタに使うと混乱を招くだけの余計な機能なんですが、以下のよ…

VC++ 2010以降のstd::set::iterator

(これは2011-02-13に書いた故OCNブログの記事を加筆修正したものです)C++11 (C++0x) 対応関連でSTLのstd::set::iteratorの仕様が変わって、VC++ 2010以降ではstd::set::const_iteratorと同じ型になっています。MS Connectへの報告はすでに存在しますが、こ…

Adobe CSの設定ファイル保存場所

(これは2010-10-03に書いた故OCNブログの記事を加筆修正したものです)Windows版のAdobe CS3とかCS4の設定ファイル(Photoshopのキーボード ショートカットとか、グラデーション プリセットとか)は下記にあります。超簡単。Windows XP/Vista/7/8の場合: %…

Adobe Fireworksのファイル拡張子

(これは2011-03-27に書いた故OCNブログの記事を加筆修正したものです)Adobe CSソフト(for Windows)の困った仕様として、 Fireworksのワークスペース ファイルの拡張子が(レイヤー無しの)Portable Network Graphics形式と同じ*.pngで、勝手にFireworks…

GLSLが使いにくい件について

(これは2011-09-20に書いた故OCNブログの記事を加筆修正したものです)個人的にグラフィックス プログラミングが好きで、仕事でも趣味でもDirectXやOpenGLを使っているんですが、OpenGL/OpenGL ESの不甲斐なさにそろそろ愛想が尽きてきました。 具体的にDir…

コンピュートシェーダーの性能

(これは2011-10-08に書いた故OCNブログの記事を加筆修正したものです)DirectX 9世代のシェーダーモデル3.0までは、画面座標系でのポスト エフェクト処理(たとえばガウスぼかしやブルーム、トーン マッピング、SSAOなど)はレンダーターゲットを切り替えて…

boolとgetter/setterの命名規則

C++の命名規則に関する話です。普通getter/setter(いわゆるアクセッサー)であるようなメソッド名(メンバー関数名)には接頭辞にGet/Setもしくはget/setを付け、その後に内部フィールド名(メンバー変数名)などを続けるような形で命名すると思いますが、b…

HTMLヘルプ作成でハマったこと

(これは2012-02-05に書いた故OCNブログの記事を移植したものです)Visual StudioのMFCアプリケーション プロジェクト ウィザードで、「高度な機能」の「コンテキスト ヘルプ(HTML)」ってのにチェックを入れておくと、HTMLヘルプ(コンパイル済みヘルプ、C…

VS2010更新プログラムKB2455033がコード643で失敗する件

(これは2011-04-14に書いた故OCNブログの記事を加筆修正したものです)先日公開された、KB2455033(Visual Studio 2010のMFC関連のセキュリティ更新)をWindows Updateにて適用しようとすると失敗する。 Windows Vista x64 SP2とWindows 7 x64 SP1で現象発…

WPFのAero2/AeroLiteテーマ

以前書いたModern UI for WPFの導入に関する記事にて、WPF 4.5におけるAero2/AeroLiteテーマの外観上の問題点について言及しましたが、具体的にどういうことなのか説明しましょう。 まずはサンプルコードから。 WpfAero2ThemeTest1.zip 以下はWindows 7での…

SquirrelスクリプトをWindowsストア アプリで使う

前回LuaスクリプトをWindowsストア アプリで使うという記事を書きましたが、それのSquirrel版です。本体はSquirrel Ver.3.0.6、C++バインダーには2014年現時点で最も完成度が高く導入しやすいと思われるSqrat Ver.0.9を使いました*1。Lua同様Squirrelも若干…

LuaスクリプトをWindowsストア アプリで使う

(これは2013-04-25に書いた故OCNブログの記事を加筆修正したものです)Windows 8上で動作する、Windowsストア アプリ(WinRTアプリ)でスクリプト言語Lua 5.2とそのC++バインダーであるLuabind 0.9を使う方法です。そもそも公式の Luabind 0.9.1 はLua 5.2.…

BD-REの部分消去と再書き込み

(これは2013-05-31に書いた故OCNブログの記事を加筆修正したものです)「BD-REは部分消去できないので、残量を復活させるにはいったん全消去(フォーマット)する必要がある」というコメントをよく見かけるんですが、コレは正しくもあり間違ってもいます。…

WPFアプリの外観をストア アプリ風に ―Modern UI for WPF―

(これは2013-05-13に書いた故OCNブログの記事を加筆修正したものです)Windowsストア アプリ(Windowsランタイム アプリ、WinRTアプリ)や、Outlook.com、OneDrive(旧SkyDrive)などで採用されている、Modern UI(旧称Metro UI)は、他のMS製デスクトップ …

Illustrator CS4/CS5でクリッピング書き出し

(これは2012-04-21に書いた故OCNブログの記事を移植したものです)Illustrator CS4で、アートボード範囲でクリップして書き出す方法に関して言及された記事を見つけたので備忘録を残しておきます。自分はラスターフォーマットに関してはPNGで書き出せれば十…

Win32/MFCとWinForms/WPF相互運用

(これは2012-06-14に書いた故OCNブログの記事を移植したものです)以前からWin32/MFCとWPFの相互運用性(主にWPF 3.5 *1)に関して独自調査を続けているんですが、メッセージまわりでやはり問題がいくつか発生することが判明してきています。基本的にはWin3…