Esempio n. 1
0
 def render_texture(self):
     bind_texture(self.flat_type.texture)
     glBegin(GL_QUADS)
     
     glNormal3dv( (0.0, +1.0, 0.0) )
     v1, v2, v3, v4 = self.vertices
     glTexCoord2fv(self.t_index[0])
     glVertex( v1 )
     glTexCoord2fv(self.t_index[1])
     glVertex( v2 )
     glTexCoord2fv(self.t_index[2])
     glVertex( v3 )
     glTexCoord2fv(self.t_index[3])
     glVertex( v4 ) 
     glEnd()
Esempio n. 2
0
    def render_texture(self):
        #Load dark texture
        bind_texture(self.wall_type.texture1)
        vertices = [tuple(Vector3(v) + self.position) for v in self.vertices]
        
        glBegin(GL_QUADS)
    
        #Draw the 4 textured sides
        for face_no in self.light_faces:
            if(face_no != self.top_face and face_no in self.rendered_normals):
                glNormal3dv( self.normals[face_no] )
                
                v1, v2, v3, v4 = self.vertex_indices[face_no]
    
                glTexCoord2fv(self.t_index[0])
                glVertex( vertices[v1] )
                glTexCoord2fv(self.t_index[1])
                glVertex( vertices[v2] )
                glTexCoord2fv(self.t_index[2])
                glVertex( vertices[v3] )
                glTexCoord2fv(self.t_index[3])
                glVertex( vertices[v4] )            

        glEnd()
        
        #Now the dark faces
        bind_texture(self.wall_type.texture2)
        
        glBegin(GL_QUADS)
        for face_no in self.dark_faces:
            if(face_no != self.top_face and face_no in self.rendered_normals):
                glNormal3dv( self.normals[face_no] )
                
                v1, v2, v3, v4 = self.vertex_indices[face_no]
            
                glTexCoord2fv(self.t_index[0])
                glVertex( vertices[v1] )
                glTexCoord2fv(self.t_index[1])
                glVertex( vertices[v2] )
                glTexCoord2fv(self.t_index[2])
                glVertex( vertices[v3] )
                glTexCoord2fv(self.t_index[3])
                glVertex( vertices[v4] ) 
        glEnd()
Esempio n. 3
0
    def render(self,camera_vector):
        '''In wolf3d sprites always faced the player
        we can't do that nicely here, so we have to render
        a texture that always faces the camera
        
        this will render the object so that it faces the camera coordinates'''

        bind_texture(self.sprite['texture'])
        glBegin(GL_QUADS)
        
        glNormal3dv( (0.0, +1.0, 0.0) )
        vertices = remap_to_camera(camera_vector,self.vertices,(self.x,self.y))
        v1, v2, v3, v4 = vertices
        glTexCoord2fv(self.t_index[0])
        glVertex( v1 )
        glTexCoord2fv(self.t_index[1])
        glVertex( v2 )
        glTexCoord2fv(self.t_index[2])
        glVertex( v3 )
        glTexCoord2fv(self.t_index[3])
        glVertex( v4 ) 
        glEnd()
Esempio n. 4
0
    def render_texture(self):       
        bind_texture(self.door_type.side_texture)
        vertices = [tuple(Vector3(v) + self.position) for v in self.vertices]

        glBegin(GL_QUADS)
        for face_no in self.side_faces:
            glNormal3dv( self.normals[face_no] )
                
            v1, v2, v3, v4 = self.vertex_indices[face_no]
            
            glTexCoord2fv(self.t_index[0])
            glVertex( vertices[v1] )
            glTexCoord2fv(self.t_index[1])
            glVertex( vertices[v2] )
            glTexCoord2fv(self.t_index[2])
            glVertex( vertices[v3] )
            glTexCoord2fv(self.t_index[3])
            glVertex( vertices[v4] ) 
        glEnd()

        #Now render the door
        vertices = [tuple(Vector3(v) + self.position - self.door_offset) for v in self.door_vertices]

        bind_texture(self.door_type.door_texture)
        #print self.door_faces[0]
        glBegin(GL_QUADS)
        glNormal3dv( self.normals[self.door_faces[0]] )
        v1, v2, v3, v4 = self.vertex_indices[self.door_faces[0]]
        glTexCoord2fv(self.t_index[0])
        glVertex( vertices[v1] )
        glTexCoord2fv(self.t_index[1])
        glVertex( vertices[v2] )
        glTexCoord2fv(self.t_index[2])
        glVertex( vertices[v3] )
        glTexCoord2fv(self.t_index[3])
        glVertex( vertices[v4] ) 
        glEnd()