예제 #1
0
 def createComponents(self):
     self.buffersParent = self.window.getContentNode().attachNewNode(
         "buffers")
     self.toggleAlphaBtn = CheckboxWithLabel(
         parent=self.window.getContentNode(),
         x=10,
         y=10,
         textSize=15,
         text="Alpha only",
         chbChecked=False,
         chbCallback=self.setAlphaRendering)
예제 #2
0
 def createComponents(self):
     self.buffersParent = self.window.getContentNode().attachNewNode(
         "buffers")
     self.togglePassOnly = CheckboxWithLabel(
         parent=self.window.getContentNode(),
         x=10,
         y=10,
         textSize=15,
         text="Display render passes only",
         chbChecked=True,
         chbCallback=self.setShowRenderPasses)
예제 #3
0
    def _initSettings(self):
        currentY = 10

        # Render Modes
        self.renderModes = CheckboxCollection()

        modes = [
            ("Default", "rm_Default"),
            ("Metallic", "rm_Metallic"),
            ("BaseColor", "rm_BaseColor"),
            ("Roughness", "rm_Roughness"),
            ("Specular", "rm_Specular"),
            ("Normal", "rm_Normal"),
            ("Occlusion", "rm_Occlusion"),
            ("Lighting", "rm_Lighting"),
            ("Scattering", "rm_Scattering"),
            ("G-Illum", "rm_GI"),
            ("GI-Reflections", "rm_Reflections"),
            ("Ambient", "rm_Ambient"),
        ]

        features = [
            ("Occlusion", "ft_OCCLUSION"),
            ("Motion Blur", "ft_MOTIONBLUR"),
            ("Anti-Aliasing", "ft_ANTIALIASING"),
            ("Shadows", "ft_SHADOWS"),
            ("Color Correction", "ft_COLOR_CORRECTION"),
            ("Blur Occlusion", "ft_BLUR_OCCLUSION"),
            ("Scattering", "ft_SCATTERING"),
            ("G-Illum", "ft_GI"),
            ("Ambient", "ft_AMBIENT"),
        ]

        self.renderModesTitle = BetterOnscreenText(text="Render Mode",
                                                   x=20, y=currentY,
                                                   parent=self.debuggerContent,
                                                   color=Vec3(1), size=15)

        currentY += 80
        isLeft = True
        for modeName, modeID in modes:

            box = CheckboxWithLabel(
                parent=self.debuggerParent, x=20 if isLeft else 158, y=currentY,
                chbCallback=self._updateSetting, chbArgs=[modeID, False],
                radio=True, textSize=14, text=modeName, textColor=Vec3(0.6),
                chbChecked=modeID == "rm_Default")
            self.renderModes.add(box.getCheckbox())

            isLeft = not isLeft

            if isLeft:
                currentY += 25

        self.featuresTitle = BetterOnscreenText(text="Toggle Features",
                                                x=20, y=currentY, parent=self.debuggerContent, color=Vec3(1), size=15)

        currentY += 80
        isLeft = True
        for featureName, featureID in features:

            box = CheckboxWithLabel(
                parent=self.debuggerParent, x=20 if isLeft else 158, y=currentY,
                chbCallback=self._updateSetting, chbArgs=[featureID, True],
                textSize=14, text=featureName, textColor=Vec3(0.6),
                chbChecked=True)

            isLeft = not isLeft

            if isLeft:
                currentY += 25

        self.demoSlider = BetterSlider(
            x=20, y=currentY, size=230, parent=self.debuggerContent)

        self.initialized = True
    def _initSettings(self):
        """ Inits all debugging settings """

        currentY = 10

        # Render Modes
        self.renderModes = CheckboxCollection()

        # Handle to the settings
        s = self.pipeline.settings

        modes = []
        features = []

        register_mode = lambda name, mid: modes.append((name, mid))
        register_feature = lambda name, fid: features.append((name, fid))

        register_mode("Default", "rm_Default")
        register_mode("Metallic", "rm_Metallic")
        register_mode("BaseColor", "rm_BaseColor")
        register_mode("Roughness", "rm_Roughness")
        register_mode("Specular", "rm_Specular")
        register_mode("Normal", "rm_Normal")
        register_mode("Velocity", "rm_Velocity")

        if s.occlusionTechnique != "None":
            register_mode("Occlusion", "rm_Occlusion")
            register_feature("Occlusion", "ft_OCCLUSION")


        register_feature("Upscale Blur", "ft_UPSCALE_BLUR")

        register_mode("Lighting", "rm_Lighting")
        register_mode("Raw-Lighting", "rm_Diffuse_Lighting")

        if s.enableScattering:
            register_mode("Scattering", "rm_Scattering")
            register_feature("Scattering", "ft_SCATTERING")

        if s.enableGlobalIllumination:
            register_mode("GI-Diffuse", "rm_GI_DIFFUSE")
            register_mode("GI-Specular", "rm_GI_REFLECTIONS")
            register_feature("G-Illum", "ft_GI")

        register_mode("Ambient", "rm_Ambient")
        register_feature("Ambient", "ft_AMBIENT")

        if s.enableMotionBlur:
            register_feature("Motion Blur", "ft_MOTIONBLUR")

        if s.antialiasingTechnique != "None":
            register_feature("Anti-Aliasing", "ft_ANTIALIASING")

        register_feature("Shadows", "ft_SHADOWS")
        register_feature("Correct color", "ft_COLOR_CORRECTION")
        
        if s.renderShadows:
            register_mode("PSSM Splits", "rm_PSSM_SPLITS")
            register_mode("Shadowing", "rm_SHADOWS")
            
            if s.usePCSS:
                register_feature("PCSS", "ft_PCSS")

            register_feature("PCF", "ft_PCF")

        register_feature("Env. Filtering", "ft_FILTER_ENVIRONMENT")
        register_feature("PBS", "ft_COMPLEX_LIGHTING")

        if s.enableSSLR:
            register_mode("SSLR", "rm_SSLR")
            register_feature("SSLR", "ft_SSLR")

        if s.enableBloom:
            register_mode("Bloom", "rm_BLOOM")
            register_feature("Bloom", "ft_BLOOM")


        if s.useTransparency:
            register_feature("Transparency", "ft_TRANSPARENCY")

        if s.useDiffuseAntialiasing:
            register_feature("Diffuse AA", "ft_DIFFUSE_AA")

        # register_mode("Shadow Load", "rm_SHADOW_COMPUTATIONS")
        # register_mode("Lights Load", "rm_LIGHT_COMPUTATIONS")

        self.renderModesTitle = BetterOnscreenText(text="Render Mode",
                                                   x=20, y=currentY,
                                                   parent=self.debuggerContent,
                                                   color=Vec3(1), size=15)

        currentY += 80
        isLeft = True
        for modeName, modeID in modes:

            box = CheckboxWithLabel(
                parent=self.debuggerParent, x=20 if isLeft else 158, y=currentY,
                chbCallback=self._updateSetting, chbArgs=[modeID, False],
                radio=True, textSize=14, text=modeName, textColor=Vec3(0.6),
                chbChecked=modeID == "rm_Default")
            self.renderModes.add(box.getCheckbox())

            isLeft = not isLeft

            if isLeft:
                currentY += 25

        self.featuresTitle = BetterOnscreenText(text="Toggle Features",
                                                x=20, y=currentY, parent=self.debuggerContent, color=Vec3(1), size=15)

        currentY += 80
        isLeft = True
        for featureName, featureID in features:

            box = CheckboxWithLabel(
                parent=self.debuggerParent, x=20 if isLeft else 158, y=currentY,
                chbCallback=self._updateSetting, chbArgs=[featureID, True],
                textSize=14, text=featureName, textColor=Vec3(0.6),
                chbChecked=True)

            isLeft = not isLeft

            if isLeft:
                currentY += 25

        self.demoSlider = BetterSlider(
            x=20, y=currentY+20, size=230, parent=self.debuggerContent)

        self.demoText = BetterOnscreenText(x=20, y=currentY,
                                       text="Sun Position", align="left", parent=self.debuggerContent,
                                       size=15, color=Vec3(1.0))

        currentY += 70


        if s.enableGlobalIllumination and self.enableGISliders:

            self.slider_opts = {
                "mip_multiplier": {
                    "name": "Mip Multiplier",
                    "min": 1.0,
                    "max": 3.0,
                    "default": 1.0,
                },
                "step_multiplier": {
                    "name": "Step Multiplier",
                    "min": 1.0,
                    "max": 3.0,
                    "default": 1.0,
                },
            }

           

            for name, opts in self.slider_opts.iteritems():
                opts["slider"] = BetterSlider(
                    x=20, y=currentY+20, size=230, minValue=opts["min"],maxValue=opts["max"], value=opts["default"], parent=self.debuggerContent, callback=self._optsChanged)

                opts["label"] = BetterOnscreenText(x=20, y=currentY,
                                               text=opts["name"], align="left", parent=self.debuggerContent,
                                               size=15, color=Vec3(1.0))

                opts["value_label"] = BetterOnscreenText(x=250, y=currentY,
                                               text=str(opts["default"]), align="right", parent=self.debuggerContent,
                                               size=15, color=Vec3(0.6),mayChange=True)
                currentY += 50


        self.initialized = True
