昨日はQB64と出会ったので、その話をしましたが、サンプルプログラムは今一つ刺さらないので、今度は昔のファイルを漁ってみました。
すると、(どんなものか確認までにDLした)Dev-C++(もうシステムは消してしまいましたが...何か?)にOpenGLとDirect3Dのサンプルがあり、BCC102でもそのままコンパイル出来るか否か確認してみました。
OpenGLの方は、一応コンパイル前にインクルードファイル(gl.h)をチェックしてコンパイルし、見事に難なく成功しました。所がDirect3Dの方は、こちらも一応コンパイル前にインクルードファイル(d3d9.hとd3dx9.h)がBCC102(...BCC102\include\windows\sdk\gl) にあることをチェックし、コンパイルしましたが、プログラムに3つある演算系のD3DXMatrix~関数が見つからない、というエラーが出てコンパイルできません。
この為、再度BCC102のlibフォールダーを精査、ツールを使ってD3DX...libらしき関数にD3DXMatrix~関数がないかチェックし、webでd3dx9.libを落とし、コンパイルすると「OMFじゃない」というエラーで(よせばよいのに)COFF2OMFで変換して試したり...結局コンパイルできません。
本日「要すればD3DXMatrix~関数があるDLLを入手して、implibツールでlibファイルを作ればよい」と思い、チェックしたら、d3dx9.dllはすでにレガシー(現在の私のWin 11マシンはDirectX 12)であり、昔のDirectX 9パッケージは入手しましたが、「そこまでやることか?」という現実にはっと気が付き、矢張りやめる(OpenGLが動くだけで良しとする)ことにしました。(注)
注:Direct3DやOpenGLが使えるようになってもそれで何か作ろうとは考えていないので...軟弱?
まぁ、ネタがないとはいえ、本当に暇つぶしの領域であがいています。
ps. ついでですが、ご本家MicrosoftのDirect Xですが、C#で利用するのはちょっとめんどいみたいです。また、C#でOpenGLを使うにはOpenTKというDLLを入手して
using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;
等として使うらしいです。