フォト

Google AdSense


  • AdSense
無料ブログはココログ

« 2012年12月 | トップページ | 2013年2月 »

2013.01.31

バーチャルジョイスティックの話のその後

以前、触れた新しいバーチャルジョイスティックの話の続きの記事が来てました。

http://www.altdevblogaday.com/2013/01/29/an-update-to-single-joystick/

下記のページではUnity Web Playerで実際に触れることができるようになっています。

Unity Web Playerでの動作デモ
http://ericraue.com/f/external/unity/Joystick/

2013.01.29

I3D 2013論文"Hybrid Transparency"のビデオ

I3D 2013論文"Hybrid Transparency"のビデオが気になる。

http://www.inf.ufrgs.br/~mmaule/research/videos/index.html

Transparencyをレイヤーで処理するような感じのようだが、具体的な手法など気になる。

まじめに、レイヤーで処理するとレイヤー数が多すぎるようで、上のサイト見てるとかなり少ないレイヤー数で処理できるようだ。

Power Plant:
12,748,510 triangles,
up to 588 transparent layers.
Hybrid Transparency(提案手法):
8 slots.

2013.01.28

タッチパネルと大量の動的光源

タッチパネル端末で、大量に動的光源を使ったゲームとかちょっと試しに作ってみたいよなぁ。

ライト自体をタッチで動かして明かりを移動させて...みたいなのなんですが、ちょっと速度的にもうちょっとチューニングしないと厳しいかもなぁ。

ForwardよりもDeferredでシェーディングパスをシンプルにするかなぁ。

Core i5のGPUのタブレットで

なんとなくCore i5のタブレットで動かした見たけど動くけど、速度はさすがに出ないですなぁw。

なんかこっちの場合は、Intelのサンプルに比べてライト数落としてもあまり速度向上無くて、とにかくカリングが重いんだけどDepthカリング切ってみたりするといカリングがすごく早くなるんだけどForwardがすごい重い。

なんか、IntelのGMA HD 4000だと特有の最適化とかあるのかなぁ。

でもまぁ、とりあえずでも動くだけいいか。

Corei5

AMDがForward+サンプルを公開

Geeks3D.comによるとAMDがForward+サンプルを公開したそうです.

http://www.geeks3d.com/20130128/amd-supersample-anti-aliasing11-v1-0-and-forwardplus11-v1-0-direct3d-11-samples/

ソースとビルド済みバイナリは下記から落とせます.

ForwardPlus11
http://developer.amd.com/wordpress/media/2013/01/ForwardPlus11_v1.0.zip

とりあえず、動かしてみたのが下記です.古いGPUなのでフレームレートは参考にならないです.最近のハイエンドならかなり出ます.

Forwardplus001ポイントライトのみ


Forwardplus002ポイントライトとスポットライト

GUIをどう書くか

ツール作ってるといつもそれにぶち当たるんだよなぁ。

Windows 8になってストアアプリの場合は、XAMLがC++でも使えるわけですが、デスクトップでもWinRT的な方法で書きたいなぁ。

ストアアプリは配布がめんどくさすぎる。

2013.01.27

ここ二日

色々とShader Reflectionのコードをいじってたけど、色々とシェーダツール作るには良さそうだなぁ。

とりあえず、

・シェーダを書く
・C++側のコードを自動生成する

みたいなことはやりたい。

2013.01.26

Constant Buffer用のC++コードを...

とりあえず、Shader Reflectionを使ってConstant Buffer用のC++コードを書かないですむように自動生成ツールみたいなのを作りたいところ。

Shader Reflectionを使ってみる

ちょっと自分のシェーダ開発効率向上のために、色々とツールを作ろうと思ってるんですが、今まであんまり使ってこなかったDirect3D11のShader Reflectionを使ってみることにしました。

http://msdn.microsoft.com/ja-jp/library/ee419872(v=vs.85).aspx

練習として、下記のようなCompute Shaderのコードを用意してConstant Buffer内のパラメータを取得してみる。Constant Bufferの中の変数は全然使ってないけど、とりあえずいろんな型を混ぜてみての実験ですね。

cbuffer cb0 : register(b0)
{
 float4x4 mat;
 float4 param1;
 float test;
 float3 aaa;
 float3 array[3];
 bool b;
 uint size;
}
RWTexture2D oTexture;

[numthreads(1, 1, 1)]
void main( uint3 DTid : SV_DispatchThreadID )
{
 oTexture[DTid.xy] = param1;
}

とりあえず、適当に書いたコードで変数名とかオフセット、サイズ、タイプなど色々ととれました(構造体は対応してないけど)。

Shaderreflection

ちょっと書いたコード(Visual Studio 2012)
「D3D11ShaderReflection.zip」をダウンロード

とりあえShader Reflectionを使用する練習にはなったのでここから色々とツールを作っていこう。

2013.01.24

海外のゲームやグラフィックスのエンジニアでWebサイトとかblog持ってる人をメモっていく ver 0.1ぐらい

海外のゲームやグラフィックスのエンジニアでWebとかblogとかをまとめみる。こういうのまとめてる人いないのでなんとなく。

