LoginSignup
0
0

More than 1 year has passed since last update.

Python で Windows で ctypes で OptiX を呼び出したいメモ

Last updated at Posted at 2022-03-27

OptiX を Python で呼んでちょっとしたテストとか Windows でぺろっとやりたい.
OptiX のコードビルドとかめんどい...
SDK も regist しないと落とせないし...

ctypes でコンパイル不要で頑張ってみます.

dll のありか

標準では PATH が通っていないようです.

OptiX のコードを見るとレジストリ探索とかしてたりします.
Python で winreg でレジストリ探索してもよいですが,
Windows だと(バージョンにもよるかも), 以下のところにありました.

from ctypes import *

dllpath='C:\\Windows\\System32\\DriverStore\\FileRepository\\nv_dispsig.inf_amd64_145fe9c72c40de0a\\nvoptix.dll'

optix = cdll.LoadLibrary(dllpath)
print(optix.optixQueryFunctionTable)

ハッシュは PC ごとに変わるようですので, Python で C:\\Windows\\System32\\DriverStore\\FileRepository\\nv_dispsig.inf_amd64_* で glob でみつけるとよいでしょう.
(nv_dispsig なフォルダは 1 個だけ)

optixInit?

これもコードみるとわかりますが関数として用意はされておらず, optix SDK header のみにあります. 内部では上のように nvoptix.dll を読んでいます.

各種 optix 関数?

上で得た optixQueryFunctionTable に関数テーブルがあるようです!

TODO

OptiX のヘッダーを見て各種呼び出しできるようにする.
(ライセンス的にヘッダーは MIT なので copyright 表記などしておけば問題ないでしょう)

0
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
0
0