2017-12-23 23 views
-2

저는 OpenGL을 처음 사용하고 있으며 현재 텍스처를 처리하려고합니다. glTextureParameteri()를 호출 할 때마다 오류 1282 (잘못된 연산)가 계속 발생합니다. 내가 알 수있는 한, 모든 자료는 이와 동일한 방식으로 쓰여졌다. 이것은 문제를 일으키는 코드 조각입니다.OpenGL에서 텍스처를 사용하는 방법? (잘못된 연산 오류 : 1282)

 ImageLoader image("res/Textures/test.bmp"); 
     GLuint texture; 
     glGenTextures(1, &texture); 
     glBindTexture(GL_TEXTURE_2D, texture); 
     glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 
     glTextureParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 
     glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image.getWidth(), image.getHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE, image.getPixels()); 
     glBindTexture(GL_TEXTURE_2D, 0); 

오류 코드는 glTextureParameteri()가있는 행에 나타납니다. 이 작업을 수행 한 방법이 잘못되었거나 잘못 되었습니까?

+0

[참조 설명서] (https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glTexParameter.xhtml)에는이 함수가 OpenGL4.5 부터만 사용할 수있는 것으로 나와 있습니다. 이 프로그램을 실행하는 시스템이이를 지원합니까? – VTT

+0

@VTT 예. 나는 최근에 다소 업데이트 된 gtx 1060을 가지고 있으며, 내가 작성한 프로그램은 opengl4.6.0에서 실행 중이다. 또한, 이전 함수 인 glTexParameteri()를 체크했는데 작동하는 것 같다. – Jacques

답변

2

glTextureParameter 함수는 텍스처 인수가 아니라 텍스처 핸들의 첫 번째 인수를 취합니다. 사용하는 매개 변수는 glTexParameter 기능인 것 같습니다. 이 둘은 같지 않으므로 다른 기능을 사용하거나 매개 변수를 변경할 수 있습니다.