一応アップしました。

あんまし宜しくないんですが,一応VSMのサンプルをホームページの方にアップロードしてみました。
色々と試行錯誤して,最終的には下のような画像に「強引に」持っていっています。

image49.png


ぼかしを強くすると下のような感じになります。

image51.png

22:35 | プログラミング
comment(0)     trackback(0)

 まずは…

まずは,XNA Game Studioで2.5Dモーションブラーを作ってみました。
imagespace_motionblur.png

が,作っては見たものの…
あんまし綺麗じゃない。やっぱし,縮退ポリゴン入れてみようかなぁ?
ジオメトリシェーダつかえれば埋め込まなくてもいいんだけどね〜…
縮退ポリゴン作るツール作ったら,アップロードしようっと。
23:37 | プログラミング
comment(2)     trackback(0)

 息抜きに…

プログラムの作成の息抜きとして,Light Space Perspective Shadow Mapsを読んでいます。
昨日ようやく,式変形によってn(opt)の求められましたが…
n(opt)の式の前に書いてある文章が,いちまいちスッキリしないっす。
23:08 | プログラミング
comment(0)     trackback(0)

 C++でプロパティ。

C++でプロパティを使う方法。

前回templateクラスを作って実装するやり方を触れましたが,そんな周りくどいことをやらなくても,MS VCという条件であれば,


__declspec( property( get = MyGetMethod, put = MySetMethod ) ) data_type name;
__declspec( property( get = MyGetMethod ) ) data_type name;
__declspec( property( put = MySetMethod ) ) date_type name;



を書いてあげれば,プロパティが使えるそうです。
で,実際に使えました。ただし,自分で試した範囲では,

struct Test
{
int a;
};

// うまくいかない例
class Example
{
private :
Test test;

public :
Example();
~Example():

Test GetTest();
void SetText( Test value );

__declspec( property( get=GetTest, put=SetText ) ) Test Test;
};


みたいに,構造体やクラスの名前とプロパティの名前がかぶるときになんだかエラーがでてうまくいきません。
プロパティの名前と型がかぶらなければ,問題なく使えます。

18:26 | プログラミング
comment(0)     trackback(0)

 C4996警告

忘れてしまうので,私的にメモ
<C4996警告メッセージの回避方法>

以下のコードをファイルをインクルードする前に追加する.
追加するとC++のオーバーロードを使って,関数を置き換えてくれるとのこと.


// Disable Warning C4996
#ifndef _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
#endif
#ifndef _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES
#define _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES 1
#endif
#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS 1
#endif

16:12 | プログラミング
comment(0)     trackback(0)
| HOME | next