ラベル まとめ の投稿を表示しています。 すべての投稿を表示
ラベル まとめ の投稿を表示しています。 すべての投稿を表示

2011年6月22日水曜日

名言

http://blog.livedoor.jp/nicovip2ch/archives/1679033.html

嫌われないように生きるのって大変だけど、
嫌われないように生きてるってバレたら嫌われちゃうよ?

われわれは現在だけを耐え忍べばよい。
過去にも未来にも苦しむ必要はない。
過去はもう存在しないし、未来はまだ存在していないのだから。

成功は人を前に進め、失敗は人を変える力をそれぞれ持っている

「めんどくさい」は人生最大にして最強の敵

今日という日は、残りの人生の最初の一日



職業ごとの最高のプロポーズ

2011年5月22日日曜日

アマレココ


・各種コーデックベンチマーク2009

・コーデックをつかった画像の転送サンプルプログラム
http://amalabo.blog35.fc2.com/blog-category-9.html



Twitterクライアントをつくる

・認証の種類
OAuthTwitter/ユーザ/Webサービスの3者間で使われる認証で主にWebサービス上で利用される方式、XAuthはTwitter/ユーザの2者間で使われる認証でブラウザ操作を使わないスタンドアローンプログラムで利用される方式です。どちらもユーザ情報とパスワード情報に関連する情報を毎回通信しなくて済むようなフローになっています。(セキュアなHTTPクッキーをイメージしました)
XAuth C++のサンプルプログラム付き

・XAuthするために メールの出し方
https://sites.google.com/site/elekmole/twitter4jtop/00-preparation/i-xauth-preparation

・OAuthAccess
OAuthの簡単ライブラリ

・TwitterAPI等 まとめ
・API日本語まとめ

2011年5月19日木曜日

スタイライズド・レンダリング

http://game.watch.impress.co.jp/docs/series/3dcg/20100922_395310.html
やはり、どこの開発スタジオも気づき始めているようだ。今世代の3Dゲームグラフィックスのリアル志向を極めてしまうと、やや似た感じになってきてしまうということを。」
非リアル系の3DグラフィックスはNon Photo Realistic(NPR)系と言われたり、SIGGRAPHなどのCG系学会では「Stylized Rendering」(スタイライズド・レンダリング:ある法則に基づいたレンダリング手法)などとカテゴライズされることもある。







2011年5月18日水曜日

2011年4月21日木曜日

OpenGL(ES) まとめ

built-in Function

テクスチャ 読み込み方・はりかた
http://d.hatena.ne.jp/uosoft/20090705/1246720348

VAO

glVertexAttribPointer
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof (GLfloat) * 5, 0); glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof (GLfloat) * 5, (GLfloat *)0 + 3);
わかりやすい
頂点バッファオブジェクトの stride と pointer

 /* 頂点情報の格納場所と書式を指定する */   
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof (GLfloat) * 5, 0);   
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof (GLfloat) * 5, (GLfloat *)0 + 3);      ...

圧縮テクスチャ PVCRT
http://webos-goodies.jp/archives/using_compressed_textures_in_iphone.html
OpenGL ES チュートリアル
http://monsho.blog63.fc2.com/?q=OpenGL+ES

2011年3月3日木曜日

DICE 3Dエンジン Enlighten

http://publications.dice.se/publications.asp?show_category=yes&which_category=Rendering

  • あらかじめ表示用の多ポリゴンのシーンと、対応した超低ポリゴンのシーンを作り込んでおき、そのシーンに対応したライトマップ生成と、あらかじめ設定しておいた複数の調査点(Lightprobes)における間接光量(環境光量)をGPUとは非同期にCPUで求めます。 Lightprobesは低解像度の3Dテクスチャに展開し、Deferred Renderingで、この3Dテクスチャをサンプルしてライティングを実行する…というシンプルな実装です。ポイントはLightprobesを3Dテクスチャに展開してしまい、大局照明的な環境光ライティングをDeferred Renderingに統合してしまっているところです。 PCないしはPS3では有効なテクニックとなるかも知れません。

CPUで粗いジオメトリのシーンに対してのライトマップ生成とLightprobesにおける関節光量を計算(左)
通常のシーンレンダリング結果(右)


ライトマップをシーンジオメトリへ適用した結果(左)
Lightprobesにおける関節光量をシーン内のオブシェクトのライティングに反映(右)


http://d.hatena.ne.jp/yakiimo02/20110305



- EnlightenはReal-Time Global IlluminationのMiddleware。入力のDirect Lightingを元に2次反射バウンス光のIndirect Lightingを計算してくれる。

- PS3版のランタイムコードはSPUを活用。SPUのコードがCUDA実装のベースとなったそうです。

- ランタイムは速度重視。単純なメッシュに対してライティングを行い、結果を実メッシュに投影したり、変化のない場合はCache情報を再利用する(Temporal Coherence)などを行って高速化している。ストリームではそのような話はなかったですが、Siggraph 2010スライドではRadiosityの2次反射Bounceを複数フレームまたいで蓄積していると書かれています。

- 最初はGPU実装だったけど、現世代のゲームはGPUに余裕がある事が少ないので、現在はGPU処理の裏でCPU/SPUにIndirect Lighting処理の計算させている。

- Enlightenは完全動的ではなく、Lightingの複雑な演算部分をツールで前処理計算させて、ツール側で実機で高速に処理ができる構造体に落とし込んでいる。

- 完全動的ではないので背景が破壊されたりする場合は少し工夫が必要になる。セッション中のデモでは天井が破壊され、室内のIndirect Lightingが背景の変化に順応する様子がデモンストレーションされていました。

