Controlling blend modes -- in general and for auxiliary buffers

I hunted around the Panda3d documentation for info on choosing blend modes but didn’t find much. I am familiar with glBlendFunc and its various options but I’m not really seeing how Panda exposes this to the user.

Specifically, I am putting non-rgba data in auxiliary buffers in a multistage render

manager = FilterManager(base.win, base.cam)
self.colourTex = Texture()
self.depthTex = Texture()
self.normalTex = Texture()
quad = manager.renderSceneInto(colortex = self.colourTex, 
                                   depthtex = self.depthTex, 
                                   auxtex = self.normalTex)

It seems to always treat the auxtex as color data (rgba). Specifically it uses the alpha value to decide how to combine pixel values. I don’t want this – I want a straight overwrite so I can use the 4th channel for data. Right now unless I set alpha=1 it does a blend that is not what I want (or what most people would want I would guess) so the 4th channel is wasted.

Note that I still need the standard blend mode (I am guessing it defaults to glBendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) ) for the main color buffer so I can’t just globally change the blend mode. Since OpenGL 4.0 (i.e. 8 years ago) there is glBlendFunci which lets you set the blend function for each buffer separately. The ability to just straight enable and disable blend on buffers has been in since OpenGL 3.0 (10 years ago): glEnablei( GL_BLEND, i)

Any help on how to do this would be appreciated. I think a simple glDisablei( GL_BLEND, i) call would do the trick.

Blend functionality is exposed through ColorBlendAttrib. Unfortunately, we don’t currently expose it per target. Please feel free to file an issue report requesting this feature on GitHub.