Windows でOpenGLプログラミングと関連書籍 | 貯え 小道具 興味ない?

貯え 小道具 興味ない?

「貯えもの」とは、いってもお金をご想像の方は、ご遠慮くださいまし。
Storage = Data Storage
関わってお仕事したり、使ってて感じたことなり
記すBlogでございます。
トラックバックを時折頂きますが、削除する場合がございます。

OpenGL」(linkはWikipedia)は改めて言うまでもなく、あまりOSに依存しない「グラフィックスハードウェア向けの2次元/3次元コンピュータグラフィックスライブラリである。」(Wikipediaより転載)というものなので、普段主にMacを使っていますが、他のOSでのOpenGLプログラミングに関しても、少し試してみてきました。

Windows10のプログラミングに関して、ちょっと検索してみると「VisualStudio2022で始める3Dプログラミング / OpenGL / Windows10」などが有りました。また、Linux環境で自分で書いた記事では「Ubuntu 20.04でOpenGLとSwiftのプログラミング」が有ります。

 

多分、OpenGLプログラミングについて自分のBlogの記事に最初にしたのは、2015-05-05の「OpenGLを使ってみる」だと思います。この時はMacで少し試しましたが、Linux(CentOS)でのプログラミングをやってみて「glxgears」を動かすために環境変数を操作してみたという記事でした。その後は暫く「コンピュータ・グラフィックス」関連は触っていなかったのですが、また少しだけ興味が沸いてMacで「XcodeでOpenGLのテスト」の記事を書きました。この記事からの引用(他のサイトからの引用です)ですが、AppleとしてはグラフィックスAPIは、OpenGLからMetalへと移行しつつあり「OpenGLの代替として推奨されているAPIはMetalであるが、MetalはVulkan同様、OpenGLよりもハードウェア層に近いローレベルAPIであり、アプリケーション開発向けというよりミドルウェア開発向けに位置する。」という解説があり、少しOpenGLとは位置づけが違う様にも読めます。なので、アプリケーション系のプログラミングしかしていない最近では(デバイスドライバなどのハードウェア寄りのプログラミングをしない限りには)、まだ暫くはOpenGLのプログラミングの意味があるかもしれないと考えています。(Metalの参考書籍が有ったので入手して試した結果を記事にしたのが「Appleの「Metal」を試してみました」です)この時期までは書籍はあまり参照しないで、ネット記事を探して記事にしていました。またXcode自体の使い方もあまり知らなかったので、Xcodeのプログラミングとは言っても、ちょっとネットで調べて試したプログラミングだったと思います(この時はSwift言語)。また記事を投稿したのが、2021-01-13という日時になっていたので、丁度3年前の様です。

 

 

この時に少しだけ参照したのが、この本だったのですが、Windows環境での「開発環境」の設定だけに限った書籍で普段Mac/Linuxを使っているのであまり参考にならないと判断してブックオフに売ってしまっていました。

 

少し別なことをしていた時に、同じ工学社の書籍なのですが、

 

この書籍の中古品をAmazonから購入しました。この本ではWindowsだけでなくUNIX系OSでの基本的なプログラミング手順の説明が有ったので、手元の環境で試しやすかったです。実際にMacで試した結果を書いた記事が2023-11-11(2か月前)の「コンピュータ・グラフィックスを考える(その1)」だと思います。

 

今回、「はじめてのOpenGL」(linkは出版社サイト)の中古書籍を入手しなおして、「Windows10 クローニングする事にしました」に書いたとおりのメンテナンスの終わったWindows10環境で「Visual Studio 2010」を使って書籍付録の25あるサンプルプログラム(CD-ROM)をビルドしてみました。

 

実行結果のサンプルは

という感じです。ただ、環境設定をglutなどに関して古いまま使っていた為かCD-ROMのプログラムの5つくらいはそのまま動かすことはできませんでした。

 

因みに「このアニメーションGIF」画像は「Windows」キー+「G」キーでmp4形式の動画を作成して(「1. Windows 10 の画面を動画で録画する方法」)、「コンピュータ・グラフィックスを考える(その1)」に追記した「Windows 10用GIF作成フリーソフトTOP5:無料でWindows10でGIFを作成」の中から無償体験版でない様な「フリーソフト」の「ScreenToGif」を使ってアニメーションGIFに変換しました。(このソフトウェアはMicrosoft Storeからも入手可能です(screentogif(linkはMicrosoft Store)))

 

参考書籍に関してなのですが、2冊のOpenGL書籍をほぼ読み終わってから「GLUTによるOpenGL」を先に読んで、実際にOpenGLプログラミングに多少慣れてから「はじめてのOpenGL」を読めばOpenGLの理解は深まったかもしれないと思っています。今回参考にした2冊の書籍は電子書籍は無い様で、Amazonでの試し読みもできませんから、結局書籍を読んでみるか、理解を進めながらWebサイトを検索するしか無かったと思います。または電子書籍のある他の書籍を探すかだと思います。もっとも最近ならYouTubeで関連動画を探すのも1つの方法だとは思います。

 

「はじめてのOpenGL」で扱っているプログラミング言語はC++言語となっていてサンプルプログラムの拡張子は「cpp」なのですが、ソースコードをざっと見たところほぼC言語の様です。開発環境に関しては「Visual Studio 2010 Express (日本語版)」での「Win32 コンソールアプリケーション」を使うプログラミングですが、書籍の1章には扱うOpenGLをWindowsで扱うプログラミングの説明が丁寧に書いてあり、Windowsプログラミングに慣れていない場合でもコンパイル手順も判ります。

 

「はじめてのOpenGL」を読むにあたって、Windowsでのプログラミング手順は判っても、ビルドするための環境が無くては、実際にグラフィックスのプログラミングは出来ません。この点に関しては「Visual Studio 2010 ExpressのDVD」という記事を書いたことがあって、「Visual Studio 2010」の30日間に限られたExpress版が入手できるのですが、「古いvisual studio ダウンロード」等の検索語で探せば、Microsoftの「ソフトウェアのダウンロードとライセンス認証」などのページが見つかるので、「Visual Studio 2010」は難しいかもしれませんが「古いVisual Studio」の入手の手立てが無くはありません。ただ、ちょっと調べてみたところインストールして最初に使用してから30日間限定の利用条件になっている様です。また最近のVisual Studio 2022バージョンなどのバージョンで構わなければ、「Visual Studio Tools のダウンロード - Windows、Mac」から入手できます。


去年の後半から、やっと色々プログラミングを試せる様になってきたので、今年も続きをしようと思っています。Mac環境ではAppleScriptが独自のものですが、MacまたはLinux(Windowsでもできなくはない)のObjective-CとSwift、他にも手を付けたことのあるものではC++言語やJava言語などがアプリケーション系のプログラミングでした。欲を出せば、更にハードウェアに近いプログラミングもやってみたいことではあります。

 

#追記(2024/01/07)

使ったことは無いのですが、OpenGLのライブラリには「GLEW」というのもあるそうです。このライブラリについては名前のとおり拡張ライブラリだそうなのですが、「The OpenGL Extension Wrangler Library」のページを見ると、ベンダー名などが含まれている名前も見受けられるので、機種依存の部分を含むライブラリなのかもしれません。また書籍にも紹介されていましたが、Win32のGLUTライブラリは「GLUT for Win32」のリンク先にあります。