フォト

Google AdSense

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

« 2017年7月 | トップページ

2017.08.09

GPD Pocket使ってみて





最近は、日本のAmazonでも6万円台(クラウドファウンディングの早期じゃない価格が$499なので、そんなにレートは悪くない?)でGPD Pocketがすぐに送られるという状態のものが増えてきたわけですが、入手して結構立ってきたので感想書いておきます。

■前提となる話

GPD Pocketを買うまではカンファレンスのメモ端末としてはiPad Pro 9.7もしくはSurface 3を使っていました。

カンファレンスのメモ端末は、バッテリーの駆動時間がながく(モバイルバッテリーで充電ができる)、軽量でキーボードが物理的に確保されていて、ひざ上に乗せてタイピングができて、通信ができることですね。このうち通信はテザリングとかあるのでプライオリティはちょいと低いですね。

軽さ、薄さ、動作の快適さではiPad Pro 9.7が便利な感じですね。どちらもSIMがささるので通信環境は変わらない(ただし、海外はApple SIM内蔵のiPadの方が便利)し、1日のカンファレンスであればバッテリーの差はあまりないですね。

■端末のサイズ
端末のサイズ、重量ではGPD Pocketがぶっちぎりにいいですね。

正直、iPad Pro 9.7の時点であまり不満がなかったのです。自分の持ってるバッグでもこれ以上小さくする必要もなかったので。

ただ、Surface 3との比較としてはいいですね。

■入力、「キーボード
GPD PocketはタッチパネルとLenovoとかにあるようなポインタがあるんですが、自分はタッチパネルがあればOKですね。

キーボードは結構クセがあると思ってたんですが、確かにクセがありますねぇ。まだ慣れてないです。

キーピッチが狭い部分と英字キーボード(これは英字の方が好きな人は問題ないと思います)が問題になるかと思いましたが、":"(コロン)とか";"(セミコロン)がちょっとイレギュラーな位置にあるので、これらを使うプログラミング言語での開発では苦労するかも。

■画面サイズ

これはWindowsが悪い気がしますが、情報量は解像度の差もあってiPad Pro 9.7の方が快適ではありますね。

■プログラミング

iPad Pro 9.7ではなくこちらメインで持ち歩くようになったのはやっぱりVisual Studioが動くところですね。

Visual Studioはフルでなく、Visual Studio Codeでも良いかもしれませんね。

あと速度は遅いですが、GPUはDX12は一応動きます。

バッテリー駆動でデバッグビルドのMiniEngineが5 fpsという感じですね。




■ソフトウェア

あとは、Officeがまるまる動くのはよいですね。PowerPointのプレゼンテーションはそのまま行くので。

そういや、自分は下記のようなUSB Type-Cハブを買っておきました。HDMI出力ができるようにしました。まぁ、ディスプレイ出力はmicro HDMIがもともとあるのでそれを変換でもいいのでしょうが。



■通信
iPad Pro 9.7やSurface 3ではSIMがささって便利だったんですが、ないのは少し不便ですが、まぁテザリングですかね。

逆に海外ではSIMで通信しなかったりするので困らなさそうではあります。

■ストレージ
ひとまず128GBは合格だと思いますが、microSDスロット欲しかったですね。

ソースコードとかそっち置きたくなるので。

■バッテリー
まだあんまり検証できていません。

おそらくCEDECで1日カンファレンスどれだけ保つかわかりそうです。

ちなみに、わりとほかの方がレビューやTips書いてますが、スリープの挙動は賢くないです。Surface 3はよく電源管理しっかりしてたんで、OSというよりはハードの問題なんですかね?割と毎回切ってます。

■ケース
ケースは結局下記のを買いました。すぐに出し入れできてスリムなのが理由ですね。



■総評

今のところ購入してよかったとは思いますが、CEDECで持参してみてというところですね。

あとは、とにかく外出時のプログラミング用途とかプレゼンマシンとしての活用ですよね。、結局のところプログラミングしないならiPad Pro 9.7で問題ないわけだったので。

MicrosoftのDX12サンプルなどのHDR10動作について~PBRサンプルをHDR10出力にする

HDR Lighting and Displays
https://blogs.msdn.microsoft.com/chuckw/2017/08/08/hdr-lighting-and-displays/

上記記事を読んでいたんですが、結構MicrosoftのサンプルがHDR10対応してたんですね。まぁ、Xbox One Sとかは結構早くからしてましたからねぇ。

