def draw(self): """Render the link with OpenGL""" glPushMatrix() glTranslatef(self.pos[0], self.pos[1], self.pos[2]) # move to location glMultMatrixf(self.q_rot.transformation_matrix.T ) # then rotate to desired orientation glScale(self.size[0], self.size[1], self.size[2]) # scale to the desired size glColor3f(self.color[0], self.color[1], self.color[2]) # set the drawing color self.draw_cube() glPopMatrix() glBegin(GL_LINES) glVertex3fv(self.pos + self.get_r()) glVertex3fv(self.pos + self.get_r() + self.display_force) glEnd()
def paintGL(self): glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) glMatrixMode(GL_MODELVIEW) glPushMatrix() gluLookAt(0.0, 2.5, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) glRotatef(self.angle, 0.0, 1.0, 0.0) glBegin(GL_TRIANGLES) glColor3f(1.0, 1.0, 0.0) glVertex3f(0.0, 1.0, 0.0) glVertex3f(-1.0, -1.0, 0.0) glVertex3f(1.0, -1.0, 0.0) glEnd() glPopMatrix() glFlush()
def draw(self): glColor3f(1.0, 1.0, 1.0) # glDisable(GL_LIGHTING) glEnable(GL_TEXTURE_2D) glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE) glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR) glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) glBindTexture(GL_TEXTURE_2D, self.imageID) glPushMatrix() # if self.is_enemy: # glRotate(self.angle, 0, 0, 1) # glBegin(GL_QUADS) # glColor3f(0.0, 0.0, 1.0) glTexCoord2f(0, 1) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y_2, -1.0) glTexCoord2f(1, 1) glVertex3f(self.start_position_x - 1.0, self.move + self.start_position_y_2, -1.0) glTexCoord2f(1, 0) glVertex3f(self.start_position_x - 1.0, self.move + self.start_position_y_2, 1.0) glTexCoord2f(0, 0) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y_2, 1.0) # glColor3f(0.0, 1.0, 1.0) glTexCoord2f(0, 1) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y, 1.0) glTexCoord2f(1, 1) glVertex3f(self.start_position_x + -1.0, self.move + self.start_position_y, 1.0) glTexCoord2f(1, 0) glVertex3f(self.start_position_x + -1.0, self.move + self.start_position_y, -1.0) glTexCoord2f(0, 0) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y, -1.0) # glColor3f(1.0, 0.0, 0.0) glTexCoord2f(0, 1) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y_2, 1.0) glTexCoord2f(1, 1) glVertex3f(self.start_position_x + -1.0, self.move + self.start_position_y_2, 1.0) glTexCoord2f(1, 0) glVertex3f(self.start_position_x + -1.0, self.move + self.start_position_y, 1.0) glTexCoord2f(0, 0) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y, 1.0) # glColor3f(0.0, 1.0, 0.0) glTexCoord2f(0, 1) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y, -1.0) glTexCoord2f(1, 1) glVertex3f(self.start_position_x + -1.0, self.move + self.start_position_y, -1.0) glTexCoord2f(1, 0) glVertex3f(self.start_position_x + -1.0, self.move + self.start_position_y_2, -1.0) glTexCoord2f(0, 0) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y_2, -1.0) # glColor3f(1.0, 1.0, 0.0) glTexCoord2f(0, 1) glVertex3f(self.start_position_x + -1.0, self.move + self.start_position_y_2, 1.0) glTexCoord2f(1, 1) glVertex3f(self.start_position_x + -1.0, self.move + self.start_position_y_2, -1.0) glTexCoord2f(1, 0) glVertex3f(self.start_position_x + -1.0, self.move + self.start_position_y, -1.0) glTexCoord2f(0, 0) glVertex3f(self.start_position_x + -1.0, self.move + self.start_position_y, 1.0) # glColor3f(1.0, 0.0, 1.0) glTexCoord2f(0, 1) glVertex3f(self.start_position_x+ 1.0, self.move + self.start_position_y_2, -1.0) glTexCoord2f(1, 1) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y_2, 1.0) glTexCoord2f(1, 0) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y, 1.0) glTexCoord2f(0, 0) glVertex3f(self.start_position_x + 1.0, self.move + self.start_position_y, -1.0) glEnd() glPopMatrix() glDisable(GL_TEXTURE_2D)
def draw(self): glColor3f(1.0, 1.0, 1.0) # glDisable(GL_LIGHTING) glEnable(GL_TEXTURE_2D) glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE) glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR) glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) glBindTexture(GL_TEXTURE_2D, self.imageID) glPushMatrix() # glRotate(self.angle, 0, 0, 0) # # for i in range(0, self.lats + 1): # lat0 = pi * (-0.5 + float(float(i - 1) / float(self.lats))) # z0 = sin(lat0) # zr0 = cos(lat0) # # lat1 = pi * (-0.5 + float(float(i) / float(self.lats))) # z1 = sin(lat1) # zr1 = cos(lat1) # # # Use Quad strips to draw the sphere # glBegin(GL_QUAD_STRIP) # # for j in range(0, self.longs + 1): # lng = 2 * pi * float(float(j - 1) / float(self.longs)) # x = cos(lng) # y = sin(lng) # glTexCoord2f(0, 1) # glNormal3f(self.move_x + self.position_x + x * (zr0 * 3), # self.move_y + 4 + y * (zr0 * 3), z0 * 3) # glTexCoord2f(1, 1) # glVertex3f(self.move_x + self.position_x + x * (zr0 * 3), # self.move_y + 4+ y * (zr0 * 3), z0 * 3) # glTexCoord2f(1, 0) # glNormal3f(self.move_x + self.position_x + x * (zr1 * 3), # self.move_y + 4 + y * (zr1 * 3), z1 * 3) # glTexCoord2f(0, 0) # glVertex3f(self.move_x + self.position_x + x * (zr1 * 3), # self.move_y + 4 + y * (zr1 * 3), z1 * 3) # # glEnd() # glColor3f(0, 0, 1) glBegin(GL_TRIANGLE_FAN) glTexCoord2f(0, 1) glVertex3f(self.move_x + self.position_x +0.5, self.move_y + 1, -3) glVertex3f(self.move_x + self.position_x +0, self.move_y + -1.5, -2) glVertex3f(self.move_x + self.position_x +1, self.move_y + -2, -2) glTexCoord2f(1, 1) glVertex3f(self.move_x + self.position_x +2, self.move_y + -1, -2) glVertex3f(self.move_x + self.position_x +2, self.move_y + 0, -2) glVertex3f(self.move_x + self.position_x +1.5, self.move_y + 1, -2) glVertex3f(self.move_x + self.position_x +0.5, self.move_y + 3, -2) glTexCoord2f(1, 0) glVertex3f(self.move_x + self.position_x +-0.5, self.move_y + 3, -2) glVertex3f(self.move_x + self.position_x +-0.2, self.move_y + 2, -2) glVertex3f(self.move_x + self.position_x +-1, self.move_y + 1, -2) glVertex3f(self.move_x + self.position_x +-2.5, self.move_y + 0, -2) glTexCoord2f(0, 0) glVertex3f(self.move_x + self.position_x +-1.5, self.move_y + -1, -2) glVertex3f(self.move_x + self.position_x +-0.5, self.move_y + 2, -2) glVertex3f(self.move_x + self.position_x +0, self.move_y + -1.5, -2) glEnd() # glColor3f(1.0, 1.0, 0) glBegin(GL_QUAD_STRIP) glTexCoord2f(0, 1) glVertex3f(self.move_x + self.position_x +0, self.move_y + -4, 0) glVertex3f(self.move_x + self.position_x +0, self.move_y + -1.5, -2) glVertex3f(self.move_x + self.position_x +2.5, self.move_y + -3, 0) glVertex3f(self.move_x + self.position_x +1, self.move_y + -2, -2) glVertex3f(self.move_x + self.position_x +3, self.move_y + 0, 0) glVertex3f(self.move_x + self.position_x +2, self.move_y + -1, -2) glVertex3f(self.move_x + self.position_x +3, self.move_y + 2, 0) glTexCoord2f(1, 1) glVertex3f(self.move_x + self.position_x +2, self.move_y + 0, -2) glVertex3f(self.move_x + self.position_x +2, self.move_y + 4, 0) glVertex3f(self.move_x + self.position_x +1.5, self.move_y + 1, -2) glVertex3f(self.move_x + self.position_x +-1, self.move_y + 5, 0) glVertex3f(self.move_x + self.position_x +0.5, self.move_y + 3, -2) glVertex3f(self.move_x + self.position_x +-3, self.move_y + 4, 0) glVertex3f(self.move_x + self.position_x +-0.5, self.move_y + 3, -2) glVertex3f(self.move_x + self.position_x +-2.5, self.move_y + 2, 0) glVertex3f(self.move_x + self.position_x +-0.2, self.move_y + 2, -2) glTexCoord2f(1, 0) glVertex3f(self.move_x + self.position_x +-4, self.move_y + 0, 0) glVertex3f(self.move_x + self.position_x +-1, self.move_y + 1, -2) glVertex3f(self.move_x + self.position_x +-3.5, self.move_y + -1.5, 0) glVertex3f(self.move_x + self.position_x +-2.5, self.move_y + 0, -2) glVertex3f(self.move_x + self.position_x +-2, self.move_y + -2, 0) glVertex3f(self.move_x + self.position_x +-1.5, self.move_y + -1, -2) glTexCoord2f(0, 0) glVertex3f(self.move_x + self.position_x +-1, self.move_y + -4, 0) glVertex3f(self.move_x + self.position_x +-0.5, self.move_y + 2, -2) glVertex3f(self.move_x + self.position_x +0, self.move_y + -4, 0) glVertex3f(self.move_x + self.position_x +0, self.move_y + -1.5, -2) glEnd() # glColor3f(1.0, 0, 0) glBegin(GL_QUAD_STRIP) glTexCoord2f(0, 1) glVertex3f(self.move_x + self.position_x +0, self.move_y + -4, 0) glVertex3f(self.move_x + self.position_x +0, self.move_y + -1.5, 2) glVertex3f(self.move_x + self.position_x +2.5, self.move_y + -3, 0) glVertex3f(self.move_x + self.position_x +1, self.move_y + -2, 2) glVertex3f(self.move_x + self.position_x +3, self.move_y + 0, 0) glVertex3f(self.move_x + self.position_x +2, self.move_y + -1, 2) glVertex3f(self.move_x + self.position_x +3, self.move_y + 2, 0) glTexCoord2f(1, 1) glVertex3f(self.move_x + self.position_x +2, self.move_y + 0, 2) glVertex3f(self.move_x + self.position_x +2, self.move_y + 4, 0) glVertex3f(self.move_x + self.position_x +1.5, self.move_y + 1, 2) glVertex3f(self.move_x + self.position_x +-1, self.move_y + 5, 0) glVertex3f(self.move_x + self.position_x +0.5, self.move_y + 3, 2) glVertex3f(self.move_x + self.position_x +-3, self.move_y + 4, 0) glVertex3f(self.move_x + self.position_x +-0.5, self.move_y + 3, 2) glVertex3f(self.move_x + self.position_x +-2.5, self.move_y + 2, 0) glTexCoord2f(1, 0) glVertex3f(self.move_x + self.position_x +-0.2, self.move_y + 2, 2) glVertex3f(self.move_x + self.position_x +-4, self.move_y + 0, 0) glVertex3f(self.move_x + self.position_x +-1, self.move_y + 1, 2) glVertex3f(self.move_x + self.position_x +-3.5, self.move_y + -1.5, 0) glVertex3f(self.move_x + self.position_x +-2.5, self.move_y + 0, 2) glVertex3f(self.move_x + self.position_x +-2, self.move_y + -2, 0) glTexCoord2f(0, 0) glVertex3f(self.move_x + self.position_x +-1.5, self.move_y + -1, 2) glVertex3f(self.move_x + self.position_x +-1, self.move_y + -4, 0) glVertex3f(self.move_x + self.position_x +-0.5, self.move_y + 2, 2) glVertex3f(self.move_x + self.position_x +0, self.move_y + -4, 0) glVertex3f(self.move_x + self.position_x +0, self.move_y + -1.5, 2) glEnd() # glColor3f(0, 1.0, 0) glBegin(GL_TRIANGLE_FAN) glTexCoord2f(0, 1) glVertex3f(self.move_x + self.position_x +0.5, self.move_y + 1, 3) glVertex3f(self.move_x + self.position_x +0, self.move_y + -1.5, 2) glVertex3f(self.move_x + self.position_x +1, self.move_y + -2, 2) glVertex3f(self.move_x + self.position_x +2, self.move_y + -1, 2) glTexCoord2f(1, 1) glVertex3f(self.move_x + self.position_x +2, self.move_y + 0, 2) glVertex3f(self.move_x + self.position_x +1.5, self.move_y + 1, 2) glVertex3f(self.move_x + self.position_x +0.5, self.move_y + 3, 2) glVertex3f(self.move_x + self.position_x +-0.5, self.move_y + 3, 2) glTexCoord2f(1, 0) glVertex3f(self.move_x + self.position_x +-0.2, self.move_y + 2, 2) glVertex3f(self.move_x + self.position_x +-1, self.move_y + 1, 2) glVertex3f(self.move_x + self.position_x +-2.5, self.move_y + 0, 2) glTexCoord2f(0, 0) glVertex3f(self.move_x + self.position_x +-1.5, self.move_y + -1, 2) glVertex3f(self.move_x + self.position_x +-0.5, self.move_y + 2, 2) glVertex3f(self.move_x + self.position_x +0, self.move_y + -1.5, 2) glEnd() glPopMatrix() glDisable(GL_TEXTURE_2D)