October 2nd, 2010 by yakiimo02 in DirectX11 | No Comments »
http://www.gamedev.net/community/forums/topic.asp?topic_id=583617 gamedev.netのImage of the DayにTemporal AAの画像を投稿してみましたが、通常のテクスチャ・フィルタリングでテクスチャのaliasingを取り除けるはずだというつっこみをもらいました。何かミスっているのかなと思って自分のコードをチェックしてみたら、サンプラーのMaxLodが正しく設定されていなかったみたいです。コードを修正して、mipmapとtrilinear filteringを有効にしたら、texture内のaliasingが大幅に改善されました。Anisotropic Filteringを有効にすると更に画像のぼけている箇所も改善されます。
[Continuar Lendo →]
September 29th, 2010 by yakiimo02 in Demo, DirectX11 | No Comments »
はじめに Temporal AAアルゴリズムは前フレームに描画された情報をサンプルとして利用する、時間方向でのスーパーサンプリング・アンチエイリアス・アルゴリズムです。Temporal AAの実装方法自体は幾つかあるみたいですが、前フレームと現在フレームの透視投影変換行列をジッタさせ、ブレンドして表示するという単純なアルゴリズムを自分は実装しました。この種類のTemporal AAはBeyond3Dのフォーラムでも話題になっています(http://forum.beyond3d.com/showthread.php?t=46241)。 Nao_uさんもTemporal AAを実装されています。http://game.g.hatena.ne.jp/Nao_u/20100924でNao_uさんのTemporal AA実装のスクリーンキャプチャーや冷静で的確な考察が読めます。 いつものようにプログラムのバイナリとソースが置かれているCodePlexページへのリンクを記事の最後の方に貼っています。 Halo: Reach Temporal AA http://www.eurogamer.net/articles/digitalfoundry-halo-reach-tech-analysis-article (AAはページ3で取り上げられています。) Digital Foundryが最近Halo: ReachをTech Analysisで取り上げました。いつもように自社がメディアや開発者に販売している機材を利用して、Halo: Reachを解析していますが、ゲーム内でのアンチエイリアスの特性から、Halo: Reachでのアンチエイリアスは何らかのTemporal AAだと話題にされています。 http://d.hatena.ne.jp/yakiimo02/20100920/1284950755 Digital Foundryの記事に関する自分の日記です http://d.hatena.ne.jp/yakiimo02/20100923/1285230579 Halo: Reachを実際に購入してプレイした自分のアンチエイリアスに対する感想です。 CryEngine3 Temporal AA http://advances.realtimerendering.com/s2010/index.html Siggraph 2010の「Advances in Real-Time Rendering in 3D Graphics and Games」コースの「CryENGINE 3: Reaching the Speed of Light」でCryEngine3でのAA実装についての紹介がありました。CryEngine3では手前の物体と遠方の物体に別々のAAアルゴリズムが適用されるハイブリッドな手法を採用しているそうです。手前の物体に関してはEdge検出ベースのポストプロセスAAが適用され、遠方の物体に関してはTemporal AA(the temporal reprojection with cache miss手法)が適用されるそうです。 Crytekの公開資料でtemporal [...]
[Continuar Lendo →]
September 23rd, 2010 by yakiimo02 in DirectCompute, DirectX11 | No Comments »
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=5681 先日リリースされたBullet Physics 2.77にAMD提供のOpenCLとDirectCompute版のClothサンプルが追加されたみたいです。 http://channel9.msdn.com/Blogs/gclassy/DirectCompute-Lecture-Series-230-GPU-Accelerated-Physics 上記のErwin Coumansさんのフォーラムアナウンスで紹介されていますが、ATI/AMDのLee Howesさんによる今回のDirectCompute Cloth実装に関するプレゼン動画をMSDNのサイトで見ることが可能みたいです。動画のプレゼン資料も動画のページからDLできるみたいです。 早速Bullet Physics 2.77をDLしてDX11 DirectCompute Clothサンプルを実行してみました。自分のHD5750だとリリースビルドで、5枚のクロスが揺らぐシーンで310-350fpsぐらいの実行速度でした。フォーラムアナウンスでも書かれていましたが、衝突判定が未実装な為、Clothの一部が自分自身を貫通したりしますが、全体的にはいい感じです。 http://cedec.cesa.or.jp/2010/program/PG/C10_P0206.html 今年のCEDEC 2010でのAMD DirectComputeセッションで今回のBulletにインテグレートされたCloth Simulationサンプルがトピックとして取り上げられたみたいです。今年はCEDECの幾つかのセッションに行かせてもらいましたが、AMDのDirectComputeセッションには行っていないです。
[Continuar Lendo →]
September 19th, 2010 by yakiimo02 in DirectX11 | No Comments »
http://www.butamanrenderer.com/ Butaman Rendererのblog。最近趣味で実装を始めようとしているglobal illumination rendererのblogです。 http://www.butamanrenderer.com/2010/09/19/smallpt-cpu-optimizations/ Butaman Renderer blogのsmallpt cpu optimization記事。 先月から少しずつ行ってきた、smallptのSIMD & マルチスレッドCPU高速化版のblog記事を書きました。DirectX11でprogressive renderingとtonemapを行い、デモとそのソースコードを公開したので、Yakiimo3Dでも紹介しておきます。最適化無しのシングルスレッドのsmallptの実装と比較したら4CPUのCore2Quadで5.71-6.73倍高速化できました。マルチスレッドの実績として3.18-3.75倍、高速化されますが、rayとsphereのデータをSOAに再構成して、SIMDでray-sphere交差の計算を行う処理もある程度の高速化につながりました。もうすでにナイスなOpenCL smallpt GPGPU実装(http://davibu.interfree.it/opencl/smallptgpu/smallptGPU.html)が存在しますが、比較対象となる高速化したCPU版ができたので、将来的に自分もDirectCompute smallpt GPGPU実装をやりたいなと思います。
[Continuar Lendo →]
September 7th, 2010 by yakiimo02 in DirectX11 | No Comments »
http://hieroglyph3.codeplex.com/ Hieroglyph 3のCodePlexページ。 http://www.gamedev.net/community/forums/mod/journal/journal.asp?user=JasonZ Jason Zinkのgamedev.net日記。最近はHieroglyph 3に関する記述が多いです。 数ヶ月前に単純なDX11 tessellationのサンプルを検索している時に知りました。Hieroglyph 3はオープンソースのDirectX11 rendering engineですが、単純なDX11 tessellationサンプルだけでなく、DirectCompute SSAOやDirectCompute water simulationのサンプルも提供しています。最近はdeferred context multithreaded renderingにも対応したみたいです。他にMITライセンスのDX11 rendering engineは知らないので、DX11を勉強している人にとっては面白いエンジンのような気がします。
[Continuar Lendo →]