- 日本の会社を含めた15社が現在Enlightenを使用して開発を行っている。Eve OnlineBattlefield 3などが初期使用タイトルとなる。

- 動的オブジェクトGIの影響を受けるだけで、GIには影響を与えない。


後半はEnlightenのCUDAを使用した高速化の話でした。

- ツールによるプリプロセスとランタイムの両方がCUDAに対応している。

- プリプロセスのレイトレ処理は自前のGPGPUレイトレではなくOptiXを使用している。

- 最初はIntel TBBを使用したマルチスレッドCPU実装だった。

- CPUの場合は1M ray/sec per CPU Core(8コアで 8M ray/sec)がGeforce GTX 470、1個で20M ray/secに高速化された。

- CUDAレイトレ実装の処理時間の50%がCPU-GPU間の転送処理らしく、その部分がネックになっている。

- CUDAの使用でレイトレ処理が約5倍高速化され、Geometry Preprocessing処理全体が2倍程度、高速化された。

- CUDAランタイムだと通常のランタイムより複雑なライティング処理が可能。NVIDIAセッションなので、そのような話題はなかったですが、CUDAでできるのならDirectComputeでも同様にランタイムの高速化ができるような気がします。

- ランタイム部分の説明ではDirectXCUDAの切り替えはモード変換を伴うので、遅いから注意が必要だという話もありました。


2011年1月11日火曜日

Facebookは今のままだと多分、日本で流行らない

http://blogs.itmedia.co.jp/fukuyuki/2010/11/facebook-efc8.html
Hikaku
・FaceBookはかわいくないから。
・今のFaceBookのデザインはそのへんのチャラいおねーちゃんは理解できないから。
・日本にはFaceBookより面白いサイトがいっぱいあるから。
・ブルーカラーが理解できる面白さが少ないから
・日本のトラフィックはPCでなくモバイルだから
・ファンページがホムペに負けているかも

2010年12月31日金曜日

フリーソフト100

http://freesoft-100.com/
いい選び方

フリーでPDF作成、 圧縮解凍(ICE) Macのファイルも文字化けしない

リアルタイムGI

http://www.mpi-inf.mpg.de/resources/ImperfectShadowMaps/



学生による上記の改良版
http://martinknecht.blogspot.com/2009/07/real-time-global-illumination-using.html


Cryteck

つぎの3Dエンジン

http://www.4gamer.net/games/092/G009273/20090903001/


次世代の描画方式として,Jones氏が挙げていたのは,

  Point Base Rendering(ポイントベースレンダリング)
  Ray Tracing(レイトレーシング)
  Rasterization(ラスタライゼーション)
  Sparse Voxel Octree(スパースボクセルオクトリー:SVO)

氏が強調していたのはプロシージャル処理の可能性と重要性だ。プロシージャル処理は,描画するオブジェクト自体を,実行時に自動的に作り出す技術で,Crysis Warheadでの霜の処理での実装例などを挙げつつ,いろいろなものをプロシージャルで作り出すことを「夢」として語っていた。

プロシージャル地形

2010年12月29日水曜日

DX11 Order Independent Transparency

まとめ
http://www.yakiimo3d.com/ja/2010/07/19/dx11-order-independent-transparency-2/
DirectX SDK OITサンプルが320×240の画面サイズで10 fpsぐらいでしたが、今回のATI OITの実装は640×480の画面サイズで700 fpsぐらいでました。普通のID3D11BlendStateを利用したalpha blendingだと画面サイズ640×480で3000 fpsぐらいでます。

アンチエイリアス版
PixelShaderにSampleIndexをとっている
struct QuadPS_Input
{
float4 pos : SV_POSITION;
uint nSampleIndex : SV_SAMPLEINDEX; // specify to run pixel shader per sample instead of per pixel
};
結果SuperSampling

2010年11月30日火曜日

TOEIC勉強法

http://d.hatena.ne.jp/mojaro/20101123/1290519626

まとめ

結局は「ある程度基礎勉強をやって、模擬試験をひたすらときまくる」というありきたりな勉強方になった上、それほど点数が伸びないという話なのですが、曲がりなりにも半年やってみて反省点がいくつかあるので列挙してみます。


なんでもこれだ重要

2010年9月2日木曜日

OpenCV 画面上の四角の3次元座標をもとめる

cvFindExtrinsicCameraParams2( &cvpoint3d, &cvpoint2d, cvintmat, dist, cvrvec, cvtvec);
で求める

cvpoint3d: 3Dモデルの座標群
cvpoint2d: 画面上の座標
cvintmaat: カメラマトリックス
dist: 歪み係数ベクル
cvrvec: 回転ベクトル(出力)
cvtvec: 並進ベクトル(出力)
詳細はここ

cvrvec: 回転ベクトル(出力)
cvtvec: 並進ベクトル(出力)
これらを求めたい

cvintmaat: カメラマトリックス
dist: 歪み係数ベクル
これらが必要になる

一連のソースコード

カメラからチェッカーボードをよみキャリブレーション

マーカー検出など

複数枚の画像から三次元位置の計測
エピポーラ幾何

自然特徴点からマーカを自動生成する拡張現実システムの開発
OpenCVでARToolKitのようなこと

OpenCV2.2でのコードとFloatでの精度問題
http://permalink.gmane.org/gmane.comp.lib.opencv/39004

1) カメラ入力動画から複数枚のチェスボードパターン画像を取得。
2) 1)の画像より cvCalibrateCamera2 を用いて内部パラメータ、外部パラメータを求める。
3) カメラ入力動画ループ内で cvFindChessboardCorners で得られたコーナーの四隅の点を
2)で得られた内部パラメータと共に cvFindExtrinsicCameraParams2 に渡し、外部パラメータ(カメラ位置)を求める。