とりあえず、いろいろと試し足りコードを見てみましたがDirectXTK12のToneMap.fxにはちゃんと変換のシェーダが入っていますね。

https://github.com/Microsoft/Xbox-ATG-Samples/blob/master/Kits/DirectXTK12/Src/Shaders/ToneMap.fx

では、SimplePBR12で動かしてみようと試みてみました。

変更箇所は、SimplePBRUWP12.cppの21行目のm_deviceResources の初期化箇所ですね。

https://github.com/Microsoft/Xbox-ATG-Samples/blob/master/UWPSamples/Graphics/SimplePBR12/UWP/SimplePBRUWP12.cpp

一番最初の記事に戻りますが、DeviceResourcesクラスが対応ということなので見てみましたが、

m_deviceResources = std::make_unique(GetBackBufferFormat(), GetDepthFormat());

とあるコードを以下のように初期化すれば良いようです。最後の引数がポイントですね(それ以外はデフォルトの引数のまま)。これで内部でHDR10で動かす初期化コードが走ります。内部でディスプレイやGPUのサポートをチェックしてるので、このコードにしてもsRGB環境でクラッシュなどはないです。

m_deviceResources = std::make_unique(GetBackBufferFormat(), GetDepthFormat(), 2, D3D_FEATURE_LEVEL_11_0, DX::DeviceResources::c_EnableHDR);

これで無事に動作しました。グラフィックス診断でもTonemapのシェーダが呼ばれておりました。これは下記のコードの223行目のPIXBeginEvent(commandList, PIX_COLOR_DEFAULT, L"Tonemap HDR to SDR backbuffer");あたりのところですね。

https://github.com/Microsoft/Xbox-ATG-Samples/blob/master/UWPSamples/Graphics/SimplePBR12/Shared/SharedSimplePBR.cpp

2017.08.08

Open Problems in Real-Time Renderingのコース資料

Open Problems in Real-Time Renderingのコース資料が徐々に公開されていますが、これも見ておかないとなぁ。

Open Problems in Real-Time Rendering
http://openproblems.realtimerendering.com/s2017/index.html

"Real-Time Rendering"ということで、ゲームやゲームエンジンの開発にかかわるような人が抱える問題や課題、将来予測などが集まってていいですね。

・Physically-Based Materials: Where Are We? by Sébastien Lagarde (Unity Technologies)
・A Certain Slant of Light: Past, Present and Future Challenges of Global Illumination in Games by Colin Barré-Brisebois (Electronic Arts SEED)
・Future Directions for Compute-for-Graphics by Andrew Lauritzen (Electronic Arts SEED)
・Deep Learning: The Future of Real-Time Rendering? by Marco Salvi (NVIDIA)

特に今回はPBR、 GI、 Compute、 Deep Learningの活用ということがトピックでしょうか。

夏風邪

先週の木曜日から夏風邪をひいて昨日まで寝込んでいたのですが、ようやく出社できるように。

SIGGRAPH後に出てきた資料とかのチェックも遅れてしまったなぁ。

2017.08.03

SIGGRAPH 2017よりImproved Culling for Tiled and Clustered Rendering in Call of Duty: Infinite Warfare

これもSIGGRAPH 2017のコースADVANCES IN REAL-TIME RENDERINGより。

Improved Culling for Tiled and Clustered Rendering in Call of Duty: Infinite Warfare
https://research.activision.com/t5/Research-Papers/Improved-Culling-for-Tiled-and-Clustered-Rendering-in-Call-of/ba-p/10338514

これも読まないと。

CoDシリーズのように60 FPSゲームは盛り込めない表現があったりするものの速度の欲しいタイトルでは参考にしやすいのがいいですね。

2017.08.02

The Unity Labs team がUDIM 向けのMulti-material Editorを公開

The Unity Labs team がMulti-material Editorというのを公開したみたいですね。

Multi-material: Using custom Inspectors and Scriptable Objects for UDIM materials
https://blogs.unity3d.com/2017/08/01/multi-material-using-custom-inspectors-and-scriptable-objects-for-udim-materials/

これは、MARIなどで使用されるマルチUV機能のUDIM をUnityで使用できるようにして、マテリアルの割り当てを柔軟にできるようにするみたいですね。

見た感じUVのタイルごとにマテリアルの割り当てをUnity上で変えられるようですね。

自分の周りではあまり使われていないんじゃないかと思うんですが、映像の人たちがUnityを使う場合には、良いんでしょうかねぇ。

