I'm trying to get a basic FBO up and running, but I'm getting a GL_INVALID_OPERATION error when trying to assign a texture to the FBO. I'm on WindowsXP and am programming in Freepascal with SDL as the context wrapper. Here's a code snippet:
I can't figure out what I'm doing wrong here...Code:glEnable(GL_TEXTURE_2D); glClearColor(0.0, 0.0, 0.0, 0.0); glViewport(0, 0, 800, 600); glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 800, 600, 0.0, -1.0, 1.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_LIGHTING); glShadeModel(GL_SMOOTH); [...] TempSurface := IMG_Load('gfx/logo.png'); glGenTextures(1, @TexID); glBindTexture(GL_TEXTURE_2D, TexID); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexImage2D(GL_TEXTURE_2D, 0, 4, 512, 512, 0, GL_RGBA, GL_UNSIGNED_BYTE, TempSurface^.pixels); SDL_FreeSurface(TempSurface); [...] IF glext_LoadExtension('GL_EXT_framebuffer_object') THEN BEGIN glGenFramebuffersEXT(1, @FBO); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, FBO); // NO ERROR HERE glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, TexID, 0); // GL_INVALID_OPERATION RETURNED HERE! glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); END;


Reply With Quote