昨日は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;

等として使うらしいです。