2017.08.01

HPG 2017のスライド公開

今年はHPG 2017がSIGGRAPH直前でしたが、すでにスライドの公開が始まってるようです。

HPG 2017プログラム
http://www.highperformancegraphics.org/2017/program/

続・Dellの4K HDRモニタの話

Dellの4K HDRモニタUP2718Qの話ですが、Windows 10 Creators Update環境でGeForce GTX 1080とのHDMI接続でHDRモードを使うことができました。

Microsftのサンプル
https://github.com/Microsoft/DirectX-Graphics-Samples/tree/master/Samples/Desktop/D3D12HDR

このサンプルでは、Rec.709とRec.2020の色域の表示とグレースケールで0...1のレンジと0...9のグラデーションのカラーバーをsRGBとBT.2020と16bit floating point Linearが切り替えができます(対応していれば)。

このモニタではサンプルのHDR10モードが起動できました。色域の拡張も確認ができました。

Windows 10ではデスクトップ全体をHDRにするか、しないかのON、OFFができるのでHDR10自体はウィンドウアプリでも使用ができます。逆に、HDR OFFの状態ではDXGIのHDR起動の初期化が失敗するのでフルスクリーンアプリでもHDRでは起動できませんでした。

ちなみに、Windows 10自体はCreators UpdateでHDR対応したもののデスクトップ自体の素材自体はHDR10に合わせたものになっておらず、ちょっと使いづらい感じですので、レンダリング専用で使うか、当面は必要な時以外は、HDR切ってsRGBで運用かなと思っています。

なお、この辺の話題については今年のCEDECのパネルディスカッションで話題にするかもしれません。

ゲーム開発マニアックス「4K、HDR(+広色域)時代のゲームグラフィックスを考える」
http://cedec.cesa.or.jp/2017/session/ENG/s58e0100786594/


SIGGRAPH 2017のCall of Duty: Infinite Warfareのマルチレイヤーマテリアルのセッションスライド

SIGGRAPH 2017 Course: Physically Based Shading in Theory and Practice
http://blog.selfshadow.com/publications/s2017-shading-course/

SIGGRAPH 2017 Course: Physically Based Shading in Theory and PracticeのPractical Multilayered Materials in Call of Duty: Infinite Warfareが今年のゲーム出身のセッションとして興味深いですね。

Practical Multilayered Materials in Call of Duty: Infinite Warfare
https://research.activision.com/t5/Research-Papers/Practical-Multilayered-Materials-in-Call-of-Duty-Infinite/ba-p/10337316

近年のフォトリアルのレンダリングのゲームでは物理ベースレンダリングなどが取り入れられてきていますが、ゲームのマテリアルでは1つのピクセルのマテリアルは1つのBRDFパラメータだけを処理するということが多いです(例外的に自動車など用にClear Coatを専用処理することはある)。

現実の世界では、光を吸着する物体、オイルが塗られた物体やラッカーが塗られた物体、薄い膜などのスキャッタリングする物体など複雑な表現の物体があるわけですが、こうしたマルチレイヤーのマテリアルの実装についてのアプローチを紹介しています。

なお、Call of Duty: Infinite WarfareではForward+ が採用されているようですね。従来型のDeferred RenderingのG-bufferではなかなかパラメータを格納しきるのが難しいということなんでしょうね(1つのパラメータのマテリアルの格納が限界なため)。

上記とは違ったアプローチで同じように複雑なマテリアルへの対応を目指そうとしているのはEidos MontrealのDAWN ENGINEのDeferred+なのかもしれませんね(DEFERRED+はマテリアルの拡張以外に、カリングやDraw Callをまとめたりなど描画のパイプライン全体に大きな手が入ってるわけですが)。

DEFERRED+: NEXT-GEN CULLING AND RENDERING FOR DAWN ENGINE
https://eidosmontreal.com/en/news/deferred-next-gen-culling-and-rendering-for-dawn-engine

Deferred+については上記記事のほかに以前出たGPU Zenが参考になります。

今年から来年にかけてマルチレイヤーのPBRや複雑なマテリアルへの対応を果たす、タイトルやエンジンというのは増えてくるのかもしれないですね。そう考えるとPBRマテリアルが1つしか格納できないDeferred Renderingのタイトルなどは古い画みたいな話になるのかもしれないですね。

そうしたことから次のステップを考える時期が来ているのかもしれませんね。

« 2017年7月 | トップページ