すらりん一覧

VisualStudio の HLSL テンプレートがおかしい その2

以前に、 VisualStudio の HLSL テンプレートがおかしい として、修正したシェーダー用のプロジェクトテンプレートですが、 Visual Studio 2017 の更新をしたら、また妙な状況になってしまったようです。
もしかすると、先の手作業の修正が引き金で新規にインストールした場合には、おかしな構造ながらも正常に動くのかもしれません。

続きを読む


Visual Studio Graphics Debugger の終了

Windows 10 October 2018 Update (1809) で、 Visual Studio 2017 の Graphics Debugger が正常に動かなくなりました。最近は Vulkan を勉強していることが多く、 VS の Graphics Debugger は使っていませんでした。再び D3D12 の勉強を再開した今日、この問題を発見しました。

最初は、今の D3D12 のために、色々と新しいインターフェースを使ったのが問題で失敗したのだろうと考えていたのですが、どうやらそうではないようです。
仕様として 1809 バージョンの上では VS 付属 Graphics Debugger は使えないということになったようです。

続きを読む


読書

年末年始には久しぶりに本を買いました。
まだざっとしか読んではいないのですがアタリでした。

近年はゲームエンジンがゲーム作成(プログラミング)の主流となりつつあるので、C++で組んでいく方は随分と敷居が高いものになっている気がします。
そのせいもあってか、書籍の形で出版されることは無くなってしまったと思っていたので、出てきたことに嬉しく思いました。
内容の方も十分で、これから勉強をするのにもよいなと思います。

1つ興味深い点としては、ゲームエンジンでよくあるコンポーネントシステム型のやり方で C++ にてエンジンをくみ上げていくのが面白いです。
昨年秋の技術書典では当サークルでは C++ を使っての、割とコンポーネントシステム型を意識したシステム作りの本も出していました。

C++で挑む 2Dアニメーションシステム制作演習 (BOOTHへの商品リンク)

ゲームプログラミングC++が人気のある書籍になってくれれば、まだまだC++でやれる!ということと、コンポーネントシステム型の開発は間違いではない(むしろアタリ)という自信にもなるので、期待しています。

そして積み本となったのが、ドラゴンクエストXを支える技術 です。一緒に買ったのですが、読む時間が取れずでした・・・。


GitLab on Docker の続き

少し前に GitLab を Docker で構築する記事を書いたのですが、既に現状のものと合っていないことがわかりました。
しかも、以前の手順のままでは動作する環境が限られてしまう感じでした。

なにが変わったか

SSL のために、 Let’s Encrypt を使用するようになったようです。
公開されるサービスで、そのサーバーが外と直接つながっているような場合には問題にならないでしょう。

しかし、Let’s Encrypt と通信できないような状況下では構築に失敗してしまいます。

新しい構築手順

以前の手順通りに、 docker-compose.yml を取得してきます。
そして、 SSL を使わないで構築するよう設定を書き換えます。
これには次のように編集します。

初期状態で SSH が有効だったので、 22番ポートのフォワーディングは変更しています。
見ての通り、 letsencrypt の設定を無効化としています。これにより、内部的に構築するようなものであっても docker-compose は成功すると思います。

自己証明書 SSL で使う

未検証ですが、let’s encrypt を無効化した状態で、手動で自己証明書を作成すればできそうな感じです。
hostname に設定した名前で、証明書のファイルを検索するような動きをみせていたので、 hoge.pem,crt,key などを /srv/gitlab/config/trusted-certs ディレクトリの中においたら認識してくれるのではと予想しています。


VMware Player の uEFI NTFS 対応

VMware Player は uEFI による起動に対応しています。
しかしながら読み込めるファイルシステムとして NTFS は標準対応していないようなので、これをなんとかしたいと思います。

uEFI の起動

VMware Player は BIOS による起動がデフォルトです(VMware Workstation 12 Player)。
これを uEFI での起動とさせるには、 仮想マシンの vmx ファイルに以下のように編集(追記)します。

