2016年12月18日日曜日

FBO VBO



Framebuffer Object(FBO)
Vertex Buffer Object (VBO)


OP基礎


app.h  こちらはヘッダファイル
部品を宣言

app.cpp こちらは実装ファイル
何をするか?記述。
http://openframeworks.jp/tutorials/firstSteps/002_openFrameworks_for_processing_users.html
宣言ファイルである hの中身。


変数をひとまとまり = 構造体
typedef struct Item {
 int code;  /* 商品コード */
 int name;  /* 商品名 */
 int price;  /* 価格  */
} ITEM, *LPITEM ;
これの他にC構造体っていう 違うのあるみたいだが、後日。


setup 準備
update 更新
draw 描画


gpuParticleSystemExample


gpuParticleSystemExample こちらをもとにして作ったこれ。
http://yasuhirohoshino.com/archives/30


.h って何をまとめているの?
修正したやつは、pingPongBuffer.h と新しいのがあるが、
なぜ? ofApp.h と分離したの?

→ OP基礎を。

結構修正しているので元ネタをまず解析しないと駄目だなぁ。

GPUということなので、CPUも使って動かすこともあるのね。
どうやってGPUを使うのだろう?

あとそもそも論で、パーティクルって?もおさえておかないと初心者は
あたまが混乱するかな。

ちょくちょくでてくる「FBO」「VBO」って??
もともとのやつ gpuParticleSystemExample こちらは、
位置と速度を別々なシェーダーで演算しているとのこと。
シェーダーって、位置 と 速度を演算する機能なのか?

ちなみに、FBOは FBO(Frame Buffer Object) みたいです。なんだこれ。
1つの描画結果としてframe を一時的に保管して持っておくオブジェクト。
http://qiita.com/edo_m18/items/95483cabf50494f53bb5

こちらに説明がありました。


なんかよくわからないが、Ping Pong FBO というのは、GPGPUの手法のひとつぽいです。
って書いてたが、GPGPUは画像処理以外の際にGPUを使うことを指すのだが、、。
これ画像ですよね。シェーダーって画像処理っていわないのかな??

あああ混乱。

オブジェクトってことで一応理解して、
シェーダーとは別みたいですね。 データもたせてシェーダーにわたすてきなことを書いてあるから。











シェイダーについて



なんとなくわかるがわからないシェーダー

GLSLシェーダーファイルの拡張子は .vert, .frag とのこと。
外部ファイルにシェーダーを分離することができるみたい。
.vs.fsとしている派閥もいるらしい。


GLSLってなんやねん。シェーディング言語みたい。
→ 3Dのみためを決める言語。
→ みため? 光源、陰影、とかとか。

OFでシェーダーを使うには ofShaderオブジェクト を使うらしいがaddon じゃないの?
http://tokyo.supersoftware.co.jp/code/720


画像にもつかえるのね。。理解。


  • Vertex shader
  • Geometry shader
  • Fragment shader
色々あるのね。

http://d.hatena.ne.jp/shu223/20141011/1413030973

openframawroks トラブル メモ


・改行が曲者
・文字表示 ↓

ofDrawBitmapString(ofToString(position.x), 100, 200);
ofDrawBitmapString(ofToString(position.y), 100, 300);
ofDrawBitmapString(ofToString((int)ofGetFrameRate()), 100, 100);

・visual studioでの改行の仕方。

・NoiseWorkshop ← 有名なこれを動かそうとすると。
ofxAutoReloadedShader, the oF 0.8.4 compatible version:
このアドオンが必要ですが。
https://github.com/andreasmuller/ofxAutoReloadedShader/tree/master_0.8.4
これが動かないのよね。
172行目とかでエラーがでます。。。悪さしているコードを消したら動きましたが、、。
大丈夫なのだろうか??



ofDrawBitmapString();

参考サイト:
http://www.myu.ac.jp/~xkozima/lab/ofTutorial4.html

2015年8月23日日曜日

ue4 ランドスケープ マテリアル


TextureCoordinate 式は、マテリアルによる別の UV チャンネルの使用、タイリング処理の特定、メッシュのUVの動作を許可する 2 チャンネルのベクター値形式で UV テクスチャ座標を出力します。
http://monsho.blog63.fc2.com/blog-entry-134.html

Landscape Layer Blend ノード

https://docs.unrealengine.com/latest/JPN/Engine/Landscape/Materials/index.html#landscapelayerblendノード



■一応完成

あっさりしすぎ。

2015年7月9日木曜日

Ue4とarduino をつなげるやり方

UE4Duinoというプラグインを使えば簡単に接続できます。

個人的に大変だったのは、プラグインがインストールされない。

作りなおす必要があり、マイクロシフトのソフトインストールして、
C++のプロジェクトを作って、そのフォルダに直接プラグインをしのばせて、
起動すると、ビルドします。



上の図は
X を押すと SSSSSSSSSSSSSSSS という文字を飛ばし
S を押すと qqqqqqqqqqqqqqqqqqq という文字を飛ばします。

arduinoからの信号の読み取りはこれから作ります。次回レポートを。

Ga4のtest

これを押すとリンクするよ 参考にした記事はこちら