아래의 매개 변수를 사용하여 이미지 데이터를 BYTE *로 사용하여 gl :: Texture 객체를 만들려고합니다.Cinder로 변환 gl :: Texture
FreeGLUT - 내가 그러나 나는 쇠 찌끼에서 GL :: 텍스처 개체를 만들 수있는 방법을 찾을 수 없습니다, 2 차원 텍스처를 만들고 쿼드 :
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, textureWidth, textureHeight, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, data);
glBindTexture(GL_TEXTURE_2D, 0); etc etc
이 잘 작동에 바인딩하려면이 옵션을 사용합니다.
text = gl::Texture(loadImage(loadAsset("text.jpg"))); // works with images files
text = gl::Texture(data, GL_RGBA8, 640, 480); // BTYE * data This gives me a grey screen -
가장 가능성이있는 것처럼 보였지만 형식 형식 = format();
Texture (const unsigned char *data, int dataFormat, int aWidth, int aHeight, Format format=Format())
나는이 작품이 어떻게 작동하는지 더 잘 이해하지 못하고 온라인에서 더 좋은 튜토리얼을 찾을 수 없다. 감사. 분명히
고마워요. 당신의 대답은 이해가되지만, 글 : draw (text, getWindowBounds()); 나는 아직도 회색 배경을 얻는다. 그것은 gl :: Texture (파일에서 loadImage 사용할 때 작동합니다. 내가 다르게 할 필요가있는 다른 무언가가 있습니까? freeglUT 있음 쿼드에 텍스처를 매핑하는 내 이해 텍스처가 gl 함께 작동합니다. 그리기 같이 (같이 파일에서로드 된 텍스처가 올바르게 표시됩니다.) – user1546650
@ user1546650 '데이터'가 실제로 이미지 데이터를 가리키는 지 확인하는 것이 중요합니다. 디버거를 사용하여 값이 올바른지 확인하십시오. – PeterT
감사합니다. 나머지 문제는 내 주요 코드의 버그입니다 (디버거를 확인하려고했으나 찾고있는 것이 전부는 아닙니다 : P). – user1546650