Exemplo n.º 1
0
 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()
Exemplo n.º 2
0
    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)
Exemplo n.º 4
0
    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)