Carregando textura para OpenGL com OpenCV
Vi muitos exemplos de código para carregar texturas para OpenGL, muitos deles um pouco complicados para entender ou exigir novas funções com muito códig
Eu estava pensando que como OpenCV nos permite carregar qualquer formato de imagem; pode ser uma maneira simples e eficiente de carregar texturas para OpenGL, mas estou faltando alguma coisa. Eu tenho esse pedaço de código emc ++:
cv::Mat texture_cv;
GLuint texture[1];
int Status=FALSE;
if( texture_cv = imread("stones.jpg")) {
Status=TRUE; // Set The Status To TRUE
glGenTextures(1, &texture[0]); // Create The Texture
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S , GL_REPEAT );
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
glTexImage2D(GL_TEXTURE_2D, 0, 3, texture_cv.cols, texture_cv.rows, 0, GL_RGB, GL_UNSIGNED_BYTE, texture_cv.data);
}
E não está compilando devido a este erro:
erro C2451: a expressão condicional do tipo 'cv :: Mat' é ilegal
Alguma sugestão? Como devo fazer a conversão da textura cv :: Mat para openGL?