何となく自分的観測範囲をまとめてみる第1弾。とりあえず、すぐに思いつく人たち。

思い浮かぶたびに新しいエントリで新版を作っていきます。

ゲーム開発会社

Johan Andersson氏(Repi)
http://repi.blogspot.jp/

EA DICEのレンダリングアーキテクト。Frostbiteエンジンのグラフィックス部分のボスと思われる。DX11開発のことをここ数年色々と発表したりスライド公開してくれてるのはありがたいです。

Jorge Jimenez氏(IRYOKU)
http://www.iryoku.com/

Activision BlizzardのグラフィックスR&D。最近だとSCREEN-SPACE SUBSURFACE SCATTERINGとか有名だけどアンチエイリアシングのSMAAとかも。

たぶん、スクリーンスペース系のテクニックに強い。

Emil Persson氏
http://www.humus.name/

Avalanche Studiosの人Just Cause 2とかのシリーズの開発会社。元々はATIの人だったはず。

結構サイトでサンプルプログラムを公開してくれます。

Wolfgang Engel氏
http://diaryofagraphicsprogrammer.blogspot.jp/

今は、ConfettiのCEOだけどもRockstarにいたはず。ShaderXとかGPU Proとかグラフィックス系書籍のまとめでおなじみ。

ミドルウェア・ツール

Aras Pranckevičius氏
http://aras-p.info/

Unity TechnologiesのGraphics Architectらしい。HLSL2GLSLのUnity版改造とかやってるらしい。

NVIDIAの人

TIMOTHY LOTTES氏
http://timothylottes.blogspot.jp/

NVIDIAの人。FXAAとかTXAAとかアンチエイリアステクニックやってたはず。かなり更新頻度が多い。

Cyril Crassin氏
http://www.icare3d.org/

元INRIA(フランスの研究機関)。ボクセルの応用手法の論文がある。Sparse Voxel Octreeの発明者。

2013.01.21

Eurographics 2013 papersのまとめ

I3D2013のことばかり考えていたけども、こっちも結構出てきてる。

http://kesen.realtimerendering.com/eg2013Papers.htm

Unity 4でCompute Shaderにトライしてみたが

Unity 4でCompute Shaderにトライしてみたが、RWTextureがRenderTargetテクスチャクラスしかだめらしくPro版じゃないとだめっぽいなぁ。

ComputeBufferならいけそうだが、どうやって可視化したりするか...。

2013.01.18

IntelのCPU Occlusion Cullingの解説記事

先日、IntelのSSEを使ったソフトウェアオクルージョンカリングのサンプルを紹介しましたが、解説記事が公開になっています。

Software Occlusion Culling
http://software.intel.com/en-us/articles/software-occlusion-culling

オクルージョンカリングというとUmbraのようなミドルウェアがあるわけですが、まぁなかなかお金もかかることなので自前で実装してみたいという人には良い記事かもしれませんね。

Umbra(UnityだとProで使える)
http://www.umbrasoftware.com/ja/

DX11だともしかしたら部分的にCompute Shaderを使ってみるというのはアリかもしれませんね。

2013.01.17

新しいバーチャルジョイスティックのアイデアの話

A new type of touch screen joystick
http://www.altdevblogaday.com/2013/01/15/a-new-type-of-touch-screen-joystick/

iOSやAndroid端末はハードウェアボタンをゲームに使うことが出来ないので、スクリーン上に十字キー的なバーチャルジョイスティックとかバーチャルパッドというモノを描画して入力に使うわけですが、それの新しいアイデアの話が上記の話ですね。

通常、バーチャルジョイスティックでは十字キーや円形のパッドをGizmo(Unityなどでも使う用語ですが、GUIというかHUDというか)として表示することが多いと思いますが、この記事では二重の円形のバーチャルジョイスティックを提案しています。

二重の円のうち内側はタッチした座標から上下左右斜めと従来の十字キー的な働きをやらせて、外側の円の範囲では円周の動きを取得して回転として扱うといった感じみたいですね。

これによって従来のゲームコントローラーのジョイスティックではデュアルスティックでやっていたような動作が1つですむということみたいですね。FPSやTPSなどで考えると下記のような感じですね。

・前後、左右(平行移動)、斜め(内側の円内)
・カメラの回転をしながら前進後退、カメラの回転(外側)

といった感じですね。ただ、やっぱり出来ないのは、

・照準のスクリーン内移動

あたりですね。実際に下記の動画で動作例がありますが、なるほど、これはいいかもしれませんね。

2013.01.16

Intelのゲーム向けサンプル

そういや、Intelのゲーム向けサンプルが他に2つ見たこと無いのが増えてますね。"Software Occlusion Culling"と"Head-Coupled Perspective"ですね。

"Software Occlusion Culling"はまんまCPUでSSE使って高速にカリングするサンプルです。いまだにカリングってのはちゃんとやっておいて損はないのでCPUの実装は色々と応用が利くのでいいですね。

Software Occlusion Culling
http://software.intel.com/en-us/vcsource/samples/software-occlusion-culling

