Dear OSG-friends,

I currently have a scene graph set up where a pre-render camera renders content to a texture via an FBO, and the main camera uses this texture to texture a quad with it. This works, in principle.

However I need mipmapping for that texture, and all but the 0th mipmap level of the texture are empty.

With an apitracer, I found out that the glGenerateMipMap call happens

1. only in the first frame (but I want it to be called every frame).
2. before any draw calls towards the FBO (but I want it after the draw calls).

I tried to inject a glGenerateMipMap via a DrawCallback which I attached to the quad, and which just extends the original draw implementation (glGenerateMipMap immediately before the original draw implementation).

With the apitracer, I validated that, at the position where I injected the glGenerateMipMap

a. the correct texture is bound
b. the frame buffer is un-bound.

But glGenerateMipMap just seg'faults. Because of the seg'fault (I mean we are all used to GL_ERRORS, but seg'faults?) I suspected a driver issue, but I tried it on an alternative platform (one is Intel Graphics, one is Nvidia, both on Linux). Both to the same result.

Can you please help? Maybe I overlooked a simple osg-ish way to achieve this (maybe I just have to set something dirty()?)


osg-users mailing list

Reply via email to