Я пытаюсь научиться писать OpenGL Shaders .Почему этот код ошибка сегментации при запуске на моем компьютере?(Я использую Ubuntu 10.04 и назвал его shader.cpp .)
#include <GL/glut.h>
#include <iostream>
using namespace std;
int
main (int argc, char **argv)
{
GLuint myVertexShader = glCreateShader(GL_VERTEX_SHADER);
return 0;
}
Я компилирую его, используя следующий Makefile:
CC=g++
CFLAGS=-c -Wall -DGL_GLEXT_PROTOTYPES
LDFLAGS= -lglut -lGLU -lGL -lXmu -lXext -lX11 -lm
SOURCES=shader.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=shader
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o $@
.cpp.o:
$(CC) $(CFLAGS) $< -o $@
clean:
rm -rf *o $(EXECUTABLE)
check-syntax:
$(CC) -o nul -S ${CHK_SOURCES}
Похоже, что в строке, вызывающей glCreateShader , возникает ошибка сегментации.Мне не повезло, выяснив источник этой проблемы.Я новичокСпасибо!
Примечание: То, что представляет этот код, является моей первой попыткой написать простой шейдер с использованием OpenGL.Если все не так, пожалуйста, не стесняйтесь размещать какой-то рабочий код.Что я действительно хочу, так это получить что-то, что я могу скомпилировать и запустить.