カテゴリ:3Dグラフィックス( 11 )

e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

Blender の コンソール ウインドウを表示させない方法

blender を起動すると、アプリケーション ウインドウと一緒にコンソール ウインドウ(コマンド プロンプト ウインドウ)が表示されます。しかも、このコンソール ウインドウを閉じると、blenderが強制終了されてしまいます。

blenderのアプリ自体の作りがコンソール ベースなので、これはどうしようもない事なのですが、誤ってコンソール ウインドウを閉じてしまうといううっかりミスをしてしまう事もあり、途中まで作ったモデルが、消えて無くなって悲しくなります。

1、無用なウインドウが画面とタスクバーに表示されていて邪魔
2、うっかりみす防止

のために、このコンソール ウインドウを画面からもタスクバーからも消してしまう方法が有ります。

拙作のフリーウェア NaiNai を使用します。

次のように、Blenderのコンソール ウインドウの設定を行います。

a0002261_22374961.jpg


ここでは、起動したらすぐに最小化し、最小化時はタスクバーに表示せず、
タスクトレイにも表示しない設定を行っています。

これで、Blenderが他のWindowsアプリケーションと同じように、
アプリケーションのメインウインドウだけで起動しているかのようになります。

この方法は、他のプログラムでも使用することが出来ます。
マルチプラットフォームに対応するソフトは、以外とコンソールで起動する物があります。

おためしあれ。
[PR]
by isoq | 2011-03-27 22:49 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

OpenGLでビットマップ画像データを背景に描画

以前、DirectShowでキャプチャしたカメラ画像を
OpenGLの背景に差し込んだ時の、テストコードの一端。
めも。

void DrawVideo(DShowCapture* vcap)
{
if(vcap)
{
// メモリ確保は起動時1回だけ
// シンクロが必要かも
static long nDataSize = 640 * 480 * 3; //vcap->GetBufferSize();
static long* pbData = (long*)new BYTE[nDataSize];
static BITMAPINFO bmi;
if(vcap->CopyFrameData(pbData, nDataSize, &bmi))
{
// glDrawPixels をコールするときには、PROJECTIONマトリックスを
// 初期化しないと画面に表示されない。(普通の画面の場合)
// その後、DEPTHバッファをクリアすれば、画像を背景に
// OpenGLでレンダリングが出来る
GLint oldMatrixMode;
glGetIntegerv(GL_MATRIX_MODE, &oldMatrixMode);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glPixelZoom(1,1);
glRasterPos2i(-1 , -1);
glDrawPixels(640 , 480 , GL_BGR_EXT , GL_UNSIGNED_BYTE , pbData);
glPopMatrix();
glMatrixMode(oldMatrixMode);
glClear(GL_DEPTH_BUFFER_BIT);
}
else
{
//MessageBox(0, "can't get image", "fakegl", MB_OK);
}

//delete [] pbData;
}

}

[PR]
by isoq | 2011-03-03 11:35 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

CUDAで粒子シミュレーション

CUDAで、シミュレーションを書いていますが、

やっとまともに動き始めました。

32x32x32要素の粒子シミュレーションですが、計算時間は、

GPUだと、5ms(干渉少)~15ms(干渉多数) ・・・ GeForce GTS 250 (128コア)

CPUだと、50ms(干渉少)~80ms(干渉多数) ・・・ Core i7 860 (2.8GHz) 1スレッド

と、CPUもかなりがんばっています。

CPUを10コア使えば、GPUの128コアとほぼ同じ以上の処理ができるということは、

とにかく、1コアあたり1/10くらいの仕事はしてくれるのかな?という感じ。

GPUのコア数を増やせば、より処理時間が減るので、480コアの

GeForce GTX 480を使用すれば、約4倍速く処理が終わり、

目標としている1msに近づきそうです。

(本当は要素数 100x100x100 でやりたかったので、かなり妥協の妥協ですが・・・ ^^;)


こうしてみると、CPUの方が、アーキテクチャやパイプライン処理の

最適化が進んでいる印象を強く受けますね。

あと、

