我想做这样的事情:
currentBlendFunc = glGetCurrentBlendFunc();
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
// [...] do stuff
glBlendFunc(currentBlendFunc.src, currentBlendFunc.dest);
Run Code Online (Sandbox Code Playgroud)
有没有办法获得当前的混合功能?
多年后,我遇到了同样的问题,文档仍然不清楚或被窃听。
@don 在不完整/错误中的解决方案,但您还需要恢复这些_RGB值:
GLint last_blend_src_rgb; glGetIntegerv(GL_BLEND_SRC_RGB, &last_blend_src_rgb);
GLint last_blend_dst_rgb; glGetIntegerv(GL_BLEND_DST_RGB, &last_blend_dst_rgb);
GLint last_blend_src_alpha; glGetIntegerv(GL_BLEND_SRC_ALPHA, &last_blend_src_alpha);
GLint last_blend_dst_alpha; glGetIntegerv(GL_BLEND_DST_ALPHA, &last_blend_dst_alpha);
Run Code Online (Sandbox Code Playgroud)
...
glBlendFuncSeparate(last_blend_src_rgb, last_blend_dst_rgb, last_blend_src_alpha, last_blend_dst_alpha);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3213 次 |
| 最近记录: |