1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerShell から DirectX12 を用いて三角形を表示する方法

Posted at

はじめに

これは、外部ライブラリを用いずに C# で生の DirectX12 APIを呼べないか試しただけの記録になります。
C# でできるなら、PowerShell からも呼べるだろうと思い試してみました。

実行結果

image.png

処理概要

  1. バッチファイル: 最初のトリガーとなるバッチコマンド
  2. PowerShell: Add-Type コマンドを使ってC#コードをコンパイルして実行
  3. C#コード: Win32 APIとDirectX 12を呼び出すコード
  4. Win32 API: ウィンドウの作成と管理
  5. DirectX 12: グラフィックスパイプラインの構築と三角形描画

技術的情報

DirectX 12 API は COM(Component Object Model)ベースの API です。
COM はマイクロソフトが開発したソフトウェアコンポーネント間の通信を実現するためのバイナリインターフェース標準です。

C# から COM にアクセスする方法はいくつかあります。

  • 自動マーシャリング
  • P/Invoke
  • vTable直接アクセス

今回使ったテクニックは3つ目の「vTable直接アクセス」という方法になります。

image.png

おわりに

このテクニックの使い道があるかわかりません。
HLSL でシェーダー芸みたいなのも出来ると思いますので、バッチファイルで処理が完了したらカッコいい絵を出してみるのも面白いかもしれません。
仕事で使って怒られても保証はしませんので、使う際は自己責任でお願いします。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?