|
@@ -26,7 +26,7 @@ from .filterCopy import COPY
|
|
|
from .filterDown4 import DOWN_4
|
|
from .filterDown4 import DOWN_4
|
|
|
from panda3d.core import LVecBase4, LPoint2
|
|
from panda3d.core import LVecBase4, LPoint2
|
|
|
from panda3d.core import Filename
|
|
from panda3d.core import Filename
|
|
|
-from panda3d.core import AuxBitplaneAttrib
|
|
|
|
|
|
|
+from panda3d.core import AuxBitplaneAttrib, AntialiasAttrib
|
|
|
from panda3d.core import Texture, Shader, ATSNone
|
|
from panda3d.core import Texture, Shader, ATSNone
|
|
|
from panda3d.core import FrameBufferProperties
|
|
from panda3d.core import FrameBufferProperties
|
|
|
from panda3d.core import getDefaultCoordinateSystem, CS_zup_right, CS_zup_left
|
|
from panda3d.core import getDefaultCoordinateSystem, CS_zup_right, CS_zup_left
|
|
@@ -189,11 +189,22 @@ class CommonFilters:
|
|
|
fbprops.setSrgbColor(False)
|
|
fbprops.setSrgbColor(False)
|
|
|
clamping = False
|
|
clamping = False
|
|
|
|
|
|
|
|
|
|
+ if "MSAA" in configuration:
|
|
|
|
|
+ if fbprops is None:
|
|
|
|
|
+ fbprops = FrameBufferProperties()
|
|
|
|
|
+ fbprops.setMultisamples(configuration["MSAA"].samples)
|
|
|
|
|
+
|
|
|
self.finalQuad = self.manager.renderSceneInto(textures = self.textures, auxbits=auxbits, fbprops=fbprops, clamping=clamping)
|
|
self.finalQuad = self.manager.renderSceneInto(textures = self.textures, auxbits=auxbits, fbprops=fbprops, clamping=clamping)
|
|
|
if (self.finalQuad == None):
|
|
if (self.finalQuad == None):
|
|
|
self.cleanup()
|
|
self.cleanup()
|
|
|
return False
|
|
return False
|
|
|
|
|
|
|
|
|
|
+ if "MSAA" in configuration:
|
|
|
|
|
+ camNode = self.manager.camera.node()
|
|
|
|
|
+ state = camNode.getInitialState()
|
|
|
|
|
+ state.setAttrib(AntialiasAttrib.make(AntialiasAttrib.M_multisample))
|
|
|
|
|
+ camNode.setInitialState(state)
|
|
|
|
|
+
|
|
|
if ("BlurSharpen" in configuration):
|
|
if ("BlurSharpen" in configuration):
|
|
|
blur0=self.textures["blur0"]
|
|
blur0=self.textures["blur0"]
|
|
|
blur1=self.textures["blur1"]
|
|
blur1=self.textures["blur1"]
|
|
@@ -454,6 +465,19 @@ class CommonFilters:
|
|
|
if task != None:
|
|
if task != None:
|
|
|
return task.cont
|
|
return task.cont
|
|
|
|
|
|
|
|
|
|
+ def setMSAA(self, samples):
|
|
|
|
|
+ fullrebuild = "MSAA" not in self.configuration or self.configuration["MSAA"].samples != samples
|
|
|
|
|
+ newconfig = FilterConfig()
|
|
|
|
|
+ newconfig.samples = samples
|
|
|
|
|
+ self.configuration["MSAA"] = newconfig
|
|
|
|
|
+ return self.reconfigure(fullrebuild, "MSAA")
|
|
|
|
|
+
|
|
|
|
|
+ def delMSAA(self):
|
|
|
|
|
+ if "MSAA" in self.configuration:
|
|
|
|
|
+ del self.configuration["MSAA"]
|
|
|
|
|
+ return self.reconfigure(True, "MSAA")
|
|
|
|
|
+ return True
|
|
|
|
|
+
|
|
|
def setCartoonInk(self, separation=1, color=(0, 0, 0, 1)):
|
|
def setCartoonInk(self, separation=1, color=(0, 0, 0, 1)):
|
|
|
fullrebuild = (("CartoonInk" in self.configuration) == False)
|
|
fullrebuild = (("CartoonInk" in self.configuration) == False)
|
|
|
newconfig = FilterConfig()
|
|
newconfig = FilterConfig()
|
|
@@ -673,6 +697,8 @@ class CommonFilters:
|
|
|
return True
|
|
return True
|
|
|
|
|
|
|
|
#snake_case alias:
|
|
#snake_case alias:
|
|
|
|
|
+ set_msaa = setMSAA
|
|
|
|
|
+ del_msaa = delMSAA
|
|
|
del_cartoon_ink = delCartoonInk
|
|
del_cartoon_ink = delCartoonInk
|
|
|
set_half_pixel_shift = setHalfPixelShift
|
|
set_half_pixel_shift = setHalfPixelShift
|
|
|
del_half_pixel_shift = delHalfPixelShift
|
|
del_half_pixel_shift = delHalfPixelShift
|