2013-12-15 4 views
0

나는이 튜토리얼 http://open.gl/textures을 따르고 있습니까? 이러한 코드는 이해할 수 없으며 Visual Studio 프로젝트에서 실행되지 않습니다. 또한 "in vec2"및 "out vec3"형식 형식은 무엇입니까 ??opengl-soil 처음으로 텍스처를 넣으려고합니다

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++ 컴파일러와 관련하여)에서는 이해할 수 없지만 GL 구현의 GLSL 컴파일러가 이해해야합니다. 당신이 인용 한 나머지 부분은 호스트 CPU에서 실행되는 GL 클라이언트 코드이며, 일반적인 버텍스 애트리뷰트 배열을 설정합니다.

텍스처 레슨을 시도하기 전에 튜토리얼의 기본 부분을 실제로 살펴보아야합니다. 셰이더 및 일반 특성은이 자습서의 drawing lesson에 소개되어 있으며 다음 강의 모두에 필수적입니다.

+0

감사합니다. – maria

관련 문제