フォト

Google AdSense

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

« 2015年12月 | トップページ | 2016年2月 »

2016.01.29

Vulkanの赤本的な書籍

OpenGLの赤本的な書籍の系譜のVulkan本がすでに出版予定なんですね。

出版社の紹介ページ
https://www.pearsonhighered.com/educator/product/Vulkan-Programming-Guide-The-Official-Guide-to-Learning-Vulkan/9780134464541.page

見た感じ、Vulkanでも赤本のようですね。

時期的にはSIGGRAPHの頃になるんでしょうね。

最近はKindle版出てるので、Kindleで買えるようであれば購入したいですね。

今さら知ったSubstanceでテクスチャのUnityやUE向けのMetalnessコンバートの話

今更知ったネタ(昨年の記事なので)ですが、GameTexture.comで"How to use GameTextures in ANY engine! (Updated with tools for UE4 and Unity5!)"という記事があって、GameTexture.comでUnityやUE4向けにMetalnessを変換する.sbsarを配布していたんですね。

How to use GameTextures in ANY engine! (Updated with tools for UE4 and Unity5!)
https://www.gametextures.com/gametextures-to-metalness-a-new-tool-to-convert-workflows/

ダウンロード
http://gametextures.com/GTMetalnessConverter.sbsar

このSubstanceファイルを利用することでテクスチャのゲームエンジンごとのMetalnessにあわせた変換ができるそうなのですが、sbsarなので無料のSubstance Playerでも利用ができます。

https://www.allegorithmic.com/download

そうかテクスチャのコンバータのためにSubstance使うって手あったか~。これは2つのエンジン以外にも便利そうな話だなぁ。


Convert GameTextures materials to Metalness Workflow from GameTextures.com on Vimeo.

2016.01.27

OpenGPUのWebサイトが公開になったけども

OpenGPUのWebサイトが公開に
http://www.shader.jp/?p=1672

とりあえず、Shader.jpに軽く書いてみましたが、今回は一斉に多くのライブラリが公開になったので何が公開されたか全貌を把握していないところがあるので、リストアップしておかないとなぁ。

2016.01.24

微妙なバグを直せば

以前書いたFBXのローダーをDirect3D12に対応させたものができてきたのですが、ちょっと複雑なデータで問題起こす箇所があったので、修正できたら公開かなぁ。

あと、今のコードがテクスチャローダーがMiniEngineに依存してるのでそれを外したいところ。MiniEingineついてても配布のライセンスにあんまり影響しないのだけどもコンパクトにしたいところですね。

2016.01.21

ID3D12GraphicsCommandList::SetDescriptorHeapsの注意メモ

ID3D12GraphicsCommandList::SetDescriptorHeapsって's'がつくだけあって複数のID3D12DescriptorHeap を一括でセットできるけど、その時の注意点として同じタイプのDescriptorHeapは複数セットできないのね。

ID3D12GraphicsCommandList::SetDescriptorHeaps
https://msdn.microsoft.com/ja-jp/library/windows/desktop/dn903908(v=vs.85).aspx

下記のスレッドでエラーが出た人の話が出てるけど、たとえば、Draw単位で変更するSRVと一つのPaipelineState単位でセットするCBVを異なるHeapで管理しようとして、別々に作って配列セットしようとするようなケースはダメなのね。

http://www.gamedev.net/topic/671078-using-multiple-descriptor-heaps-of-the-same-type-srv-cbv-uav-with-setdescriptorheaps-possible/

じゃあ、複数セットする意味ないじゃんという気もするんですが、本来は

CBV, SRV, UAVとSampler

みたいな感じでSamplerとそのほかを一括セットって感じなのね。MiniEngineのソース見てるとこのほかにRTV(Render Target View)やDSV( Depth Stencil View )なんかのHeapは一緒にセットできるということだそうで。

そんなけで、DescriptorHeapに関してはわりと高度な管理処理書かないとなぁ。

書籍:Game Engine Gems 3

Game Engine Gems 3がでるんですね。

http://www.gameenginegems.com/geg3.php

Kindle版出たらちょっと買いたいところ。

2016.01.20

Unity 5.4のb2が出てた

最近チェックし忘れてたけど、Unity 5.4 Betaのb2が1/15に出てたんですね。

https://unity3d.com/jp/unity/beta

とりあえず、リリースノートから個人的に気になったFeaturesは

・Graphics: Basic GPU Instancing Support
GPUインスタンシングのサポート。DX11 / 12のみ。

インスタンシング時のインスタンス単位のパラメータは、MaterialPropertyBlockを使うといいみたい。これを使って、インスタンスIDからアクセスする感じかな?

・Shaders: Uniform array support
MaterialPropertyBlockクラスで配列セット対応みたいですね。インスタンシングとセットで使う感じかと思います。

MaterialPropertyBlock
http://docs.unity3d.com/ja/current/ScriptReference/MaterialPropertyBlock.html

・Substance: Substance: ProceduralMaterials are now supported at runtime on Windows Store/Phone platforms
Windows Store向けアプリでSubstanceを活用するAPIのProceduralMaterials 使用可能に。

・Windows Store: Realtime global illumination now works when using Windows 10 SDK

Windows Store向けアプリでGIが使えるという話。せっかくPCで動かすんだからねぇ。

2016.01.19

書籍:Foundations of Game Engine Developmentシリーズのクラウドファウンディング

日本だと「Mathematics for 3d Game Programming and Computer Graphics」が翻訳されてるEric Lengyel氏(近年だと「Game Engine Gems」シリーズ)がFoundations of Game Engine Developmentというシリーズを書くためのクラウドファウンディングしてるみたいですね。

