私は OpenGL を学び、 Neheガイド を試してC++スキルを向上させようとしていますが、すべての例はWindows向けで、現在Linuxを使用しています。私はLinuxで物事を動作させる方法がまったくわかりません。Linux用に移植されたサイトのコードには、説明されていないコードがはるかにあります(これまでのところ、仕事は [〜#〜] sdl [〜#〜] 例: http://nehe.gamedev.net/data/lessons/linuxsdl/lesson01.tar.gz =)。 LinuxでのOpenGLに対してもう少し具体的な他のリソースはありますか?
最初に行うことは、OpenGLライブラリをインストールすることです。私はお勧め:
freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev
それらをインストールしたら、コンパイル時にそれらにリンクします。
g++ -lglut -lGL -lGLU -lGLEW example.cpp -o example
Example.cppに、次のようなOpenGLライブラリを含めます。
#include <GL/glew.h>
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glext.h>
次に、シェーダーなどのより高度なopenglオプションを有効にするには、これをglutCreateWindow呼び出しの後に配置します。
GLenum err = glewInit();
if (GLEW_OK != err)
{
fprintf(stderr, "Error %s\n", glewGetErrorString(err));
exit(1);
}
fprintf(stdout, "Status: Using GLEW %s\n", glewGetString(GLEW_VERSION));
if (GLEW_ARB_vertex_program)
fprintf(stdout, "Status: ARB vertex programs available.\n");
if (glewGetExtension("GL_ARB_fragment_program"))
fprintf(stdout, "Status: ARB fragment programs available.\n");
if (glewIsSupported("GL_VERSION_1_4 GL_ARB_point_Sprite"))
fprintf(stdout, "Status: ARB point sprites available.\n");
これですべてのOpenGL機能が有効になります。有効にならない場合は、問題を通知する必要があります。
最初は、コンパイルプロセスが最大の違いだと思います。ここに便利です メイクファイル UbuntuでシンプルなOpenGLアプリをコンパイルします。
INCLUDE = -I/usr/X11R6/include/
LIBDIR = -L/usr/X11R6/lib
FLAGS = -Wall
CC = g++ # change to gcc if using C
CFLAGS = $(FLAGS) $(INCLUDE)
LIBS = -lglut -lGL -lGLU -lGLEW -lm
All: your_app # change your_app.
your_app: your_app.o
$(CC) $(CFLAGS) -o $@ $(LIBDIR) $< $(LIBS) # The initial white space is a tab
これをというファイルに保存します メイクファイル 同じディレクトリにある必要があります。書くことでコンパイルする 端末からmakeまたは:make Vimから。
幸運を
@Millthornからこの古い回答を見つけて機能しなかったため、メイクファイルを少し更新しました。標準のlibにあるため、インクルードパスを定義する必要はありません https://stackoverflow.com/a/2459788/1059828
open GLをコンパイルするための最小限のメイクファイルは次のようになります。
LDFLAGS=-lglut -lGL -lGLU -lGLEW -lm
all: your_app
http://surflab.cise.ufl.edu/wiki/Getting_Started_with_OpenGL_in_Ubunt
Qtを使用してウィンドウとウィジェットを描画したい場合があります。
こちら は、Neheガイドに基づいたチュートリアルで、QtでOpenGLイメージを作成する方法を示します。
OpenGLを学習するには、 OpenGL Red Book は必読です。オンライン版があります。非常に良い説明と例があります。