①これを最適化して、1msオーダーで処理を行う。

②粒子同士の連結(スプリング・ダンパー)をつける。

③より多コアのGPUでやってみる。

というところが、当面の目標になります。

先は長そうですが、光は見えてきた感じです。


AMD ATI Radeon HDだと、最上位機種に3000コアとかありますが、

これって、NVIDIAと同じ性能のコアが3000個付いていると

考えて良いのかなぁ・・・???


要するに、↓ これを買わなきゃって事なんだけど。(PRですいません)

デル株式会社
[PR]
by isoq | 2010-11-13 19:29 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

Parallel Nsight

nVidia の GPU 開発環境の一環として公開されているデバッガ、

Parallel Nsight なのですが、けっこう使用条件が厳しい・・・

・ Windows Vista / 7 限定。

・ Aeroテーマを無効にする必要あり。

・ ローカルでバッグにはGPU2個必要(?)

・ WPF(Windows Presentation Foundation)のハードウェアアクセラレーションをOFFにする必要あり


これ全部やって、まともにデバッグができるようになるのか!?

ただいま実験中です。



追記)

・・・・・

やっぱ、できませんでした。

もう1枚グラフィックカード差して、GPUを増やすしかないようです・・・

オーマイがぁーーーー!!!


デル株式会社
[PR]
by isoq | 2010-11-10 23:45 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

CUDAでちゃんと100倍超えた!

この間、CUDAでGPGPU の記事で、

  処理を CUDA で書き直しても10倍程度しか高速化されず・・・

と書きましたが、これは書籍に掲載されていたコードが シェアードメモリ を使用していない

ちょっと中途半端な物だったのが原因でした。

シェアードメモリを使用するように書き直してみると、しっかり100倍以上!の

速度で処理してくれるではありませんか!



もし、このコードで著者の方のPC(GeForce GTX 480)において、

100倍の高速化が成されていたなら、

GeForce GTX 480 ってドンだけ速いんだ!!!!! って事になりますが、

おそらく、掲載したコードと、実際に時間を計測したコードに違いがあるのでしょう。



ちなみに、それほどたいしたことがない私の環境(Core 2 Duo 2.4GHz)でも、

CPUプログラムの実行速度を著者の環境と比べて、3倍くらい速く動いていました。

どんだけ遅いCPUに速いGPUを乗せて、「ほら、こんなに差が出るでしょ??」

っとやっているのか・・・なんだか疑惑がわきました (^ ^;)



ちなみに、




最後に、AMDのRADEONってありますが、

GeForce GTX 480 が、480コア。   ¥46,799~
GeForce GTX 580 が、512コア。 =未発売=

それに対して、

Radeon HD 5870 が、1600コア!   ¥37,970~
Radeon HD 5970 が、3200コア!!!!!    ¥65,800~

AMD(旧ATI) Radeon 恐るべし!

速いとこ、CUDAを卒業して、OpenCLへポートしなきゃ・・・




  

[PR]
by isoq | 2010-11-02 22:23 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

SLIでCUDAとOpenGLを別GPUで処理は可能!

昨日の CUDAでGPGPU の記事の中で、

『GPGPU専用にGeForce GTX 460/470/480あたりを乗せて、

 ステレオ出力用に Quadro FX 380 あたりを乗せて、

 2枚構成にして動くだろうか???』

なんて書きましたが、どうやらできるようです!

NVIDIAのページに解説がありました。

こちらです。

どうやら、複数のGeForceグラフィックカード(別の型でも!)をGPGPUに使用して、

CUDAで使いまくれちゃうみたいです。

GPU同士のデータ転送は結構遅いと思うので、

なるべく依存しないデータを使った処理を振り分ければ、

かなりの超高速分散処理が見込めます。

これこそ本当に、『パソコン』 を 『スパコン』 に変えるスーパー計算機になりますね。

しかも、GeForce GTX 480 は、メモリ容量以外は、汎用GPGPU専用ボード Tesla の2000番台を

凌駕する性能なので、これはかなり使えそうです。


・・・・


