def GetChangelog(self): _translate = QtCore.QCoreApplication.translate changelog = self.OpenChangelogAndReturnBytes() self.ConsoleBox.setGraphicsEffect(QtWidgets.QGraphicsBlurEffect()) self.enableOverlay.setGraphicsEffect(QtWidgets.QGraphicsBlurEffect()) self.enableRichPresence.setGraphicsEffect( QtWidgets.QGraphicsBlurEffect()) self.hunterPyLogo.setGraphicsEffect(QtWidgets.QGraphicsBlurEffect()) self.changelogText.setText(_translate("Console", changelog))
def setupAnimaions(self): self.effect = QtWidgets.QGraphicsBlurEffect() self.effect.setBlurRadius(0) self.animationBlurIn = QtCore.QPropertyAnimation( self.effect, b"blurRadius") self.animationBlurOut = QtCore.QPropertyAnimation( self.effect, b"blurRadius") self.backgroundArt.setGraphicsEffect(self.effect) self.animationBlurIn.setDuration(500) self.animationBlurIn.setStartValue(0) self.animationBlurIn.setEndValue(15) self.animationBlurOut.setDuration(500) self.animationBlurOut.setStartValue(15) self.animationBlurOut.setEndValue(0) self.overlayeffect = QtWidgets.QGraphicsOpacityEffect() self.overlayeffect.setOpacity(0.0) self.animationShowOut = QtCore.QPropertyAnimation( self.overlayeffect, b"opacity") self.animationHideOut = QtCore.QPropertyAnimation( self.overlayeffect, b"opacity") self.popup.setGraphicsEffect(self.overlayeffect) self.animationShowOut.setDuration(500) self.animationShowOut.setStartValue(0.0) self.animationShowOut.setEndValue(1.0) self.animationHideOut.setDuration(500) self.animationHideOut.setStartValue(1.0) self.animationHideOut.setEndValue(0.0)
def __init__(self, width, height, obj_name, titlebar_name, titlebar_icon, parent=None): super(Dialog, self).__init__(parent) self.blur_effect = QtWidgets.QGraphicsBlurEffect() self.blur_effect.setBlurHints( QtWidgets.QGraphicsBlurEffect.PerformanceHint) self.setWindowFlags(self.windowFlags() | Qt.FramelessWindowHint) self.setWindowFlags(self.windowFlags() & ~Qt.WindowStaysOnTopHint) self.setFixedSize(width, height) self.setObjectName(obj_name) self.layout = QtWidgets.QVBoxLayout() self.titlebar = AbstractTitleBar(self, title=titlebar_name, icon=titlebar_icon) self.dialog_frame = QtWidgets.QFrame(self) Registry().register_function("activate_dialog_blur", self.activate_blur) Registry().register_function("desactivate_dialog_blur", self.desactivate_blur) self.setup_ui()
def __init__(self, width, height, obj_name, parent=None): super(AbstractGlobalFrame, self).__init__(parent) self.blur_effect = QtWidgets.QGraphicsBlurEffect(self) self.blur_effect.setBlurHints( QtWidgets.QGraphicsBlurEffect.PerformanceHint) self.setWindowFlags(self.windowFlags() | Qt.FramelessWindowHint) self.setWindowFlags(self.windowFlags() & ~Qt.WindowStaysOnTopHint) self.setObjectName(obj_name) #self.setFixedSize(width, height) self.setMinimumSize(width, height) #self.setMaximumSize(width + 300, height + 300) #self.showFullScreen() # Need to be added, if not, moving frame from a button crash self.left_click = False self.offset = self.pos() # Uncomment code to have the ability to resize frame using right click self.drag_x = 0 self.drag_y = 0 self.current_x = 0 self.current_y = 0 self.right_click = False
def highlight_last(self): """ colourize the up button and blur the down """ self._lastButton.setGraphicsEffect(qw.QGraphicsColorizeEffect()) self._firstButton.setGraphicsEffect(qw.QGraphicsBlurEffect()) self._highlight_first = False
def init_ui(self): self.main_layout = QtWidgets.QVBoxLayout() self.main_layout.setContentsMargins(0, 0, 0, 0) self.setFixedHeight(200) self.now_playing_visual = NowPlayingVisual(self._media_player, self) self.main_layout.addWidget(self.now_playing_visual) self.setBackgroundBrush(QtGui.QBrush(QtCore.Qt.black)) self.video_item = QGraphicsVideoItem() self.video_item.setGraphicsEffect(QtWidgets.QGraphicsBlurEffect()) self.video_item.setAspectRatioMode( QtCore.Qt.KeepAspectRatioByExpanding) self._media_player.setVideoOutput(self.video_item) self.scene().addItem(self.video_item) self.overlay = QtWidgets.QGraphicsRectItem(0, 0, 0, 0, self.video_item) self.overlay.setBrush(QtGui.QBrush(QtCore.Qt.black)) self.set_opacity(0.8) self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.setStyleSheet('border: 0px;') self.setLayout(self.main_layout)
def create_blur_effect(): """ Prepare a blur effect, good for moving things. :return: QGraphicsBlurEffect """ effect = QtWidgets.QGraphicsBlurEffect() effect.setBlurHints(QtWidgets.QGraphicsBlurEffect.QualityHint) effect.setBlurRadius(3) effect.setEnabled(False) return effect
def eventFilter(self, widget, event): if event.type() == QtCore.QEvent.FocusOut: if not widget.hasFocus(): blur = QtWidgets.QGraphicsBlurEffect() blur.setBlurRadius(2) widget.setGraphicsEffect(blur) return False else: if widget.hasFocus(): widget.setGraphicsEffect(None) return False
def __init__(self, parent, radius=40): QtWidgets.QGraphicsEllipseItem.__init__(self, QtCore.QRectF(0, 0, 0, 0), parent) pen = QtGui.QPen(ctrl.cm.ui()) pen.setWidth(4) self.setPen(pen) glow = QtWidgets.QGraphicsBlurEffect(parent) glow.setBlurRadius(7) glow.setEnabled(True) self.setGraphicsEffect(glow) self._radius = 0 self._max_radius = radius self._step_size = radius / 6.0
def __init__(self, wallet, prompt='>> ', startup_message='', parent=None): super().__init__(parent) self.prompt = prompt self.history = [] self.namespace = {} self.construct = [] self.setGeometry(50, 75, 600, 400) self.editor = ConsoleTextEdit(self) self.editor.resize(self.size()) self.editor.setWordWrapMode(QtGui.QTextOption.WrapAnywhere) self.editor.setUndoRedoEnabled(False) self.editor.setFont(QtGui.QFont(MONOSPACE_FONT, 10, QtGui.QFont.Normal)) self.showMessage(startup_message) self.updateNamespace({'run': self.run_script}) self.set_json(False) self.warningOverlay = None wallet_storage = wallet.storage config_dontaskagain = wallet_storage.get(self.CONFIG_DONTASKAGAIN_KEY, False) # Don't show the warning if the user chose to have it not shown again if not config_dontaskagain: self.warningOverlay = ConsoleWarningOverlay(self) self.warningOverlay.resize(self.size()) fp = self.editor.focusPolicy() blur_effect = QtWidgets.QGraphicsBlurEffect() blur_effect.setBlurRadius(5) self.editor.setGraphicsEffect(blur_effect) self.editor.setFocusPolicy(QtCore.Qt.NoFocus) self.editor.setFocusProxy(self.warningOverlay) def on_acknowledged(dontaskagain: bool): wallet_storage.put(self.CONFIG_DONTASKAGAIN_KEY, dontaskagain or None) # None deletes the key self.editor.setGraphicsEffect(None) self.editor.setFocusPolicy(fp) self.editor.setFocusProxy(None) # Focus the editor after confirming self.editor.setFocus() self.warningOverlay.deleteLater() self.warningOverlay = None self.warningOverlay.acknowledged.connect(on_acknowledged)
def __init__(self, y_pos, up=True): super().__init__() self.up = up self.y_pos = y_pos # For fun, let's blur the object blur = qtw.QGraphicsBlurEffect() blur.setBlurRadius(10) blur.setBlurHints(qtw.QGraphicsBlurEffect.AnimationHint) self.setGraphicsEffect(blur) # Animate the object self.animation = qtc.QPropertyAnimation(self, b'y') self.animation.setStartValue(y_pos) end = 0 if up else SCREEN_HEIGHT self.animation.setEndValue(end) self.animation.setDuration(1000) self.yChanged.connect(self.check_collision)
def __init__(self, x, y, width, heigth): super(Background, self).__init__(x,y, width, heigth) self.R = 0 self.G = 0 self.B = 0 self.color = QtGui.QBrush(QtGui.QColor(self.R,self.G,self.B), QtCore.Qt.SolidPattern) self.setBrush(self.color) self.time = 'Night' self.moon_color = QtGui.QBrush(QtGui.QColor(220,220,220), QtCore.Qt.SolidPattern) self.skyObj = QtWidgets.QGraphicsEllipseItem(-350,400,350,350) self.skyObj.setBrush(self.moon_color) self.sun_color = QtGui.QBrush(QtGui.QColor(255,255,0), QtCore.Qt.SolidPattern) self.skyObj.moon = True self.skyObj.rising = True self.skyObj.setGraphicsEffect(QtWidgets.QGraphicsBlurEffect())
def backgroundBlur(self, able): if able == "enable": self.blur_effect = QtWidgets.QGraphicsBlurEffect() self.grapics.background.setGraphicsEffect(self.blur_effect) else: self.blur_effect.setEnabled(False)
def setupUi(self): self.centralwidget.setObjectName("centralwidget") self.titleBar = QtWidgets.QWidget(self.centralwidget) self.deskPane = QtWidgets.QWidget(self.centralwidget) self.deskPane.setObjectName("Desktop") self.deskPane.setGeometry(0, 60, 1920, 968) self.deskPane.setStyleSheet( "#Desktop{background-color: rgba(240,240,240,120); border:2px solid #24292E;}" ) self.titleBar.setGeometry(QtCore.QRect(0, 0, 1920, 60)) self.titleBar.setStyleSheet("#titleBar { border: 2px solid #24292E; }") self.titleBar.setObjectName("titleBar") self.Karma = Karma.KarmaUI(self.deskPane) self.Karma.setGeometry(0, 10, 1920, 975) self.Money = Money.MoneyUI(self.deskPane) self.Money.setGeometry(0, 0, 0, 0) self.Contacts = Contacts.ContactsUI(self.deskPane) self.Contacts.setGeometry(0, 0, 0, 0) self.blr = QtWidgets.QGraphicsBlurEffect() self.blr.setBlurRadius(125) self.blurLabel = QtWidgets.QLabel(self.titleBar) self.blurLabel.setGeometry(QtCore.QRect(0, 0, 1920, 60)) self.blurLabel.setGraphicsEffect(self.blr) self.blurLabel.setStyleSheet("background-color:rgb(255,255,255,125)") self.OwnerTitle = QtWidgets.QPushButton(self.titleBar) self.OwnerTitle.setGeometry(QtCore.QRect(66, 0, 342, 60)) font = QtGui.QFont() font.setFamily("Roboto") font.setPointSize(15) font.setBold(False) font.setWeight(50) self.OwnerTitle.setFont(font) self.OwnerTitle.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.OwnerTitle.setStyleSheet("#OwnerTitle\n" "{\n border: 2px solid #24292E;" " color:#24292E;\n" " background-color: #fcfcfc;\n" "}\n" "#OwnerTitle:hover\n" "{\n " " color:#fcfcfc;\n" " background-color: #24292E;\n" "}") self.OwnerTitle.setObjectName("OwnerTitle") self.OwnerPic = QtWidgets.QLabel(self.titleBar) self.OwnerPic.setGeometry(QtCore.QRect(2, 2, 56, 56)) self.OwnerPic.setText("") self.OwnerPic.setPixmap(QtGui.QPixmap(":/icons/RAJEABHILASH.png")) self.OwnerPic.setScaledContents(True) self.OwnerPic.setObjectName("OwnerPic") self.krSearch = QtWidgets.QLineEdit(self.titleBar) self.krSearch.setGeometry(QtCore.QRect(406, 0, 1003, 60)) font = QtGui.QFont() font.setFamily("Roboto Medium") font.setPointSize(16) self.krSearch.setFont(font) self.krSearch.setStyleSheet("#krSearch {\n" " font-family: \"Roboto Medium\";\n" " background-color: rgb(0,0,0,0);\n" " padding-left: 25px;\n" " padding-right: 25px;\n" " color: #24292E;\n" " border: 2px solid #24292E;\n" "}") self.krSearch.setText("") self.krSearch.setObjectName("krSearch") self.krVoice = QtWidgets.QPushButton(self.titleBar) self.krVoice.setGeometry(QtCore.QRect(1408, 0, 60, 60)) font = QtGui.QFont() font.setFamily("MS Sans Serif") self.krVoice.setFont(font) self.krVoice.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.krVoice.setStyleSheet( "#krVoice { background-color: #24292E; }") self.krVoice.setText("") icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/images/InVoiceL.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.krVoice.setIcon(icon) self.krVoice.setIconSize(QtCore.QSize(35, 35)) self.krVoice.setObjectName("krVoice") self.krLogout = QtWidgets.QPushButton(self.titleBar) self.krLogout.setGeometry(QtCore.QRect(1860, 0, 60, 60)) self.krLogout.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.krLogout.setStyleSheet( "#krLogout { background-color: #24292E; }\n" "#krLogout:hover {background-color: rgb(121, 2, 2);}\n" "") self.krLogout.setText("") icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/icons/DLogout.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.krLogout.setIcon(icon1) self.krLogout.setIconSize(QtCore.QSize(35, 35)) self.krLogout.setObjectName("krLogout") self.krTime = QtWidgets.QLabel(self.titleBar) self.krTime.setGeometry(QtCore.QRect(1681, 0, 181, 60)) font = QtGui.QFont() font.setFamily("Bahnschrift") font.setPointSize(22) font.setBold(False) font.setWeight(57) self.krTime.setFont(font) self.krTime.setStyleSheet( "#krTime { border: 2px solid #24292E; color: #24292E;}") self.krTime.setAlignment(QtCore.Qt.AlignCenter) self.krTime.setObjectName("krTime") self.krDay = QtWidgets.QLabel(self.titleBar) self.krDay.setGeometry(QtCore.QRect(1467, 0, 216, 35)) font = QtGui.QFont() font.setFamily("Bahnschrift SemiBold SemiConden") font.setPointSize(17) font.setBold(True) font.setWeight(75) self.krDay.setFont(font) self.krDay.setStyleSheet( "#krDay {border: 2px solid #24292E; color: #24292E; padding-right: 5px; text-transform: capitalize;}" ) self.krDay.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.krDay.setObjectName("krDay") self.krDate = QtWidgets.QLabel(self.titleBar) self.krDate.setGeometry(QtCore.QRect(1467, 33, 216, 27)) font = QtGui.QFont() font.setFamily("Bahnschrift") font.setPointSize(12) self.krDate.setFont(font) self.krDate.setStyleSheet( "#krDate {border: 2px solid #24292E; color: #24292E; padding-right: 5px;}" ) self.krDate.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.krDate.setObjectName("krDate") self.taskBar = QtWidgets.QWidget(self.centralwidget) self.taskBar.setGeometry(QtCore.QRect(0, 1030, 1920, 50)) self.taskBar.setStyleSheet( "#taskBar { border: 0px solid rgba(0,0,0,0); border-top: 0.5px solid #ff00ff; background-color:#24292E;}" ) self.taskBar.setObjectName("taskBar") self.startButton = QtWidgets.QPushButton(self.taskBar) self.startButton.setGeometry(0, 3, 60, 45) self.startButton.setObjectName("startButton") self.startButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.startButton.setStyleSheet( "#startButton { border: 2px solid #24292E; background-color:#24292E; border: 0px solid #24292E; border-right: 2px solid #FCFCFC}" ) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("startKruti.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.startButton.setIcon(icon) self.startButton.setIconSize(QtCore.QSize(50, 50)) self.taskList = QtWidgets.QWidget(self.centralwidget) self.taskList.setObjectName("taskList") #self.taskList.setGeometry(QtCore.QRect(0, 860, 200, 170)) self.taskList.setGeometry(QtCore.QRect(0, 1050, 0, 0)) self.taskList.setStyleSheet( "#taskList { border: 0px solid #24292E; border-bottom: 2px solid #fcfcfc;background-color:#24292E;}" ) self.taskContact = QtWidgets.QPushButton(self.taskList) self.taskMoney = QtWidgets.QPushButton(self.taskList) self.taskNew = QtWidgets.QPushButton(self.taskList) conIcon = QtGui.QIcon() conIcon.addPixmap(QtGui.QPixmap(":/icons/contacts-agenda.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) monIcon = QtGui.QIcon() monIcon.addPixmap( QtGui.QPixmap(":/icons/wallet-filled-money-tool.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.taskContact.setGeometry(0, 0, 200, 50) self.taskContact.setIcon(conIcon) self.taskContact.setIconSize(QtCore.QSize(35, 35)) self.taskContact.setStyleSheet( "padding-left: 5px; color: #fcfcfc;border: 0px solid #24292E; border-bottom: 2px solid #fcfcfc;background-color:#24292E;" ) self.taskContact.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.taskContact.setText("Contacts") self.taskContact.setFont(QtGui.QFont("Caviar Dreams", 16)) self.taskMoney.setGeometry(0, 60, 200, 50) self.taskMoney.setStyleSheet( "color: #fcfcfc;border: 0px solid #24292E; border-bottom: 2px solid #fcfcfc;background-color:#24292E;" ) self.taskMoney.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.taskMoney.setText("Money") self.taskMoney.setFont(QtGui.QFont("Caviar Dreams", 16)) self.taskMoney.setIcon(monIcon) self.taskMoney.setIconSize(QtCore.QSize(35, 35)) self.taskNew.setGeometry(0, 120, 200, 50) self.taskNew.setStyleSheet( "color: #fcfcfc;border: 0px solid #24292E; border-bottom: 2px solid #fcfcfc;background-color:#24292E;" ) self.taskNew.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.taskNew.setText("Create") self.taskNew.setFont(QtGui.QFont("Caviar Dreams", 16)) self.dateTime.dateTimeChange.connect(self.updateDateTime) self.dateTime.start() self.OwnerTitle.setText("RAJE ABHILASH MOHITE") self.krSearch.setPlaceholderText("Press F2 or Say \'Kruti\'") self.setWindowTitle("{} - Artificial Intelligent Kruti.".format( self.OwnerTitle.text())) self.setCentralWidget(self.centralwidget) self.krLogout.clicked.connect(self.logoutDash) self.startButton.clicked.connect(self.start) self.blr = QtWidgets.QGraphicsBlurEffect() self.taskMoney.clicked.connect(self.showMoney) self.taskContact.clicked.connect(self.showContacts)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.rhost = RenderHost() self.rhost.outputSignal.connect(self.onOutput) # Make frameless & add drop shadow self.setWindowTitle("Scene Editor") self.setWindowFlags(qtc.Qt.FramelessWindowHint) set_frameless_attrs(self, self.ui.drop_shadow_frame) self.setAttribute(qtc.Qt.WA_TranslucentBackground) # Initialize Blur Effect self.blur = qtw.QGraphicsBlurEffect(self) self.blur.setBlurRadius(7) self.blur.setBlurHints(qtw.QGraphicsBlurEffect.QualityHint) self.ui.centralwidget.setGraphicsEffect(self.blur) self.blur.setEnabled(False) # Initialize Colorize Effect self.colorize = qtw.QGraphicsColorizeEffect(self) self.colorize.setColor(QColor(0, 0, 0)) self.colorize2 = qtw.QGraphicsColorizeEffect(self) self.colorize2.setColor(QColor(0, 0, 0)) self.colorize3 = qtw.QGraphicsColorizeEffect(self) self.colorize3.setColor(QColor(0, 0, 0)) self.ui.title_bar.setGraphicsEffect(self.colorize) self.ui.credits_bar.setGraphicsEffect(self.colorize2) self.ui.content_bar.setGraphicsEffect(self.colorize3) self.colorize.setEnabled(False) self.colorize2.setEnabled(False) self.colorize3.setEnabled(False) # Initialize Settings self.settings = QWidget() self.settings.setWindowTitle("Settings") self.settings.ui = Ui_Settings() self.settings.ui.setupUi(self.settings) self.settings.ui.exitSettingsBtn.clicked.connect(self.exitsettings) set_frameless_attrs(self.settings, self.settings.ui.drop_shadow_frame) # Drag function bindings self.ui.title_bar.mouseMoveEvent = self.moveWindow self.ui.title_bar.mousePressEvent = self.setDragPos self.ui.label_title.mouseMoveEvent = self.moveWindow self.ui.label_title.mousePressEvent = self.setDragPos # Color Preview self.ui.difx.textChanged.connect(self.updateVis) self.ui.dify.textChanged.connect(self.updateVis) self.ui.difz.textChanged.connect(self.updateVis) self.ui.specx.textChanged.connect(self.updateVis) self.ui.specy.textChanged.connect(self.updateVis) self.ui.specz.textChanged.connect(self.updateVis) self.ui.emisx.textChanged.connect(self.updateVis) self.ui.emisy.textChanged.connect(self.updateVis) self.ui.emisz.textChanged.connect(self.updateVis) # Color Picking self.ui.diffusevis.clicked.connect(lambda: self.pick_color("diffuse")) self.ui.specularvis.clicked.connect( lambda: self.pick_color("specular")) self.ui.emissionvis.clicked.connect( lambda: self.pick_color("emission")) # Connect Buttons to Functions self.ui.btn_close.clicked.connect(self.exit) self.ui.btn_minimize.clicked.connect(self.showMinimized) self.ui.addobj.clicked.connect(self.addobj) self.ui.delobj.clicked.connect(self.delobj) self.ui.applyobj.clicked.connect(self.applyobj) self.ui.clearobj.clicked.connect(self.clearobj) self.ui.obj_list.itemClicked.connect(self.loadobj) self.ui.addmat.clicked.connect(self.addmat) self.ui.delmat.clicked.connect(self.delmat) self.ui.applymat.clicked.connect(self.applymat) self.ui.clearmat.clicked.connect(self.clearmat) self.ui.mat_list.itemClicked.connect(self.loadmat) self.ui.diffusemap.clicked.connect(self.loadDiffuse) self.ui.specularmap.clicked.connect(self.loadSpecular) self.ui.normalmap.clicked.connect(self.loadNormal) self.ui.openbtn.clicked.connect(self.openScene) self.ui.savebtn.clicked.connect(self.saveScene) self.ui.renderbtn.clicked.connect(self.renderScene) self.ui.settingsbtn.clicked.connect(self.opensettings) # Select first input self.ui.objname.setFocus(True) #Data Variables self.scenepath = None self.savetoexit = True self.rrtloc = '"D:/Files/Code/Ruby Raytracer/rrt_render.rb"' self.rrtloc = '"D:/Files/Code/repos/ruby-raytracer/rrt_render.exe"' #self.rrtloc = '"C:/Users/Avaze/Desktop/rrt_render.exe"' self.DEFAULTMAT = { "name": "default", "difx": 200, "dify": 200, "difz": 200, "specx": 255, "specy": 255, "specz": 255, "reflectivity": 0, "emisx": 0, "emisy": 0, "emisz": 0, "diftex": None, "spectex": None, "normaltex": None, "normalstrength": 1 } self.diffuse = None self.specular = None self.normal = None self.lastobjindex = None self.lastmatindex = None self.objects = [] self.materials = [self.DEFAULTMAT] self.vis_materials()