Milkdrop has two places where it "burns" something into the preset main image:
After the title text display is finished, the text is burned into the preset.
If a user sprite is "done" and burn-in is enabled, it's also burned into the preset.
Displaying of user sprites will be handled by projectM (see #734), but title text display and other effects are not. So it will make sense to add an API call that gives applications the possibility to burn any texture into the current preset image.
As the texture might not be filling the whole screen, the API call should have parameters to provide rectangle coordinates (in texels relative to the drawing surface) where to apply the texture on the preset image.
The new API call should go into the render_opengl.h header, with a signature similar to this:
PROJECTM_EXPORT void projectm_opengl_burn_texture(GLuint texture, int left, int top, int width, int height);
The given texture would then be drawn once onto the active preset(s) main texture during the next call to projectm_opengl_render_frame(), right before the composite shader is applied.
Milkdrop has two places where it "burns" something into the preset main image:
Displaying of user sprites will be handled by projectM (see #734), but title text display and other effects are not. So it will make sense to add an API call that gives applications the possibility to burn any texture into the current preset image.
As the texture might not be filling the whole screen, the API call should have parameters to provide rectangle coordinates (in texels relative to the drawing surface) where to apply the texture on the preset image.
The new API call should go into the
render_opengl.h
header, with a signature similar to this:The given texture would then be drawn once onto the active preset(s) main texture during the next call to
projectm_opengl_render_frame()
, right before the composite shader is applied.