今の心境を少し。
ポートフォリオ作ってて単純に思う事。
「俺って何がしたいんやろう」というよく就活生が口にしがちな言葉が出てくる。
自己分析が足りないと言われるかもしれないが、自己分析なんて一人でやっても答えなんて出てきやせんでしょ。
今まで、「ある環境に身を置いて、そこで自分の力を発揮していく」という感じで色んなものに手を出してきたと思う。
つまり「予め課題や問題や依頼があって、それに合わせて作っていく」というスタイルになると思う。
だから、今回もそうしようと思う。簡単なことだ。
早く作って色んな人に見せて、フィードバックをガンガン入れていくっていうスタイルの方が自分に絶対合ってる。
現段階のポートフォリオは、やってきた事をつらつらと総ざらいしたものなので、これを他人に見てもらって、そこで得られる意見とか生まれる会話の中からどんどんフィードバックしていけばいいと思う。
いいポートフォリオを作るためではなく、これからの就活の方向性を決めるために。
自分のやっている事をうまくしゃべるための練習にもなるんじゃないかな。
「ポートフォリオ作ったんですけど、見て頂けませんか?」とか
「○○という企業に応募するんですけど、こんなんで大丈夫ですか?」とか
「作ってみたんですけど、正直何がしたいんかよくわかんないんすよね」みたいな感じでもいいんじゃないかな最初は。
いっそ「こんなんでひろってくれるとこありますかね?」みたいなんでもいいんじゃね笑
自分の場合、映像業界かWEB業界かゲーム業界あたりが目標になるから、最終的には戦略的にならなあかん。
けちょんけちょんに言われて精神的にまいってしまう事もあるかもしれんけど、そんときはそんとき。もっかいやり直せばいい。不屈の精神力で頑張る。根性だけは誰にも負けたくない。
人の意見を取り入れて、問題を見つけて改善していく。ただそれだけのシンプルな事。
周りには優秀な人がたくさんいるのだから、ガンガン意見を拝借して自分の形を作っていこうと思う。
わりとスッキリとした答えになった。考えるよりはまず行動せねば。
軽快なフットワークと拙速。これが大事。
2012年1月5日木曜日
2011年12月12日月曜日
作業メモ:尹さん、NOIR_CM、ゴルフ場
【尹さんプロジェクト】
・作業PC:総合研究棟3Fハイスペックwindows
・作業ディレクトリ:E:\kawabata\Mojiko
【NOIR_CM】
・作業PC:総合研究棟3Fハイスペックwindows
・作業ディレクトリ:E:\kawabata\Noir_CM
・プログラム:総合研究棟地下PC
・OFバージョン:v007
【ゴルフ場】
・作業PC:総合研究棟3Fハイスペックwindows(途中までノートPC)
・作業ディレクトリ:C:\Users\gendalab\Documents\maya\projects\default
・バックアップ:研究室サーバー
・作業PC:総合研究棟3Fハイスペックwindows
・作業ディレクトリ:E:\kawabata\Mojiko
【NOIR_CM】
・作業PC:総合研究棟3Fハイスペックwindows
・作業ディレクトリ:E:\kawabata\Noir_CM
・プログラム:総合研究棟地下PC
・OFバージョン:v007
【ゴルフ場】
・作業PC:総合研究棟3Fハイスペックwindows(途中までノートPC)
・作業ディレクトリ:C:\Users\gendalab\Documents\maya\projects\default
・バックアップ:研究室サーバー
2011年12月9日金曜日
2011年11月27日日曜日
テクスチャのあれこれ
メモです。
openFrameworksのofImageで読み込んだ画像をopenGLのテクスチャで使用する方法
ofTextureの使い方がようわからんのと、時間が無いというのを理由に無理矢理やります。基本的に自分の備忘録なので、自分が分かればよいというのを大前提で書きます。
【.hファイル】
#define IMAGE_NUM 10 // とりあえず10枚画像を読み込む事にする
ofImage image[IMAGE_NUM];
// テクスチャ用
unsigned char *(Data[IMAGE_NUM]);
GLuint texture[IMAGE_NUM];
GLdouble float_Data[IMAGE_W * IMAGE_H * 3];
ofColor color_Data;
【.cppファイル】
// 画像の読み込み
for( int i = 0; i < IMAGE_NUM; i++)
{
image[i].loadImage( "../bin/data/Image/Model_0.jpg");
// テクスチャ初期化
// テクスチャ読み込み配列を定義
Data[i] = new unsigned char[IMAGE_W * IMAGE_H * 3];
//初期化
memset(Data[i], 0, sizeof(unsigned char) * IMAGE_W * IMAGE_H * 3);
//ここでカラー設定
for(int loopY = 0; loopY < IMAGE_H; loopY++)
{
for(int loopX = 0;loopX < IMAGE_W; loopX++)
{
//unsigned char* getPixels = texIMG_3D[i].getPixels();
int imgW = (int)ofMap( loopX, 0, IMAGE_W, 0, imageW[i]);
int imgH = (int)ofMap( loopY, 0, IMAGE_H, 0, imageH[i]);
color_Data = image[i].getColor( imgW, imgH);
float_Data[loopY * (IMAGE_W*3) + loopX*3 + 0] = color_Data.r;
float_Data[loopY * (IMAGE_W*3) + loopX*3 + 1] = color_Data.g;
float_Data[loopY * (IMAGE_W*3) + loopX*3 + 2] = color_Data.b;
Data[i][loopY * (IMAGE_W*3) + loopX*3+0] = static_cast<unsigned char>( float_Data[loopY * (IMAGE_W*3) + loopX*3 + 0] );//r
Data[i][loopY * (IMAGE_W*3) + loopX*3+1] = static_cast<unsigned char>( float_Data[loopY * (IMAGE_W*3) + loopX*3 + 1] );//g
Data[i][loopY * (IMAGE_W*3) + loopX*3+2] = static_cast<unsigned char>( float_Data[loopY * (IMAGE_W*3) + loopX*3 + 2] );//b
//Data[i][loopY * (IMAGE_W*3) + loopX*3+0] = static_cast<unsigned char>((255/IMAGE_W)*loopX);//r
//Data[i][loopY * (IMAGE_W*3) + loopX*3+1] = static_cast<unsigned char>((255/IMAGE_H)*loopY);//g
//Data[i][loopY * (IMAGE_W*3) + loopX*3+2] = static_cast<unsigned char>((255/IMAGE_NUM)*i);//b
}
}
}
// ピクセルを自由に使える処理?
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
//数を知らせる
glGenTextures(IMAGE_NUM, &texture[0]);
for( int i = 0; i < IMAGE_NUM; i++)
{
glBindTexture(GL_TEXTURE_2D, texture[i]); //1枚目をバインド(設定する)
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);// 拡大フィルタ
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);// 縮小フィルタ
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_W, IMAGE_H, 0, GL_RGB, GL_UNSIGNED_BYTE, Data[i]);
delete Data[i];
}
/*------------------------------------------------
以下の2行が無いと、アルファ抜きはできてもテクスチャ同士のアルファ抜きはできない
------------------------------------------------*/
/* テクスチャ環境 */
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
/* アルファテストの比較関数 */
glAlphaFunc(GL_GREATER, 0.f);
//----------------------------------------------
こんな感じでセットアップ完了
あとは使いたいところで
//----------------------------------------------
glBindTexture(GL_TEXTURE_2D, texture[imageID]);
/**** アルファテスト開始 ****/
glEnable(GL_ALPHA_TEST);
glEnable(GL_TEXTURE_2D);
glBegin(GL_QUADS);
glTexCoord2d(0.0, 1.0); glVertex3d(-500, 500, 0.f);
glTexCoord2d(0.0, 0.0); glVertex3d(-500,-500, 0.f);
glTexCoord2d(1.0, 0.0); glVertex3d( 500,-500, 0.f);
glTexCoord2d(1.0, 1.0); glVertex3d( 500, 500, 0.f);
glEnd();
glDisable(GL_TEXTURE_2D);
/**** アルファテスト終了 ****/
glDisable(GL_ALPHA_TEST);
//----------------------------------------------
みたいに使えばOK
流れとしてはofImageからカラー情報を取り出して、Data配列にぶち込んで、textureに値を渡すというなんとも回りくどいやり方をやっている。
我流にもほどがあるだろ。
openGLの知識が要るのは、glGenTextures(IMAGE_NUM, &texture[0]);以下の設定の所かな。
ここでテクスチャの基本設定を行っているっぽい。
3Dテクスチャもこれと同じ作り方してたんだなー。結構汎用性があっていいかも。
unsigned char型のDataを扱っているところあたりがかなりプリミティブな処理をしているから、コードから原理がわかる。
openFrameworksのofImageで読み込んだ画像をopenGLのテクスチャで使用する方法
ofTextureの使い方がようわからんのと、時間が無いというのを理由に無理矢理やります。基本的に自分の備忘録なので、自分が分かればよいというのを大前提で書きます。
【.hファイル】
#define IMAGE_NUM 10 // とりあえず10枚画像を読み込む事にする
ofImage image[IMAGE_NUM];
// テクスチャ用
unsigned char *(Data[IMAGE_NUM]);
GLuint texture[IMAGE_NUM];
GLdouble float_Data[IMAGE_W * IMAGE_H * 3];
ofColor color_Data;
【.cppファイル】
// 画像の読み込み
for( int i = 0; i < IMAGE_NUM; i++)
{
image[i].loadImage( "../bin/data/Image/Model_0.jpg");
// テクスチャ初期化
// テクスチャ読み込み配列を定義
Data[i] = new unsigned char[IMAGE_W * IMAGE_H * 3];
//初期化
memset(Data[i], 0, sizeof(unsigned char) * IMAGE_W * IMAGE_H * 3);
//ここでカラー設定
for(int loopY = 0; loopY < IMAGE_H; loopY++)
{
for(int loopX = 0;loopX < IMAGE_W; loopX++)
{
//unsigned char* getPixels = texIMG_3D[i].getPixels();
int imgW = (int)ofMap( loopX, 0, IMAGE_W, 0, imageW[i]);
int imgH = (int)ofMap( loopY, 0, IMAGE_H, 0, imageH[i]);
color_Data = image[i].getColor( imgW, imgH);
float_Data[loopY * (IMAGE_W*3) + loopX*3 + 0] = color_Data.r;
float_Data[loopY * (IMAGE_W*3) + loopX*3 + 1] = color_Data.g;
float_Data[loopY * (IMAGE_W*3) + loopX*3 + 2] = color_Data.b;
Data[i][loopY * (IMAGE_W*3) + loopX*3+0] = static_cast<unsigned char>( float_Data[loopY * (IMAGE_W*3) + loopX*3 + 0] );//r
Data[i][loopY * (IMAGE_W*3) + loopX*3+1] = static_cast<unsigned char>( float_Data[loopY * (IMAGE_W*3) + loopX*3 + 1] );//g
Data[i][loopY * (IMAGE_W*3) + loopX*3+2] = static_cast<unsigned char>( float_Data[loopY * (IMAGE_W*3) + loopX*3 + 2] );//b
//Data[i][loopY * (IMAGE_W*3) + loopX*3+0] = static_cast<unsigned char>((255/IMAGE_W)*loopX);//r
//Data[i][loopY * (IMAGE_W*3) + loopX*3+1] = static_cast<unsigned char>((255/IMAGE_H)*loopY);//g
//Data[i][loopY * (IMAGE_W*3) + loopX*3+2] = static_cast<unsigned char>((255/IMAGE_NUM)*i);//b
}
}
}
// ピクセルを自由に使える処理?
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
//数を知らせる
glGenTextures(IMAGE_NUM, &texture[0]);
for( int i = 0; i < IMAGE_NUM; i++)
{
glBindTexture(GL_TEXTURE_2D, texture[i]); //1枚目をバインド(設定する)
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);// 拡大フィルタ
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);// 縮小フィルタ
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_W, IMAGE_H, 0, GL_RGB, GL_UNSIGNED_BYTE, Data[i]);
delete Data[i];
}
/*------------------------------------------------
以下の2行が無いと、アルファ抜きはできてもテクスチャ同士のアルファ抜きはできない
------------------------------------------------*/
/* テクスチャ環境 */
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
/* アルファテストの比較関数 */
glAlphaFunc(GL_GREATER, 0.f);
//----------------------------------------------
こんな感じでセットアップ完了
あとは使いたいところで
//----------------------------------------------
glBindTexture(GL_TEXTURE_2D, texture[imageID]);
/**** アルファテスト開始 ****/
glEnable(GL_ALPHA_TEST);
glEnable(GL_TEXTURE_2D);
glBegin(GL_QUADS);
glTexCoord2d(0.0, 1.0); glVertex3d(-500, 500, 0.f);
glTexCoord2d(0.0, 0.0); glVertex3d(-500,-500, 0.f);
glTexCoord2d(1.0, 0.0); glVertex3d( 500,-500, 0.f);
glTexCoord2d(1.0, 1.0); glVertex3d( 500, 500, 0.f);
glEnd();
glDisable(GL_TEXTURE_2D);
/**** アルファテスト終了 ****/
glDisable(GL_ALPHA_TEST);
//----------------------------------------------
みたいに使えばOK
流れとしてはofImageからカラー情報を取り出して、Data配列にぶち込んで、textureに値を渡すというなんとも回りくどいやり方をやっている。
我流にもほどがあるだろ。
openGLの知識が要るのは、glGenTextures(IMAGE_NUM, &texture[0]);以下の設定の所かな。
ここでテクスチャの基本設定を行っているっぽい。
3Dテクスチャもこれと同じ作り方してたんだなー。結構汎用性があっていいかも。
unsigned char型のDataを扱っているところあたりがかなりプリミティブな処理をしているから、コードから原理がわかる。
DigitalBoutique_01
今もらっているお仕事(?)お遊び(?)のお話。
仮想ブティックを映像で作りプロジェクターで空間そのものを作り出してしまおうという計画。
単純に、芸能事務所のCM作りなのだが、自分のやりたいようにやらせてもらう。
【作業メモ】
Cortexのキャリブレーションデータ保存ディレクトリ
D:\kawabata\20111127_Noir\2320
Cortex情報
【バージョン】
Cortex-64 2.0.2.917
【手順】
1、立ち上げて、connect to cameras→Raptar,Eagle両方使った
2、保存ディレクトリを決める
3、静的キャリブレーション
4、動的キャリブレーション→なんとなく成功した
5、MiscのIPアドレス"10.1.1.250"
6、VisualC++のプロジェクトのCortexのセットアップのコードで
if(RC_Okay != Cortex_Initialize(const_cast<char*>("10.1.1.250"),const_cast<char*>("10.1.1.250"))){
とMiscのIPアドレスをコピペ
7、D:\kawabata\of_preRelease_v0061_vs2008_FAT\apps\myApps\oscSenderFromCortex_v04
のOFのプロジェクトを実行すると、送られてきたマーカー数と座標(テンプレートなし)を確認できる
※
今回は隣のPCを立ち上げることなく、C++でマーカー情報を取得することができた。
今までは、隣のPCに接続して隣のPCのIPアドレスをMiscとCortexセットアップの所に書かなければならなかった。
※
配線は全くいじっていないので原状復帰は楽にできそうだ
※
いつもはCortexのセットアップだけで時間がとられてしまうので、スムーズにいったのが逆に怖い。
本番動かないとかになりかねない。
※
ofxSimpleGuiTooをOFのver007以降で使おうとすると、
ofGraphicsのofSetColor(int gray)でエラーが出るので、
これをコメントアウトしてofSetColor(const ofColor & color)の方だけを使うようにすると通る。
仮想ブティックを映像で作りプロジェクターで空間そのものを作り出してしまおうという計画。
単純に、芸能事務所のCM作りなのだが、自分のやりたいようにやらせてもらう。
【作業メモ】
Cortexのキャリブレーションデータ保存ディレクトリ
D:\kawabata\20111127_Noir\2320
Cortex情報
【バージョン】
Cortex-64 2.0.2.917
【手順】
1、立ち上げて、connect to cameras→Raptar,Eagle両方使った
2、保存ディレクトリを決める
3、静的キャリブレーション
4、動的キャリブレーション→なんとなく成功した
5、MiscのIPアドレス"10.1.1.250"
6、VisualC++のプロジェクトのCortexのセットアップのコードで
if(RC_Okay != Cortex_Initialize(const_cast<char*>("10.1.1.250"),const_cast<char*>("10.1.1.250"))){
とMiscのIPアドレスをコピペ
7、D:\kawabata\of_preRelease_v0061_vs2008_FAT\apps\myApps\oscSenderFromCortex_v04
のOFのプロジェクトを実行すると、送られてきたマーカー数と座標(テンプレートなし)を確認できる
※
今回は隣のPCを立ち上げることなく、C++でマーカー情報を取得することができた。
今までは、隣のPCに接続して隣のPCのIPアドレスをMiscとCortexセットアップの所に書かなければならなかった。
※
配線は全くいじっていないので原状復帰は楽にできそうだ
※
いつもはCortexのセットアップだけで時間がとられてしまうので、スムーズにいったのが逆に怖い。
本番動かないとかになりかねない。
※
ofxSimpleGuiTooをOFのver007以降で使おうとすると、
ofGraphicsのofSetColor(int gray)でエラーが出るので、
これをコメントアウトしてofSetColor(const ofColor & color)の方だけを使うようにすると通る。
2011年11月24日木曜日
記事
本家kinect sdk と openNI の共存
http://d.hatena.ne.jp/kaorun55/20110627/1309193339
skeletalViewerのまとめ
http://www.atmarkit.co.jp/fdotnet/kinectsdkbeta/kinectsdkbeta02/kinectsdkbeta02_01.html
http://d.hatena.ne.jp/kaorun55/20110627/1309193339
skeletalViewerのまとめ
http://www.atmarkit.co.jp/fdotnet/kinectsdkbeta/kinectsdkbeta02/kinectsdkbeta02_01.html
登録:
投稿 (Atom)