예제 #5
0
    def _initSettings(self):
        currentY = 10

        # Render Modes
        self.renderModes = CheckboxCollection()

        # Handle to the settings
        s = self.pipeline.settings

        modes = []
        features = []

        register_mode = lambda name, mid: modes.append((name, mid))
        register_feature = lambda name, fid: features.append((name, fid))

        register_mode("Default", "rm_Default")
        register_mode("Metallic", "rm_Metallic")
        register_mode("BaseColor", "rm_BaseColor")
        register_mode("Roughness", "rm_Roughness")
        register_mode("Specular", "rm_Specular")
        register_mode("Normal", "rm_Normal")

        if s.occlusionTechnique != "None":
            register_mode("Occlusion", "rm_Occlusion")
            register_feature("Occlusion", "ft_OCCLUSION")
            register_feature("Blur Occlusion", "ft_BLUR_OCCLUSION")

        register_mode("Lighting", "rm_Lighting")
        register_mode("Raw-Lighting", "rm_Diffuse_Lighting")

        if s.enableScattering:
            register_mode("Scattering", "rm_Scattering")
            register_feature("Scattering", "ft_SCATTERING")

        if s.enableGlobalIllumination:
            register_mode("G-Illum", "rm_GI")
            register_mode("GI-Reflections", "rm_Reflections")
            register_feature("G-Illum", "ft_GI")

            register_feature("Update GI", "update_gi")

        register_mode("Ambient", "rm_Ambient")
        register_feature("Ambient", "ft_AMBIENT")

        if s.motionBlurEnabled:
            register_feature("Motion Blur", "ft_MOTIONBLUR")

        if s.antialiasingTechnique != "None":
            register_feature("Anti-Aliasing", "ft_ANTIALIASING")

        register_feature("Shadows", "ft_SHADOWS")
        register_feature("Color Correction", "ft_COLOR_CORRECTION")

        if s.renderShadows:
            register_mode("PSSM Splits", "rm_PSSM_SPLITS")
            register_mode("Shadowing", "rm_SHADOWS")
            register_feature("PCSS", "ft_PCSS")
            register_feature("PCF", "ft_PCF")

        register_feature("Env. Filtering", "ft_FILTER_ENVIRONMENT")

        self.renderModesTitle = BetterOnscreenText(text="Render Mode",
                                                   x=20,
                                                   y=currentY,
                                                   parent=self.debuggerContent,
                                                   color=Vec3(1),
                                                   size=15)

        currentY += 80
        isLeft = True
        for modeName, modeID in modes:

            box = CheckboxWithLabel(parent=self.debuggerParent,
                                    x=20 if isLeft else 158,
                                    y=currentY,
                                    chbCallback=self._updateSetting,
                                    chbArgs=[modeID, False],
                                    radio=True,
                                    textSize=14,
                                    text=modeName,
                                    textColor=Vec3(0.6),
                                    chbChecked=modeID == "rm_Default")
            self.renderModes.add(box.getCheckbox())

            isLeft = not isLeft

            if isLeft:
                currentY += 25

        self.featuresTitle = BetterOnscreenText(text="Toggle Features",
                                                x=20,
                                                y=currentY,
                                                parent=self.debuggerContent,
                                                color=Vec3(1),
                                                size=15)

        currentY += 80
        isLeft = True
        for featureName, featureID in features:

            box = CheckboxWithLabel(parent=self.debuggerParent,
                                    x=20 if isLeft else 158,
                                    y=currentY,
                                    chbCallback=self._updateSetting,
                                    chbArgs=[featureID, True],
                                    textSize=14,
                                    text=featureName,
                                    textColor=Vec3(0.6),
                                    chbChecked=True)

            isLeft = not isLeft

            if isLeft:
                currentY += 25

        self.demoSlider = BetterSlider(x=20,
                                       y=currentY + 20,
                                       size=230,
                                       parent=self.debuggerContent)

        self.demoText = BetterOnscreenText(x=20,
                                           y=currentY,
                                           text="Sun Position",
                                           align="left",
                                           parent=self.debuggerContent,
                                           size=15,
                                           color=Vec3(1.0))

        currentY += 70

        if s.enableGlobalIllumination:

            self.slider_opts = {
                "ao_cone_height": {
                    "name": "AO Cone Height",
                    "min": 0.0001,
                    "max": 4.0,
                    "default": 0.5,
                },
                "ao_step_ratio": {
                    "name": "AO Step Ratio",
                    "min": 1.0,
                    "max": 2.5,
                    "default": 1.1,
                },
                "ao_cone_ratio": {
                    "name": "AO Cone Ratio",
                    "min": 0.00001,
                    "max": 2.5,
                    "default": 1.1,
                },
                "ao_start_distance": {
                    "name": "AO Start Offset",
                    "min": -2.0,
                    "max": 2.0,
                    "default": 0.5,
                },
                "ao_initial_radius": {
                    "name": "AO Initial Cone Radius",
                    "min": 0.0001,
                    "max": 5.0,
                    "default": 1.2,
                },
            }

            for name, opts in self.slider_opts.items():
                opts["slider"] = BetterSlider(x=20,
                                              y=currentY + 20,
                                              size=230,
                                              minValue=opts["min"],
                                              maxValue=opts["max"],
                                              value=opts["default"],
                                              parent=self.debuggerContent,
                                              callback=self._optsChanged)

                opts["label"] = BetterOnscreenText(x=20,
                                                   y=currentY,
                                                   text=opts["name"],
                                                   align="left",
                                                   parent=self.debuggerContent,
                                                   size=15,
                                                   color=Vec3(1.0))

                opts["value_label"] = BetterOnscreenText(
                    x=250,
                    y=currentY,
                    text=str(opts["default"]),
                    align="right",
                    parent=self.debuggerContent,
                    size=15,
                    color=Vec3(0.6),
                    mayChange=True)
                currentY += 50

        self.initialized = True
