def __init__(self): super(MainWindow, self).__init__() qgl_format = QGLFormat() qgl_format.setSwapInterval(1) w = QtGui.QFont() self.font = w w.setFamily('Lucida') w.setFixedPitch(True) w.setPointSize(10) l0 = QtGui.QHBoxLayout() self.setLayout(l0) w = GLPlotWidget(qgl_format) self.glview = w l0.addWidget(self.glview) w.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) l1 = QtGui.QVBoxLayout() l0.addLayout(l1) w = QtGui.QTextEdit(self) self.txtCode = w l1.addWidget(w) w.setFont(self.font) w.setLineWrapMode(QtGui.QTextEdit.NoWrap) l2 = QtGui.QHBoxLayout() l1.addLayout(l2) w = QtGui.QPushButton('play', self) self.btPlay = w l2.addWidget(w) w.setToolTip('on/off update on timer') w.clicked.connect(self.play) w = QtGui.QPushButton('update', self) self.btShUpdate = w l2.addWidget(w) w.setToolTip('update shader from code') w.clicked.connect(self.updateShader) w = QtGui.QPushButton('save', self) self.btShSave = w l2.addWidget(w) w.setToolTip('save shader from code') w.clicked.connect(self.saveShaderDlg) w = QtGui.QPushButton('load', self) self.btShLoad = w l2.addWidget(w) w.setToolTip('load shader from code') w.clicked.connect(self.loadShaderDlg) w = QtGui.QLineEdit() self.bxShToy = w l2.addWidget(w) w.returnPressed.connect(self.downloadShaderEvent) #l3 = QtGui.QHBoxLayout(); l1.addLayout(l3) #w = QtGui.QLineEdit(); #w = QtGui.QPushButton('fromShadeToy',self); self.btSave = w; l2.addWidget(w); w.setToolTip('load shader from code'); w.clicked.connect(self.loadShaderDlg); #self.loadShaderToy ("Torus_intersection.glslf") self.loadShader("Torus_intersection.glslf")
def __init__(self): super(MainWindow, self).__init__() with open('primitives.glslf', 'r') as f: self.src_primitives = f.read() with open('sdRayMarchRenderer.glslf', 'r') as f: self.src_renderer = f.read() w = QtGui.QFont() self.font = w w.setFamily('Lucida') w.setFixedPitch(True) w.setPointSize(10) l0 = QtGui.QHBoxLayout() self.setLayout(l0) qgl_format = QGLFormat() qgl_format.setSwapInterval(1) w = GLPlotWidget(qgl_format) self.glview = w l0.addWidget(self.glview) w.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) l1 = QtGui.QVBoxLayout() l0.addLayout(l1) w = QtGui.QTextEdit(self) self.txtCode = w l1.addWidget(w) w.setFont(self.font) w.setLineWrapMode(QtGui.QTextEdit.NoWrap) l2 = QtGui.QHBoxLayout() l1.addLayout(l2) w = QtGui.QPushButton('update', self) self.btShUpdate = w l2.addWidget(w) w.setToolTip('update shader from code') w.clicked.connect(self.updateShader) w = QtGui.QPushButton('save', self) self.btShSave = w l2.addWidget(w) w.setToolTip('save shader from code') w.clicked.connect(self.saveShaderDlg) w = QtGui.QPushButton('load', self) self.btShLoad = w l2.addWidget(w) w.setToolTip('load shader from code') w.clicked.connect(self.loadShaderDlg) w = QtGui.QPushButton('play', self) self.btPlay = w l2.addWidget(w) w.setToolTip('on/off update on timer') w.clicked.connect(self.play) self.txtCode.setPlainText( "d = opU( sdPlane(pos), sdSphere(pos-vec3( 0.0,0.25, 0.0), 0.25 ) );" ) self.makeShaderCode()