cameraParentingExample
https://github.com/openframeworks/openFrameworks/tree/master/examples/3d/cameraParentingExample
オブジェクトをlookしてカメラからの描画サンプル。
カメラの使い方が理解できるかもですが、やはり processing より複雑だな。
http://d.hatena.ne.jp/kougaku-navi/20160104/p1
2016年12月24日土曜日
3Dの回転について
processing の場合
http://r-dimension.xsrv.jp/classes_j/2_interactive3d/
こちらに書いてあるとおり、
https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/introduction/Exercise_I_10_NoiseLandscape
これを例に
translate()
2Dを画面全体で移動させる。
|
2016年12月23日金曜日
Processing でクラスを考える。よくわからんぞ。
Circle c1, c2; //ColorCircleクラスのインスタンスを宣言
//Circleクラスの宣言 class Circle { float x, y, eSize, velocity;
↑こういう宣言があるとする。
違うのは、クラスの宣言と、インスタンスの宣言ちゅうことやね。
データなどをためる変数型などある。
このへんを知ってないと何が?なんだかわからなくなる。
そもそもだが、すでに作られているクラス=パッケージ化したものもある。
色情報を格納するデータ型 color がある。
画像も格納するデータ型 PImage などある。
Processingのときは Javaで書いているはずだが、上記のデータ型などのルールが
Java全部に適応されるのかは?? わかりませんw
C++のデータ型はこちら
https://www37.atwiki.jp/visualstudio/pages/38.html
みてみると colorなどないから、Processing の際の特有なものかな?
====
クラス名は自由に
2016年12月18日日曜日
地図データ
shape file = 共通データはこれみたい。
JPGIS形式 ってなんですか?
KML ってなんですか?
JPGIS → SHAPE → KML
GeoJSON
https://github.com/moxuse/ofxGeoJSON
あった、やっとみつけた。それっぽいの。
https://github.com/tangrams/ofVectorTile
こちらはベクター
初心者のアルゴリズム ?
やりたいことはあるが、
プログラムでどう表現していいか?わからない。
初期にぶつかるのは for
まず、円をだそうと思った。なにげなく思うのは、
円 を X、Yの場所へ記述 なってことは思いつくと思う。
→ ofCircle(500, 300, 120)
円を書く呪文がある。
http://www.myu.ac.jp/~xkozima/lab/ofTutorial2.html
http://yoppa.org/ma2_10/1739.html
http://yoppa.org/ma2_10/1638.html
こちらを参考に構造をみていく。
======
//円の座標を記録するための、クラス変数
ofPoint pos;
of~~ というは型の宣言。
クラスと型はどうちがうのかな?
//座標を初期化
pos.x = 0;
pos.y = 0;
pos というのは宣言され、実在するが、
あと、setupで宣言しなくても、draw で 宣言 して使うこともできるみたい。
void
testApp::draw(){
//円を描く点をランダムに設定
ofPoint pos;
pos.set(ofRandom(0, ofGetWidth()), ofRandom(0, ofGetHeight()));
//円の半径もランダムに
float
radius = ofRandom(1, 10);
//色もランダムに
ofSetColor(ofRandom(0, 255), ofRandom(0, 255), ofRandom(0, 255));
//設定した場所と半径で、円を描く
ofCircle(pos.x, pos.y, radius);
}
これのすごいのは、
オブジェクトを宣言しました。そもそもですが、
変数の型のことをクラス というとのことC++では。
型は流派、 いれるものが固定化されている決まり。
ofPoint というクラスは入れるもの、入るものが決まっているはず。。。。
ほら。
ほら。
なんか詳しく書いてありますが、混乱してきた。
わけが、わからなくてしているのはこちら。
ofPoint pos;
pos.set(ofRandom(0, ofGetWidth()), ofRandom(0, ofGetHeight()));
まず、最初の ofPoint pos; 変数宣言なのでよしとしましょう。 次です。
pos.set(ofRandom(0, ofGetWidth()), ofRandom(0, ofGetHeight()));
http://yoppa.org/ma2_10/2032.html
pos ドッドセット なんでw? pos のままだとだめでした。 set をしないと
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10132459665
ここにかいてあった。
typedef ofVec3f ofPoint; と定義されてあるとのこと。
→ ofVec3f こいつに変換されるとのことだが、、、。
ofVec2fは、ofVec3f と別物。数字みたら想像できるかもだが、2は2次元、3は3次元。
※ちなみに、typedef は 型に新しい名前をつけるやつのようです。typedef ofVec3f ofPoint; こちらリネームされたちゅうことやね。。。
はぁ ながかった。。
遠回りしましたが、
http://openframeworks.cc/documentation/math/ofVec3f/#show_set
呼び出して、設定する機能?のようです。
この場合はファンクションと呼ばない?
クラス・メソッド?? むずかしいなぁ。
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
登録:
投稿 (Atom)
Ga4のtest
これを押すとリンクするよ 参考にした記事はこちら
-
unity の2Dゲーム制作をやっていてわからなかった点。 背景の画像や、床の画像は適切に配置だけすれば 描画はされるが、そこの床があるか? は 設定しなければならない。 やり方として、2つ。 Box Collider 2D 緑の枠で囲まれているこの線を コ...
-
1ヶ月前からUnreal engineを触ってますが、プログラムの経験がない僕にとっては 結構敷居が高いアプリケーションですが、楽しいのでレベルの低い人でもわかるように お伝えしていきたいと思います。 他の説明ではさらっとやっているところを独自の解釈でお伝えしていきます。...
-
アニメーションの慣性表現を探すとなかなか 日本語でないw こちらの動画を参考につくってみたが、、、。 ぷよんって感じがちょっと違う。 amp = .1; freq = 2.0; decay = 2.0; n = 0; if (numKeys ...