といっても、簡単に試せる額ではないので、

もし必要に迫られて SLI 構成での使用経験のある方がいらっしゃいましたら、

ぜひぜひその凄さを教えて下さい!






[PR]
by isoq | 2010-11-02 01:01 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

OpenGL で Lighting しても真っ黒・・・

原因は、ノーマルが小さかった事。

表面形状から計算した方向ベクトルをノーマルとしたが、

方向ベクトルが小さかったため、

暗くなってしまった。

glNormal3dv(...) に渡す引数は、

しっかりと、Length が 1.0 の法線ベクトルを渡さないと、

このように、真っ黒になってしまうので注意!
[PR]
by isoq | 2010-09-08 16:10 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

Blender の 操作方法/ショートカットキー 一覧

トリンプ・オンラインショップ


仕事柄、3Dモデルが必要になったので、自作に挑戦。

最近は、Blender という、とても高機能な
アニメーション向けの 3D CADソフトがフリーで使えるので、大変便利です。
便利なのですが、使い始めるまでに結構苦戦します。

基本的に、3D CADソフトは、ソフトごとに独自の操作性があるので、
1つのソフトを極めたとしても、他のソフトには、全く歯が立たない事は
よくあることです。

Blenderも結構独自路線を行っているので、
操作方法やショートカットを覚えるのが結構手間取りました。

まだまだ、「あの機能」にどこからアクセスしたらよいか、ほとんど分かりませんが、
何とか、目的の形状データを作成することが出来ました。
STLで保存して、OpenGLで描画して、いっちょ上がり!
(ちなみに、BlenderのSTLは、バイナリーですね。)

自分でも忘れないように、ちょっとした表を作成してみました。

こちらです ↓ (エキブロでは、テーブルが使えんとは。。。)
Blender の 操作方法/ショートカットキー 一覧

とりあえず、これだけ覚えとけば、何とかなるかな、、、


あと、保存したはずなのに消えていた事件も起こりました。
メニューから「Save」と選んだだけでは、保存できず、
Saveを選んだ直後に表示されるメニューみたいな物で、
ファイル名のところを選択しないと、だめらしい。

いちおう、上書き確認のつもりらしいが、
最初、そんなこととは知らず、「Save したら、確認画面が出た」
程度に考えていて、後から冷や汗書きました。。。

結局、「前回のセッションを復元」で、事なきを得ましたが、、、
[PR]
by isoq | 2010-03-20 02:42 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

今日からBullet

イイハナ・ドットコム e87.com(千趣会イイハナ)母の日特集

フィジックスエンジン Bullet を使ってみようかなぁ~っと思いまして、
いろいろと勉強中です。

普段は、自分でコード書き下ろすのですが、
スプリング・マスとか、簡単なコリジョンディテクションは
十分いけるのですが、やはり形状同士のコリジョンディテクションは、
自分で書くのはかなり面倒。。。

と言うことで、本当は、PhysXを使いたいのですが、
ダウンロードのためにNVIDIAのページで登録しても、
延々と待てども返事が来ず。。。
やっぱり、目的に「趣味」を選んでしまったのがいけなかったか。。。

というわけで、Bulletを始めてみました。
変形させていないのに、微妙に遅いのが気になるなぁ・・・
あっ、自宅のPC(Pentium 4 3.2GHz)が悪いのか。。。
Core i だったら、もっとまともに動くのだろうさ。

あと、Blenderの使い方も勉強しなきゃ。
とある物を3Dプリンターで出力するんだけど、
その元データを作らなければならんから。

先は長そうだ。
[PR]
by isoq | 2010-02-28 03:33 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇

XNA Game Studio - XBOX/Windows ゲーム開発環境

XNAについて調べ中...

XNA Creators Clib Online [en]
XNA デベロッパー センター[ja]
XNA Game Studio 3.0
XNA Game Studio 2.0[ja]
ひにけにXNA
[PR]
by isoq | 2008-12-24 19:17 | 3Dグラフィックス
e87.com(千趣会イイハナ) 花を贈るなら日比谷花壇