Showing posts with label git. Show all posts
Showing posts with label git. Show all posts

Thursday, May 14, 2015

GitHubのDirectXTKをgit submoduleとして組み込む

MicrosoftのGitHubアカウントでDirectXTKが公開されています。gitのsubmoduleとして組み込めるので格段に管理しやすくなりそうです。早速組み込んでみました。

組み込み方


git bashからDirectXTKを組み込みたいプロジェクトのディレクトリに移動し、以下のように入力すればDirectXTKフォルダ以下にDirectXTKのプロジェクトファイルが生成され、DirectXTKを参照するコミットを生成できます。

$ git submodule init
$ git submodule add https://github.com/Microsoft/DirectXTK.git DirectXTK
$ git commit -m "DirectXTK added as a submodule"

submoduleの何が良いのか


自分のレポジトリに外部のgitレポジトリの参照を加えることで、(半自動的に)一緒にチェックアウトできるようになります。自分のレポジトリを肥大化せずに外部モジュールを取り込めるわけです。また、参照にはバージョンも含まれているのでバージョンを取り違えてビルドに失敗することもありません。何より外部モジュールの組み込み方をgitが標準化したという側面が大きいです。

当然ながら、取り込みたいモジュールがgitレポジトリとして公開されているのが前提条件になるのですが、MicrosoftもGitHubでプロジェクトを公開してくれるようになりました。ありがたいですね。

submoduleは以下が詳しいです。

→ Git のさまざまなツール - サブモジュール

レポジトリについて


→ https://github.com/yorung/dx11x

D3DXやDirectX SDKを使わないモダンなDirectX11で.xファイルを読み込んで表示するプログラムです。スキニングも含めてアニメーションもひととおり対応しています。




Saturday, January 31, 2015

Google ANGLEでWindows上でOpenGL ESを使う簡単な方法

AndroidでOpenGL ESを使ったアプリを開発する際にAPKを生成してデバイスに転送しながらデバッグするのは非効率です。そこで、Windows上でもOpenGL ESを実行できるようにしてゲームエンジン部を共通化しておくと便利です。

直接WindowsのOpenGLを動かせるようにしてもよいのですが、下位でDirectXを呼ぶANGLEで組むとIntel GPAやNVIDIA Nsightでデバッグできるメリットも得られます。

ところで、最近 git clone https://chromium.googlesource.com/angle/angle からcloneするだけではVisual Studioのslnファイルが得られなくなっているようです。以下のページで説明されているようにdepot_toolsという独自の環境を構築する必要があります。

https://code.google.com/p/angleproject/wiki/DevSetup

しかし、とりあえず最新でなくてもいいので以前のように手間をかけずに手軽に実行したい場合はslnを含む最後のブランチである"2214"をチェックアウトするといいです。 git bashより以下のように入力します。

1. git clone https://chromium.googlesource.com/angle/angle
2. git branch 2214 origin/chromium/2214
3. git checkout 2214

これで2214 ブランチをチェックアウトできました。
angle\projects\build\all.sln が生成されているのでビルドします。
   
なぜかessl_to_glsl, essl_to_hlslという二つのプロジェクトからエラーが出ますが、気にしないことにします。

 



自分のプロジェクトの必要に応じてヘッダとライブラリを設定します。こうして作ったプロジェクトをGitHubにアップしておきました。