Foundations of Game Engine Development
https://www.indiegogo.com/projects/foundations-of-game-engine-development-volume-1#/

「Foundations of Game Engine Development」ということで、ゲームエンジン開発の基盤となるような知識や技術を体系的にまとめたシリーズのようで、Vol.1は数学で以降、レンダリング、アニメーション、物理と続くようですね。


2016.01.18

グラフィックスのデバッグから最適化GPUプロファイラーの入門的なスライド

Tightening Up the Graphics: Tools and Techniques for Debugging and Optimization
https://docs.google.com/presentation/d/1LQUMIld4SGoQVthnhT1scoA3k4Sg0as14G4NeSiSgFU/edit#slide=id.p

Direct3D11を題材に、グラフィックスのバグが症状によってどういったところから発生して、RenderDocやAMDのPerfStudioでデバッグ、分析といったことをどうやるか?ということが紹介されてるスライドのようですね。

これはバグの種類によってどこが原因か?って話あたりは教育用に日本語版がほしくなるなぁ。

2016.01.15

NVIDIAのVulkan解説記事

NVIDIAの開発者向けのblogでVulkanの解説記事出てますが、これはわかりやすくて良いですね。

Engaging the Voyage to Vulkan
https://developer.nvidia.com/engaging-voyage-vulkan

GDC2016ぐらいにはそろそろ出てくれるんですかねぇ。

2016.01.09

いよいよ目途がたってきたので

最近書いてるDirect3D12ネタのコードのめどが立ってきたのでGithubの方に久々にリポジトリ追加しておこうと思います。

https://github.com/shaderjp

2016.01.08

今のコンソールゲームの標準的な描画テクニックを体系的にどう教育するか?の議論

最近はあまりコンソールゲームのゲームグラフィックスのテクニックを体系的に教えられるような書籍(さすがに今の時代にDirect3D9時代の書籍とかないでしょ。何よりDirect3D9を仕事で使うことはもう何年もないです)とかなくて、新人をどうやって教育しようかということを考えています。

Direct3D11の世代に入ったときにEA DICEのJohan Andersson氏がいろいろとGDCやSIGGRAPHでセッションをやってくれたので、あれがスタートではあったと思う(BF3のころはForstbiteはPBRじゃなかった)のですが、その後のUnreal Engine 4でPBRという感じですよね。

昨今、グラフィックスエンジンやライブラリみたいなものを書く機会は減っているのかもしれないですが、ゲームエンジン上の開発においてもゲームエンジンの機能で不足した機能は作らねばいけませんし、アーティストがやりたい表現を実現するためにテクニカルアーティストなどは描画テクニックの知識自体は必要とされることは多いとは思います。

最近、BethesdaのFallout 4の下記の記事を見ていたのですが、Fallout 4はグラフィックスは良くないといわれてはいるもののこの世代の標準的な品質で赤点を取らないテクニックのセットなのかなと思っています。

The Graphics Technology of Fallout 4
https://bethesda.net/#en/events/game/the-graphics-technology-of-fallout-4/2015/11/04/45

・Tiled Deferred Lighting
・Temporal Anti-Aliasing
・Screen Space Reflections
・Bokeh Depth of Field
・Screen Space Ambient Occlusion
・Height Fog
・Motion Blur
・Filmic Tonemapping
・Custom Skin and Hair Shading
・Dynamic Dismemberment using Hardware Tessellation
・Volumetric Lighting
・Gamma Correct Physically Based Shading

上記のテクニックからそれぞれいくつかの手法を取り上げながらカリキュラムにしていくのが良いのかもしれませんねぇ。

2016.01.06

Direct3D12のShader Reflection

たまにShader Reflectionを使ってツールなんかを作ったりするのですが、Direct3D12になってからは全然使っていませんでした。

Direct3D11時代に書いたもの:Shader Reflectionを使ってみる
http://masafumi.cocolog-nifty.com/masafumis_diary/2013/01/shader-reflecti.html

調べてみたらID3D12ShaderReflectionがちゃんとありますね。

https://msdn.microsoft.com/en-us/library/windows/desktop/dn933679(v=vs.85).aspx

とりあえず、増えた機能などを確認したいところ。

2016.01.05

CESのNVIDIAのプレスイベントの配信サイト

NVIDIAのCESのプレスイベントの配信サイトは下記みたいですね。

Live: NVIDIA’s Las Vegas CES Press Event
http://blogs.nvidia.com/blog/2016/01/03/ces-las-vegas-event/

現地時間で Jan 5 2016 11:00 AMだそうで。

2016.01.04

仕事始め

そういえば、本日から仕事始めでしたが、しばらくの間はフルタイムでDirect3D12と付き合っていけそうなので、いろいろとネタを貯めていきたいところですね。

昨年はなんだかんだグラフィックスだけの仕事ではなく、製作全般まわすことが多かったのですが、ちょいと割り込みなしでやれそうですね。

Vulkanがリリースされたら

Vulkan 1.0の仕様がついに固まったみたいですが、SDKが公開されたら下記でサンプルを公開してくれそうな感じの方がいるのでチェックしたいところですね。

https://github.com/SaschaWillems/Vulkan

2016.01.02

2016年

今回は喪中のため新年のご挨拶はおいておいて、2016になりましたね。

年末までの3カ月はわりかし仕事が忙しかったのですが、12月締めだった仕事も無事に完了したので1月からは新しいネタを試しつつ考える時間を確保できたのが良いですね。

あとは、GDC期間中が忙しくならなければいろいろと行きやすいですね。

今年はWindows StoreにUWPで一本アプリを出してみたいところですけどねぇ。

« 2015年12月 | トップページ | 2016年2月 »