2013-12-15 2 views
0

i следуйте этому руководству http://open.gl/textures? Я не могу понять эти фрагменты кода и не запускаюсь в проекте моей визуальной студии. Кроме того, какой тип формата «в vec2» и «вне vec3» ??opengl-earth попробуйте поместить текстуру в первый раз

in vec2 texcoord; 

out vec3 Color; 
out vec2 Texcoord; 

void main() 
{ 
    Texcoord = texcoord; 

....

glVertexAttribPointer(posAttrib, 2, GL_FLOAT, GL_FALSE, 
         7*sizeof(float), 0); 
glVertexAttribPointer(colAttrib, 3, GL_FLOAT, GL_FALSE, 
         7*sizeof(float), (void*)(2*sizeof(float))); 

GLint texAttrib = glGetAttribLocation(shaderProgram, "texcoord"); 
glEnableVertexAttribArray(texAttrib); 
glVertexAttribPointer(texAttrib, 2, GL_FLOAT, GL_FALSE, 
         7*sizeof(float), (void*)(5*sizeof(float))); 

ответ

2

Первая часть цитируете должна быть vertex shader. Он написан в GLSL и не предполагается понимать Visual Studio (или любой другой компилятор C/C++, если на то пошло), а компилятором GLSL вашей реализации GL. Остальное, что вы указали, - это клиентский код GL, который выполняется на главном процессоре, настраивая общие массивы атрибутов вершин.

Вы должны действительно работать с более основными частями этого учебника, прежде чем пытаться урезать текстуры. Шейдеры и общие атрибуты вводятся в drawing lesson указанного учебника, что имеет важное значение для всех следующих недостатков.

+0

спасибо, что посмотрим! – maria