[トップページ] [星雲紀行] [MLXS] [WPGen] [自作音楽] [モデル] [vi/vim] [tips] [自己紹介]

OpenGL Tools

目次

  1. はじめに
  2. ツール
  3. NVemulate
  4. Borland C++ Compiler とGLUT
  5. 参考文献・参考ウェブページ
  6. 履歴

はじめに

OpenGL で使用可能なツール類についてのメモを記載しています。。

[目次]

OpenGL ツール

[目次]

NVemulate

NVemulate
これはどんなPC 上でもNVIDIA のグラフィクスプロセッサの機能をエミュレート してくれる。
ただしソフトウェアでハードウェアパイプラインを実行する都合上、非常に低速。
nvidia latest update

[目次]

ボーランド BCC

無料で手に入るWindows コンパイラ。
OpenGL 環境をWindows に入れるためには、

  1. Borland からBorland C++ Compiler をダウンロード、インストールする。
    インストール先はデフォルトが問題がすくない。
    変更してトラブルがあったが、具体的には忘れた。
  2. GLUT (glut-3.7.6-bin.zip)をダウンロード・展開する。
    • glut32.lib を削除
    • コマンドプロンプトにて
      implib glut32.lib glut32.dll
      としてglut32.lib を作り直す。
    • glut.h を C:\Borland/BCC55/Include/GL にコピーする。
    • glut32.lib を C:\Borland/BCC55/Lib/PSDK にコピーする。
    • glut32.dll を作業ディレクトリにコピーする。

# または Cygwin をインストールすれば簡単にOpenGL の環境は 手に入る。しかしcygwin だとcygwin1.dll が実行に必要になる。

コンパイル方法は以下の通り
bcc32 -DWIN32 -IC:/Borland/BCC55/Include -LC:/Borland/BCC55/Lib -LC:/Borland/BCC55/Lib/PSDK SOURCE_FILENAME

Cygwin があれば以下のようなshell script を用意してパスを通しておくと便利。
bcc32.exe -DWIN32 -IC:/Borland/BCC55/Include -LC:\Borland/BCC55/Lib -LC:/Borland/Lib/PSDK $1 $2 $3 $4 $5 $6 $7 $8

リンカエラー

複数のファイルをコンパイルするとリンクエラーが出る。
ヘッダファイルに、本来c ファイルで分けて書く実装をすべてを書き込み リンカが必要なくしてあげるとうまくコンパイルできる。

少し情けない方法でソースコードが汚くなるので普段は使用しないでcygwin で 開発して、Windows で走るプログラムを作るときにはBCC でコンパイルする 方法にしたほうがよさそうだ。

sinf() エラー

sinf() を使用するとエラーが起きる。 そのときには

-Dsinf=(float)sin -Dcosf=(float)cos -Dtanf=(float)cos
としてマクロにして置き換えてしまう。

BCC 用途の簡単なMakefile

 1  CC=C:\Borland\BCC55\Bin\bcc32
 2
 3  INCLUDES=-IC:/Borland/BCC55/Include
 4  LIBS=-LC:/Borland/BCC55/Lib -LC:/Borland/BCC55/Lib/PSDK
 5
 6  all: quatsample.exe
 7
 8  quatsample.exe: quatsample.c quat.c
 9      $(CC) $(INCLUDES) $(LIBS) $? quat.c
10

オーバーロード関数群の中の 1 つだけしか "C" にできない

C++ でコンパイルしたときにエラーが起きる場合の対処方法。
"C" ではオーバーロードはできず、stdlib.h で std::exit を extern "C" で宣言してるのと、 glut.h が ::exit をextern "C" で宣言してるのが ぶつかっているため。
Borland C インクルードパスのglut.h の exit を宣言してる部分をコメント化 することで回避。
手元のcygwin 環境では以下の手順で作業を行った。
$ cp c/borland/bcc55/Include/GL/glut.h c/borland/bcc55/Include/GL/glut.h.backup
$ vi c/borland/bcc55/Include/GL/glut.h
146G → コメントアウト
Borland 以下のパスに注意。
参考
[目次]

glut でexit() がないエラー

新しいコンパイラでは、glut.h 内部でexit() が宣言されていないと いわれることがある。
対処するためには
$ cp c/borland/bcc55/Include/GL/glut.h c/borland/bcc55/Include/GL/glut.h.backup
$ vi c/borland/bcc55/Include/GL/glut.h
ファイル行頭に以下の記載をする。
#include <stdlib.h>
Borland 以下のパスに注意。
[目次]

プログラムがGLUT_DOUBLE で落ちる

プログラムがコンパイルできてもいきなり終了してしまうときがあった。
解消するためにはGLUT_DOUBLE を宣言しなければ動作するが、 これではまともなアプリケーションが動作しない。

対処方法として、単純にグラフィックカードのドライバアップデートで 解消できた。

[目次]

参考文献・参考ウェブページ

参考文献

参考ウェブページ

[content]

履歴

  • 2006/07/08 初版(分岐版)作成
[content]
ご意見、ご感想、誤字、間違い等、お気づきの点がありましたら KGussan@Gmail.com まで連絡ください。
このウェブページの注意・免責事項 Copyright (C) 2004-2012 KGussan. [トップページ]
[PR:元国税局勤務の起業家向け、遺産相続の相談なら植村洋税理士事務所:一時間無料税理士相談。お気軽に。]