예제 #6
0
    def _initSettings(self):
        currentY = 10

        # Render Modes
        self.renderModes = CheckboxCollection()

        # Handle to the settings
        s = self.pipeline.settings

        modes = []
        features = []

        register_mode = lambda name, mid: modes.append((name, mid))
        register_feature = lambda name, fid: features.append((name, fid))

        register_mode("Default", "rm_Default")
        register_mode("Metallic", "rm_Metallic")
        register_mode("BaseColor", "rm_BaseColor")
        register_mode("Roughness", "rm_Roughness")
        register_mode("Specular", "rm_Specular")
        register_mode("Normal", "rm_Normal")

        if s.occlusionTechnique != "None":
            register_mode("Occlusion", "rm_Occlusion")
            register_feature("Occlusion", "ft_OCCLUSION")
            register_feature("Blur Occlusion", "ft_BLUR_OCCLUSION")

        register_mode("Lighting", "rm_Lighting")

        if s.enableScattering:
            register_mode("Scattering", "rm_Scattering")
            register_feature("Scattering", "ft_SCATTERING")

        if s.enableGlobalIllumination:
            register_mode("G-Illum", "rm_GI")
            register_mode("GI-Reflections", "rm_Reflections")
            register_feature("G-Illum", "ft_GI")

            register_feature("Update GI", "update_gi")


        register_mode("Ambient", "rm_Ambient")
        register_feature("Ambient", "ft_AMBIENT")

        if s.motionBlurEnabled:
            register_feature("Motion Blur", "ft_MOTIONBLUR")

        if s.antialiasingTechnique != "None":
            register_feature("Anti-Aliasing", "ft_ANTIALIASING")

        register_feature("Shadows", "ft_SHADOWS")
        register_feature("Color Correction", "ft_COLOR_CORRECTION")

        self.renderModesTitle = BetterOnscreenText(text="Render Mode",
                                                   x=20, y=currentY,
                                                   parent=self.debuggerContent,
                                                   color=Vec3(1), size=15)

        currentY += 80
        isLeft = True
        for modeName, modeID in modes:

            box = CheckboxWithLabel(
                parent=self.debuggerParent, x=20 if isLeft else 158, y=currentY,
                chbCallback=self._updateSetting, chbArgs=[modeID, False],
                radio=True, textSize=14, text=modeName, textColor=Vec3(0.6),
                chbChecked=modeID == "rm_Default")
            self.renderModes.add(box.getCheckbox())

            isLeft = not isLeft

            if isLeft:
                currentY += 25

        self.featuresTitle = BetterOnscreenText(text="Toggle Features",
                                                x=20, y=currentY, parent=self.debuggerContent, color=Vec3(1), size=15)

        currentY += 80
        isLeft = True
        for featureName, featureID in features:

            box = CheckboxWithLabel(
                parent=self.debuggerParent, x=20 if isLeft else 158, y=currentY,
                chbCallback=self._updateSetting, chbArgs=[featureID, True],
                textSize=14, text=featureName, textColor=Vec3(0.6),
                chbChecked=True)

            isLeft = not isLeft

            if isLeft:
                currentY += 25

        self.demoSlider = BetterSlider(
            x=20, y=currentY, size=230, parent=self.debuggerContent)

        self.initialized = True
