Example #1
0
 def __init__(self, w=1024, h=1024):
     self.quad = MeshQuad()
     self.shader = Shader("media/shaders/postprocess.vert",
                          "media/shaders/postprocess.frag",
                          isFile=True)
     self.rt = RenderTarget(w, h, multisample=True)
     self.dt = 0
     self.mode = 0
     self.texture = Texture("media/textures/gradient.png")
Example #2
0
 def __setitem__(self, name, value):
     if isinstance(value, Texture):
         self.textures[name] = value
     elif isinstance(value, str):
         if name == 'init':
             for f in ['back', 'front', 'left', 'right', 'top', 'bottom']:
                 self[f] = value % f
         else:
             self.textures[name] = Texture(value)
     else:
         raise TypeError('Trying to set a non-texture')
Example #3
0
    def __init__(self, n=32, f=6):
        self.n = n  # number of floating platforms (a.k.a gardens)
        self.f = f  # maximum number of flowers per platform

        self.platforms = []
        self.flowers = []

        for i in range(self.n):
            nx = (random.random() * 5) - random.random() * 1
            ny = (random.random() * 5)
            nz = (random.random() * 5) - random.random() * 1
            self.platforms.append(MeshCube(0.1, 0.02, 0.1, tx=nx, ty=ny,
                                           tz=nz))
            self.flowers.extend(self.create_flowers(nx, ny + 0.02, nz))

        self.flowertexture = Texture("media/textures/flare2.png")

        self.flowerlistid = glGenLists(1)
        glNewList(self.flowerlistid, GL_COMPILE)
        glColor4f(0.0, 0.4, 0.8, 1)
        for f in self.flowers:
            i = 0
            glLineWidth(1.5)
            glBegin(GL_LINE_STRIP)
            for s in range(f['n']):
                glNormal3f(f['n'], float(i), float(f['d']))
                glVertex3f(f['x'], f['y'] + (s * 0.1), f['z'])
                i += 1
            glEnd()
        glColor4f(1, 1, 1, 1)
        glEndList()

        self.flowerlistid2 = glGenLists(1)
        glNewList(self.flowerlistid2, GL_COMPILE)
        glColor4f(1, 1, 1, 1)
        for f in self.flowers:
            i = 0
            glPointSize(20.0)
            glBegin(GL_POINTS)
            for s in range(f['n']):
                glNormal3f(f['n'], float(i), float(f['d']))
                glVertex3f(f['x'], f['y'] + (s * 0.1), f['z'])
                i += 1
            glEnd()
        glEndList()

        self.platformshader = Shader("media/shaders/spherecubes.vert",
                                     "media/shaders/spherecubes.frag",
                                     isFile=True)
        self.flowershader = Shader("media/shaders/flowers.vert",
                                   None,
                                   isFile=True)

        self.dt = 0
Example #4
0
    def __init__(self, n=512):
        self.texture = Texture("media/textures/flare3.png")
        #self.texture = Texture("media/textures/heart.tga")
        self.shader = Shader("media/shaders/beams.vert", fs=None, isFile=True)

        self.beams = []
        self.n = n

        for i in range(self.n):
            self.beams.append([
                random.random() * 10,
                random.random() * 10,
                random.random() * 10
            ])

        self.beamlistid = glGenLists(1)
        glNewList(self.beamlistid, GL_COMPILE)
        glBegin(GL_POINTS)
        for i in range(self.n):
            glVertex3f(self.beams[i][0], self.beams[i][1], self.beams[i][2])
        glEnd()
        glEndList()

        self.dt = 0
Example #5
0
    def __init__(self, w, h, multisample=False, samples=4):
        self.w = w
        self.h = h
        self.texture = Texture(w=w, h=h)
        self.id = GLuint()
        self.depth_id = GLuint()

        if multisample:
            self.mid = GLuint()
            self.mcolor_id = GLuint()
            self.mdepth_id = GLuint()

            glGenFramebuffersEXT(1, byref(self.mid))
            glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, self.mid)

            glGenRenderbuffersEXT(1, byref(self.mcolor_id))
            glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, self.mcolor_id)
            glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples,
                                                GL_RGBA, w, h)
            glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT,
                                         GL_COLOR_ATTACHMENT0_EXT,
                                         GL_RENDERBUFFER_EXT, self.mcolor_id)

            glGenRenderbuffersEXT(1, byref(self.mdepth_id))
            glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, self.mdepth_id)
            glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples,
                                                GL_DEPTH_COMPONENT, w, h)
            glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT,
                                         GL_DEPTH_ATTACHMENT_EXT,
                                         GL_RENDERBUFFER_EXT, self.mdepth_id)

            glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0)
            glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0)

        else:
            self.mid = None
            self.mcolor_id = None
            self.mdepth_id = None

        glBindTexture(GL_TEXTURE_2D, self.texture.id)

        glGenFramebuffersEXT(1, byref(self.id))
        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, self.id)
        # FIXME: add support for other (or multiple) "attachment" types
        # FIXME: add support for glDrawBuffers
        # FIXME: add GL_DEPTH_COMPONENT support
        glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
                                  GL_TEXTURE_RECTANGLE, self.texture.id, 0)

        glGenRenderbuffersEXT(1, byref(self.depth_id))
        glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, self.depth_id)
        glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT24, w,
                                 h)
        glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT,
                                     GL_DEPTH_ATTACHMENT_EXT,
                                     GL_RENDERBUFFER_EXT, self.depth_id)

        glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0)
        glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0)

        glBindTexture(GL_TEXTURE_2D, 0)
Example #6
0
	def __init__(self):
		self.quad = MeshQuad()
		self.texture = Texture("media/textures/border4.png")
		#self.texture = Texture("media/textures/flare.png")
		self.shader = Shader("media/shaders/overlay.vert", "media/shaders/overlay.frag", isFile=True)