"Head-Coupled Perspective"の方は、カメラを使ったサンプルでカメラに捕らえた人間の顔をトラッキングして3Dシーン内のカメラとして使えるというどっかで聞いたようなネタですが、残念ながら自分の手元の環境でバイナリ版の方がカメラを認識してくれませんでした。コレは自分の環境で、Intel Perceptual Computing SDK 2013入れてプログラムを追ってみるしかないかもなぁ。

Head-Coupled Perspective
http://software.intel.com/en-us/vcsource/samples/head-coupled-perspective

2013.01.15

Intelのマルチタッチ地形サンプル

Intelの開発者向けサイトにTouch Terrainと言うサンプルが公開されていました。

http://software.intel.com/en-us/vcsource/samples/touch-terrain

シェーダが4.0なのでAtomタブレットだとちょいと動かないのですが、手元のタブレットはIntel GMA HD 4000だったので動かしてみることが出来ました。

とりあえず、複数の指とかちゃんと取れてますね。

2013.01.12

GTC 2013の案内がきた

NVIDIAのいろんなメーリングリストは行ってるんですが、GTC 2013の参加案内メールが来ました。

GTC 2013
http://www.gputechconf.com/page/what-is-gtc.html

今の段階でゲーム業界に関係するネタとして下記のような話題が書いてました。

• OpenGL 4 and Beyond for Game Developers
• Porting Source to Linux: Valve’s Lessons Learned
• Bringing PC and Console Games to Mobile
• Post Mortem: GPU Accelerated Effects in Borderlands 2

GTC は日本でも開催してくれるんですが、GTC JapanはCAD/CAEとかばかりであんまりグラフィックスネタやゲームネタが無いからやっぱり本家だよなぁ。ただ、GDC 2013と日程が近いなぁ。

2013.01.11

Battlefield 3やCrysis 2のキメラ

ここ1年ぐらい、Battlefield 3(Frostbite 2.0)やCrysis 2(CryEngine 3)を追い続けてきたけども隅々まで追ってくと言うことはまぁなかなかできないのですが、それでも技術的にはだいたいかなり見てきたわけですが、今の段階でそれだけで技術を統合すると「Battlefield 3やCrysis 2のキメラ」にしかならんよなぁ。

とりあえず、その段階から独自の実装やネタへ入っていくのが今年かなぁ。

2013.01.09

今年身につけたい技術

そろそろAndroidでOpenCL動きそうだし(Xperia ZのGPU Adreno 320っぽいし)、そろそろDX11でCompute Shaderを使うようなネタをOpenGL環境でやるような場合、どうやるのかは実際にやってみないとなぁ。

一番良いのは、OpenGL ESに4.3のCompute Shader入ることだけど3.0で入る様子が無いので、ひとまずOpenCLかなぁ。

ちょうど最近NVIDIAがOpenGL SDKリニューアルするようですが、GLFWやっとくとよさそうだからGLFWでさっとやってみてOpenGL側のコードにOpenCLくっつけるとかやってみるかなぁ。

ひとまず、PCのOpenGLから。

2013.01.06

Windowsでデスクトップアプリでマルチタッチを使うプログラム

IntelがWindows 7以降で使えるマルチタッチのサンプルを公開しているので見ています。

http://origin-software.intel.com/en-us/articles/sample-application-touch-for-desktop

このサンプル(下記が実行してみた)では、マルチタッチのタッチを1つ1つ検出するのではなくWindowsのジェスチャーAPIというもう少し高レベルなものを使ってるみたいですね。

2本指でのズーム、2本指ドラッグ時のみ矩形の移動、2本指回転で色が変わる、など。とりあえず、このコードをちょっと参考に3Dモデルビューワーみたいなのからはじめてみるかな。

ちなみに、下記にWindows 8のWindows Storeアプリ向けサンプルもあるので、そっちも見ていくか。

http://origin-software.intel.com/en-us/blogs/2012/10/09/new-windows-code-samples-on-intel-developer-zone

2013.01.04

3 Step Studio : ゲームエンジンを誰にでも

下記の記事で知ったのですが、GarageGamesがKickstarterで"3 Step Studio"というプロジェクトの資金を集めてるみたいですね。

'Game design for everyone' tool hits Kickstarter
http://www.develop-online.net/news/42895/Game-design-for-everyone-tool-hits-Kickstarter

下記がプロジェクトのページですが。GarageGamesってTorque 3DやTorque 2D作ってたところですね。

3 Step Studio
http://www.kickstarter.com/projects/garagegames/3-step-studio

I3D 2013論文メモ

I3D 2013の論文のうち下の2本はあとで見るということでメモ。

Toward Practical Real-Time Photon Mapping: Efficient GPU Density Estimation http://graphics.cs.williams.edu/papers/PhotonI3D13/

Fast Light-Map Computation with Virtual Polygon Lights
http://www.cg.tuwien.ac.at/research/publications/2013/LUKSCH-2013-FLM/

まだ休み

仕事始めは1/7だったりします。

2013.01.01

あけましておめでとうございます 2013

そんなわけであけましておめでとうございます 2013。

« 2012年12月 | トップページ | 2013年2月 »