C++C++2018-07-09_CrtSetAllocHookでメモリアロケーション検知C++VC++にはメモリアロケーションをフックするために、_CrtSetAllocHookという関数が用意されています。今回はこれを利用してみたいと思います。ちなみに_DEBUGマクロが定義されていないと動作しません。アローケーション時にprintfする関数を定義し..._CrtSetAllocHookでメモリアロケーション検知2018-03-07C++でImmutableクラスC++C++のクラスは、下記のように普通の書き方をするとmutableなものになります。今回はこのクラスをImmutableなものにしてみます。Preprocessorを利用して作成してみたいと思います。(実際には改行は生成されません。AMPを利用して画像処理を行ってみたいと思います。下図のように、赤と青を入れ替える処理を実装していきます。C++今回はOpenCLを用いて画像処理を行ってみたいと思います。下図のように、赤と青を入れ替える処理を実装していきます。clCreateImageでもいいですが、今回はclCreateBufferで実装してみました。Direct3Dボリュームレンダリングの手法はいくつかありますが、今回はもっとも単純な、下図のように長方形のスライスを何枚も重ねて実現したものを実装したいと思います。下記ページにある、bunnyのデータを利用いたしました。(WIC)を利用します。今回は実際にそれを実装してみたいと思います。C++画像処理コードの確認の際、C++で簡単にウィンドウを表示したいと思い、SDLを少し使ってみました。下記ページよりdllをダウンロードします。Direct2D下記記事にて、独自のEffectを作成しました。何でもプログラミングEffectの効果自体は、組み込みのID2D1OffsetTransformを利用していたので、今回は独自の効果(PixelShader)を定義してみたいと思います。Direct2D下記の記事にて、Direct2Dの組み込みのEffectを利用してみました。何でもプログラミング今回は独自のEffectを作成してみたいと思います。組み込みで用意されているOffset効果を利用して、描画結果をずらしてみます。Direct2D下記記事にて、ID2D1DeviceContextを利用して楕円を描画するところまで実装しました。何でもプログラミング今回はID2D1DeviceContextで利用できるようになったEffectを実装してみたいと思います。Direct2D下記記事にて、ID2D1HwndRenderTargetを利用してDirect2Dを利用してみました。1.1からは、ID2D1DeviceContextを利用して実装するようになっています。Direct2D今回はDirect2Dを用いて、下記のような描画を行うところまで実装してみたいと思います。Direct2Dの描画先として、通常のWindowsのウィンドウを作成、実行する関数を準備します。SSE下記記事にてSSEで簡単な画像処理をしてみました。何でもプログラミング今回はカラー画像をグレースケール化する処理を実装してみたいと思います。入力はRGBA32bitを仮定しています。SSE下記記事にてアラインされたstd::vectorを作成する方法を記述しました。何でもプログラミング今回はそれを利用して、SSEで簡単な画像処理を行ってみます。導入2017-04-28アラインされたstd::vectorC++SSEやAVXを利用して処理を高速化する際に、メモリ領域がアラインされている必要があります。アラインされた領域を確保するだけであれば_mm_mallocで可能ですが、_mm_freeを自分で呼ぶ必要があります。今回はstd::vectorでアラインされた領域を確保できるよう...アラインされたstd::vector2017-04-27Bitmap読み書きC++下記記事にて、Windows標準ライブラリで画像を読み書きする方法を記述しました。何でもプログラミングBitmapであれば更に何のライブラリも必要なく簡単に読み書きできます。OpenGLOpenGL上でGUIを実装するライブラリの一つに、ImGuiがあります。OpenGL下記記事にてGLFWで、OpenGLESが初期化されたウィンドウを作成しました。何でもプログラミング今回はとりあえず三角形を描画してみたいと思います。C++下記の記事にてWIN32APIでOpenGLESを利用する方法を記述しました。C++WindowsでOpenGLESを使いたい場合は、Google開発のANGLEが利用できます。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。