この状態で、 FAT32 でフォーマットした USB メモリから Windows やら Linux やらを起動できると思います。

動機: NTFS への対応

最近、 Windows のインストールファイルが 4GB を超えつつあります。そうなると FAT32 では1ファイルの制限に引っかかってしまうので、 NTFS を使いたいところです。
幸いにして、自作PC 界隈の uEFI では NTFS が読めるものが多いようなので、 VMware Player でも使えるようになったらなぁというところでやってみます。

続きを読む


OLED の動作確認(ESP32)

HiLetGo の OLED を ESP32 (ESP-WROOM-32) で使おうと思ったときに、予期していた状態と異なったのでここにメモとして残しておきます。

ESP-WROOM-32 で Arduino フレームワークを使ってこのディスプレイを使おうとしたときに、以前の u8glib が使えなかったので別のライブラリを探すことにしました。 u8glib で GraphicsTest をコンパイルさせたところ、なぜかフラッシュの領域を超えるくらいの大きなものが出来てしまったようで。

続きを読む


ESP32 の I2C の罠

ESP-WROOM-32 を、 Arduino Core for the ESP32 で使用していたのですが、 I2C 関連で通信正常にできない問題に出遭いました。使用しているバージョンは 1.0.0 となっていました。
I2C については、こちらで語られているように問題があるようだったのですが、現時点のバージョンでは解消されているのかと考えています。

  • 参考:https://www.mgo-tec.com/blog-entry-problem-i2c-0628-arduino-esp32.html

遭遇した問題点

RTC のモジュールとして、 RX8900 を使おうとしたときに出遭いました。最初はラインをプルアップするのを忘れたので、そのせいで通信が正常に出来ないのだと考えていました。しかし、プルアップしてみても問題は解消せず、という状況でした。
問題といっているのは「デバイスからの値の取得が出来ない」といった状況が発生していました。しかし、 RTC の各レジスタに値はかけているようで、 RX8900 のデバイスは稼働しているようでした。この点から読み込みだけが失敗している状況と考えました。

このとき使用していたスケッチは、 RX8900 は秋月電子で購入した際に紹介されていた ino スケッチです。

解決方法

スケッチの中で、 Wire.endTransmission(false) としている点が、 ESP-WROOM-32 でまずいような感じでした。
後続にもコマンドがあるので I2C バスを解放せずという点はわかるのですが、これが駄目なようでした。この部分を endTransmission(true) でバス解放してあげることで、ひとまずはレジスタからの読み込みも成功するようになりました。

endTransmission(false) を使っているようなものでは、同じように問題に出遭うかもしれません。あるいはバージョンが上がったら、この問題も解消されるかもしれません。


ESP32でmp3単純再生

先日の WebRadio のプログラムを使って、 ESP-WROOM-32 で mp3 データが再生できることは確認しました。しかし単に mp3 だけを再生するにはどうしたらよいかが気になりました。今回はこれを確認したいと思って、色々と試してみることにしました。

WebRadio のほうは ISP-IDF の開発環境を必要としていたのですが、 Arduino の環境で出来たら手軽に使えるなと思うので、こちらで出来ないかから試してみました。結論としては、運良く Arduino のフレームワークで使えるものがあったのでこれを紹介します。

続きを読む


ESP-IDF で wav再生

ESP-IDF 環境で、 wav の再生をやってみました。
先日の WebRadio のもので I2S の配線済みだったので、wav の再生にも I2S へ書き込むようにしました。単なる wav の I2S 再生を ESP-IDF でやっているサンプルってあまりなさそうだったのは、簡単すぎて需要が無いのかも。

続きを読む


ESP-WROOM-32 のための VSCode 設定

ESP-WROOM-32 を Arduino として使っている際には、あまり意識していなかったのですが、 ESP-IDF 環境でプログラムを作成するとなるとちょっとつらくなってきたので環境を整えてみることにしました。

Visual Studio Code を用いて、コードの編集からコンパイル、転送までを集約したいと思います。

続きを読む