예제 #7
0
    def _initSettings(self):
        """ Inits all debugging settings """

        currentY = 10

        # Render Modes
        self.renderModes = CheckboxCollection()

        # Handle to the settings
        s = self.pipeline.settings

        modes = []
        features = []

        register_mode = lambda name, mid: modes.append((name, mid))
        register_feature = lambda name, fid: features.append((name, fid))

        register_mode("Default", "rm_Default")
        register_mode("Metallic", "rm_Metallic")
        register_mode("BaseColor", "rm_BaseColor")
        register_mode("Roughness", "rm_Roughness")
        register_mode("Specular", "rm_Specular")
        register_mode("Normal", "rm_Normal")
        register_mode("Velocity", "rm_Velocity")

        if s.occlusionTechnique != "None":
            register_mode("Occlusion", "rm_Occlusion")
            register_feature("Occlusion", "ft_OCCLUSION")

        register_feature("Upscale Blur", "ft_UPSCALE_BLUR")

        register_mode("Lighting", "rm_Lighting")
        register_mode("Raw-Lighting", "rm_Diffuse_Lighting")

        if s.enableScattering:
            register_mode("Scattering", "rm_Scattering")
            register_feature("Scattering", "ft_SCATTERING")

        if s.enableGlobalIllumination:
            register_mode("GI-Diffuse", "rm_GI_DIFFUSE")
            register_mode("GI-Specular", "rm_GI_REFLECTIONS")
            register_feature("G-Illum", "ft_GI")

        register_mode("Ambient", "rm_Ambient")
        register_feature("Ambient", "ft_AMBIENT")

        if s.enableMotionBlur:
            register_feature("Motion Blur", "ft_MOTIONBLUR")

        if s.antialiasingTechnique != "None":
            register_feature("Anti-Aliasing", "ft_ANTIALIASING")

        register_feature("Shadows", "ft_SHADOWS")
        register_feature("Correct color", "ft_COLOR_CORRECTION")

        if s.renderShadows:
            register_mode("PSSM Splits", "rm_PSSM_SPLITS")
            register_mode("Shadowing", "rm_SHADOWS")

            if s.usePCSS:
                register_feature("PCSS", "ft_PCSS")

            register_feature("PCF", "ft_PCF")

        register_feature("Env. Filtering", "ft_FILTER_ENVIRONMENT")
        register_feature("PBS", "ft_COMPLEX_LIGHTING")

        if s.enableSSLR:
            register_mode("SSLR", "rm_SSLR")
            register_feature("SSLR", "ft_SSLR")

        if s.enableBloom:
            register_mode("Bloom", "rm_BLOOM")
            register_feature("Bloom", "ft_BLOOM")

        if s.useTransparency:
            register_feature("Transparency", "ft_TRANSPARENCY")

        if s.useDiffuseAntialiasing:
            register_feature("Diffuse AA", "ft_DIFFUSE_AA")

        # register_mode("Shadow Load", "rm_SHADOW_COMPUTATIONS")
        # register_mode("Lights Load", "rm_LIGHT_COMPUTATIONS")

        self.renderModesTitle = BetterOnscreenText(text="Render Mode",
                                                   x=20,
                                                   y=currentY,
                                                   parent=self.debuggerContent,
                                                   color=Vec3(1),
                                                   size=15)

        currentY += 80
        isLeft = True
        for modeName, modeID in modes:

            box = CheckboxWithLabel(parent=self.debuggerParent,
                                    x=20 if isLeft else 158,
                                    y=currentY,
                                    chbCallback=self._updateSetting,
                                    chbArgs=[modeID, False],
                                    radio=True,
                                    textSize=14,
                                    text=modeName,
                                    textColor=Vec3(0.6),
                                    chbChecked=modeID == "rm_Default")
            self.renderModes.add(box.getCheckbox())

            isLeft = not isLeft

            if isLeft:
                currentY += 25

        self.featuresTitle = BetterOnscreenText(text="Toggle Features",
                                                x=20,
                                                y=currentY,
                                                parent=self.debuggerContent,
                                                color=Vec3(1),
                                                size=15)

        currentY += 80
        isLeft = True
        for featureName, featureID in features:

            box = CheckboxWithLabel(parent=self.debuggerParent,
                                    x=20 if isLeft else 158,
                                    y=currentY,
                                    chbCallback=self._updateSetting,
                                    chbArgs=[featureID, True],
                                    textSize=14,
                                    text=featureName,
                                    textColor=Vec3(0.6),
                                    chbChecked=True)

            isLeft = not isLeft

            if isLeft:
                currentY += 25

        self.demoSlider = BetterSlider(x=20,
                                       y=currentY + 20,
                                       size=230,
                                       parent=self.debuggerContent)

        self.demoText = BetterOnscreenText(x=20,
                                           y=currentY,
                                           text="Sun Position",
                                           align="left",
                                           parent=self.debuggerContent,
                                           size=15,
                                           color=Vec3(1.0))

        currentY += 70

        if s.enableGlobalIllumination and self.enableGISliders:

            self.slider_opts = {
                "mip_multiplier": {
                    "name": "Mip Multiplier",
                    "min": 1.0,
                    "max": 3.0,
                    "default": 1.0,
                },
                "step_multiplier": {
                    "name": "Step Multiplier",
                    "min": 1.0,
                    "max": 3.0,
                    "default": 1.0,
                },
            }

            for name, opts in self.slider_opts.iteritems():
                opts["slider"] = BetterSlider(x=20,
                                              y=currentY + 20,
                                              size=230,
                                              minValue=opts["min"],
                                              maxValue=opts["max"],
                                              value=opts["default"],
                                              parent=self.debuggerContent,
                                              callback=self._optsChanged)

                opts["label"] = BetterOnscreenText(x=20,
                                                   y=currentY,
                                                   text=opts["name"],
                                                   align="left",
                                                   parent=self.debuggerContent,
                                                   size=15,
                                                   color=Vec3(1.0))

                opts["value_label"] = BetterOnscreenText(
                    x=250,
                    y=currentY,
                    text=str(opts["default"]),
                    align="right",
                    parent=self.debuggerContent,
                    size=15,
                    color=Vec3(0.6),
                    mayChange=True)
                currentY += 50

        self.initialized = True