タグ

ブックマーク / qiita.com/Pctg-x8 (3)

  • RustでUnity向けオーディオプラグインを書いた話 - Qiita

    卒業制作でUnityのネイティブオーディオプラグインを書く必要が出てきたので、せっかくなのでRustで書いてみました1。 完成品 こちらになります => https://github.com/Pctg-x8/unidecim WindowsMacで動作を確認済みです。Macの場合は付属スクリプトを利用すると、プラグインフォルダにコピーするだけですぐに使える、i686とx86_64の両方で動作するユニバーサルバイナリを自動生成してくれるようにしてあります。 概要 Unityにビルトインされているエフェクトプラグインもそこそこの種類あるので、あまり凝ったことをする場合を除いて今回のような手間をかける必要は全くないです。ただ、今回は「デシメータを使いたい」という場面(自分の中の要望)が出てきてしまったので自作する流れとなりました2。 Unityのネイティブオーディオプラグインについては公式ドキ

    RustでUnity向けオーディオプラグインを書いた話 - Qiita
  • Rustでも(そこそこ)安全なグローバルインスタンスを使いたい - Qiita

    同じ記事を別のカレンダーに登録できないことに気づいて必死にネタを探しました。 うちのソフトウェアで必要に駆られて製作したappinstanceクレートを少し前に切り出して正式にpublishしたのでその紹介です。 つかいかた appinstanceは主にアプリケーションの実行と同じライフタイムを持つ唯一のオブジェクト(つまりシングルトン)を定義するためのライブラリです。 appinstanceの実態はひとつのマクロなので、利用は次の一行を追加するだけでおしまいです。 AppInstance!(pub static instance: SelfObject = SelfObject::new()); staticとDrop Rustにはすでにstaticというキーワードが存在しており、これを使うとアプリケーションと同等のライフタイムを持つデータを定義することが可能になっています。ただしこの定

    Rustでも(そこそこ)安全なグローバルインスタンスを使いたい - Qiita
  • RustでDirectX12を使う - Qiita

    安全性、速度、並行性の3つのゴールにフォーカスしたシステムプログラミング言語Rust1でDirectX陣営のLow-overhead APIとして新たに(けっこう前に)策定されたDirectX12を動かします。(とりあえずメモ的な) Rustはまだまだ初心者なので間違ってたりもっとよくできたりする点があるかもしれませんが暖かい目で見てやってください。 環境 rustcはバージョン1.9.0を使用します。あと、たぶんWindows SDKが入ってるなら入ってると思いますがDebugging Tools for Windows(windbg)も入れておきましょう。D言語を一緒に入れてる人はパスの関係でコマンドラインでwindbgを起動するとD言語付属のやつが起動してしまうかもしれないのでファイル名を変えておくといいと思います。 追記: rustcはMSVC ABIのほうを使用すると安心かと思い

    RustでDirectX12を使う - Qiita
  • 1