2010年8月29日日曜日
Collada JOINTの扱い
http://bfmr.blogspot.com/2008/10/skinned-mesh.html
バインドポーズ逆行列[i]・Jointの行列[i]・モデルの頂点座標・weight[i]が 取れる。(iはJointのIndex)
bind_shape_matrixはどうつかうんだっけ
追記
ばっちりのってた
バインド形状中の各頂点v に対するスキニングの計算は、以下の通りです。
• n: 頂点v に影響するジョイントの数
• BSM: バインド形状行列
• IBMi: ジョイントi の逆バインド行列
• JMi: ジョイントi のジョイント行列
• JW: 頂点v に対するジョイントi のジョイント影響・重み
高度なJavaScript集
http://www.onicos.com/staff/iz/amuse/javascript/expert/
ライブラリ編
こんなの JavaScript で作るかよってな代物です。 できてしまったものはしょうがないでしょう。- utf.js (UTF-8 <-> UTF16 変換)
- base64.js (Base64 encode/decode)
- md5.js (MD5)
- des.js (DES 暗号化/復号化)
- inflate.js (zip で通常用いられている解凍ルーチン)
- deflate.js (zip で通常用いられている圧縮ルーチン)
- BigInt.js (整数の多倍長計算ライブラリ)
- printf.js (printf(), sprintf(): 誰もが欲しそうなやつね)
DirectX11 BC6とBC7
http://www.4gamer.net/games/033/G003329/20080908021/
エラーが少ない
ツール
DirectX SDKにはいっている
BC6HBC7EncoderDecoder11 Sample
2010年8月26日木曜日
Collada transparentとtransparencyの関係
効な値を持つオプションのopaque 属性を持ちます。
• A_ONE(デフォルト):カラーのアルファチャネルから透明度情報を取り出します。ここで値
1.0 は不透明を表します。
• RGB_ZERO:各チャネルが独立して調整される、カラーのR(赤)、G(緑)、B(青)チャネル
から透明度情報を取り出します。ここで値0.0 は不透明を表します。
レンダラをアルファブレンディングモードに切り替える必要があります。2 つの値を組み合わせる方法
は、以下の式で定義されます。 これらの式を使って、の不透明設定に基づき正しい
結果を求めます。ここで、fb はフレームバッファ(すなわち、レンダリング中のものの背後にあるイ
メージ)であり、mat は透明度計算前のマテリアルカラーです。
• A_ONE 不透明モードでは、以下のとおりです。
result.r = fb.r * (1.0f - transparent.a * transparency) + mat.r *(transparent.a * transparency)
result.g = fb.g * (1.0f - transparent.a * transparency) + mat.g *(transparent.a * transparency)
result.b = fb.b * (1.0f - transparent.a * transparency) + mat.b *(transparent.a * transparency)
result.a = fb.a * (1.0f - transparent.a * transparency) + mat.a *(transparent.a * transparency)
• RGB_ZERO 不透明モードでは、以下のとおりです。
result.r = fb.r * (transparent.r * transparency) + mat.r *(1.0f -transparent.r * transparency)
result.g = fb.g * (transparent.g * transparency) + mat.g *(1.0f -transparent.g * transparency)
result.b = fb.b * (transparent.b * transparency) + mat.b *(1.0f -transparent.b * transparency)
result.a = fb.a * (luminance(transparent.rgb) * transparency) + mat.a *(1.0f - luminance(transparent.rgb) * transparency)
ここで、luminance(輝度)は、ISO/CIE カラー標準(『ITU-R Recommendation BT.709-4』を参照)
に基づき、以下のようにカラーチャネルを平均して1 つの値にする関数です。
luminance = (color.r * 0.212671) +(color.g * 0.715160) +(color.b * 0.072169)
透明モードは、デフォルトの不透明モードのままです。つまり、次の式と同じことになります。
transparent = 1.0 1.0 1.0 1.0
• が存在しない場合、は式の結果に影響を与えません。つ
まり、係数が1.0 であるのと同じことになります。
transparency = 1.0
• との両方が存在する場合は、両方ともその機能を発揮しま
す。
アプリケーションは同等の結果を得ることができます。
transparent = 0.0 0.0 0.0 1.0
transparency = 1.0
A_ONE は透明度情報がRGB チャネルでなくアルファチャネルからもたらされるということを指定するので、次の例では、カラーは指定され使用されていますが、RGB の値は透明度の計算に対して無視されます。
DirectX PixelShader入力値の補間指定
http://msdn.microsoft.com/ja-jp/library/ee418380(VS.85).aspx
補間修飾子説明linearシェーダー入力間で補間します。linear は、補間修飾子が指定されていない場合の既定値です。centroidピクセルのカバーされている領域内にあるサンプル間を補間します (ピクセルの中心からの補間終了位置が必要になる場合があります)。ピクセルが部分的にカバーされている場合は (ピクセルの中心がカバーされていなくても)、重心サンプリングによってアンチエイリアシングが改善される可能性があります。centroid 修飾子は、linear 修飾子または noperspective 修飾子と組み合わせて使用する必要があります。nointerpolation補間しません1。noperspective補間時にパースペクティブ補正を実行しません。この補間修飾子を他の補間修飾子と一緒に使用することはできません。sample補間時にパースペクティブ補正を実行しません。この補間修飾子を他の補間修飾子と一緒に使用することはできません。
使用可能な組み合わせをまとめてみました。
・nointerpolation (== constant)
・linear
・linear centroid
・linear noperspective
・linear noperspective centroid
・nointerpolation (== constant)
・linear
・linear centroid
・linear noperspective
・linear noperspective centroid
2010年8月25日水曜日
2010年8月23日月曜日
2010年8月20日金曜日
PCにつなぐ全方位カメラ
○ゆがみ補正つき完成品
http://www.vsharp.co.jp/index.php/showproducts/vsmabelcat.html○Cマウント 魚眼レンズ
○コンバージョンレンズ
○全方位ミラー パノラマ360度レンズ
オーダーメイド可
2010年8月19日木曜日
シンプルなタスクスケジューラ
http://www.butamanrenderer.com/2010/08/16/nulstein-a-work-stealing-task-scheduler-2/?lang=ja
TBBライクで軽量
超軽量3Dエンジンソース並列処理含む
アセンブラの演算関数多数
Deferred Shading
チュートリアル
コードと詳しい説明付き
DiCE
・Tile-Based Lighting
・ComputeShader
・Anti-Aliasing
Intel tiled-base
ソースコード有り
2010年8月17日火曜日
モノを書くことで大事なこと
hyuki
#onwriting 陥りがちな誤りは、「自分が知っていることを全部書こうとする」という誤りです。せっかく勉強したんだから全部書こうとする行為。これは自己満足であって、読者のための行為ではないです。これは勉強熱心だけれど読者のことを忘れがちな著者(私だ)にありがち。
Mon Sep 21 2009 22:07:53 (Japan Standard Time) Twitから
mokeheheがリツイート
hyuki
#onwriting 大事なことをお話しします。著者は、読者を馬鹿にしたり、出し抜こうとしたりしてはいけません。「ほーら、あんたはこんなこと知らないだろう?」などという気持ちで書いてはいけない。読者は著者のそういう態度を必ず見抜くものです。
#onwriting 陥りがちな誤りは、「自分が知っていることを全部書こうとする」という誤りです。せっかく勉強したんだから全部書こうとする行為。これは自己満足であって、読者のための行為ではないです。これは勉強熱心だけれど読者のことを忘れがちな著者(私だ)にありがち。
Mon Sep 21 2009 22:07:53 (Japan Standard Time) Twitから
mokeheheがリツイート
hyuki
#onwriting 大事なことをお話しします。著者は、読者を馬鹿にしたり、出し抜こうとしたりしてはいけません。「ほーら、あんたはこんなこと知らないだろう?」などという気持ちで書いてはいけない。読者は著者のそういう態度を必ず見抜くものです。
2010年8月16日月曜日
組み込み用 ビデオカード
http://www.elsa-jp.co.jp/products/graphicsboard/egde_emp8/index.html
安定した動作を重視し、組込み機器向けとして実績のあるNVIDIA EMP8グラフィックスプロセッサを搭載。DirectX 10及びOpenGL3.0に対応。また高性能な16のCUDAプロセッサコアを搭載し、高解像度のジオメトリ、頂点、ピクセルシェーダを高速処理することが可能です。
映画 とびだす絵本3D
http://www.moon-light.ne.jp/news/2010/08/ehon-3d.html
今作は単にアニメーション化されるのではなく、
原画の素朴な雰囲気をそのまま生かした画風と共に、
こどもに優しく語り掛ける昔ながらの「読み聞かせ」で制作。
最先端の3Dと融合させ、まったく新しいスタイルの映画作品となっています。
原画の素朴な雰囲気をそのまま生かした画風と共に、
こどもに優しく語り掛ける昔ながらの「読み聞かせ」で制作。
最先端の3Dと融合させ、まったく新しいスタイルの映画作品となっています。
2010年8月11日水曜日
2010年8月8日日曜日
CrossFireXでのプログラミングのコツ
http://www.4gamer.net/games/085/G008506/20100315027/
「フレーム間をまたがるクエリを持たせない」「クエリの結果を,少し間を置いて受け取るようにする」といった対策を取るだけで,CPUとGPUがバランス良く機能するようになると説明している
2010年8月7日土曜日
2010年8月5日木曜日
2010年8月4日水曜日
2010年8月2日月曜日
3Dゲームグラフィックスは物理ベースのレンダリングへ
http://cedec.cesa.or.jp/2010/program/PG/C10_P0165.html
スペクトル領域で処理された光の物理量をどのようにして最終的なsRGB色空間上のRGB値に変換するのかということを解説します。ライトの物理量を正しく処理することにより、従来の単なる非線形トーンマップと異なり、イメージセンサーが持つ複雑なスペクトル-色変換がもたらす現象をある程度再現
AmbientBRDF
環境光に対してもBRDFに配慮
タイヤにハイライトがついている
登録:
投稿 (Atom)