Exemple #1
0
 def SetUniformi(self, varname, values):
     """ SetUniformi(varname, values)
     
     A uniform is a parameter for shading code.
     Set the parameters right after enabling the program.
     values should be a list of up to four ints ( which 
     are converted to int).
     
     """
     if not self._IsCompiled():
         return
     
     # convert to floats
     values = [int(v) for v in values]
     
     # get loc
     loc = gla.glGetUniformLocationARB(self._programId, varname)        
     
     # set values
     if len(values) == 1:
         gl.glUniform1i(loc, values[0])
     elif len(values) == 2:
         gl.glUniform2i(loc, values[0], values[1])            
     elif len(values) == 3:
         gl.glUniform3i(loc, values[0], values[1], values[2])
     elif len(values) == 4:
         gl.glUniform4i(loc, values[0], values[1], values[2], values[3])
Exemple #2
0
 def SetUniformf(self, varname, values):
     """ SetUniformf(varname, values)
     
     A uniform is a parameter for shading code.
     Set the parameters right after enabling the program.
     values should be a list of up to four floats ( which 
     are converted to float32).
     
     """
     if not self._IsCompiled():
         return
     
     # convert to floats
     values = [float(v) for v in values]
     
     # get loc
     loc = gla.glGetUniformLocationARB(self._programId, varname)        
     
     try:
         # set values
         if len(values) == 1:
             gl.glUniform1f(loc, values[0])
         elif len(values) == 2:
             gl.glUniform2f(loc, values[0], values[1])            
         elif len(values) == 3:
             gl.glUniform3f(loc, values[0], values[1], values[2])
         elif len(values) == 4:
             gl.glUniform4f(loc, values[0], values[1], values[2], values[3])
     except:
         print 'Could not set uniform in shader. "%s": %s' % (varname, repr(values))
Exemple #3
0
    def SetUniformi(self, varname, values):
        """ SetUniformi(varname, values)
        
        A uniform is a parameter for shading code.
        Set the parameters right after enabling the program.
        values should be a list of up to four ints ( which 
        are converted to int).
        
        """
        if not self._IsCompiled():
            return

        # convert to floats
        values = [int(v) for v in values]

        # get loc, encode varname to ensure it's in byte format
        # (pyopengl will support both bytes and str as input, but at the time
        #  of writing this is not yet implemented.)
        loc = gla.glGetUniformLocationARB(self._programId,
                                          varname.encode('ascii'))

        # set values
        if len(values) == 1:
            gl.glUniform1i(loc, values[0])
        elif len(values) == 2:
            gl.glUniform2i(loc, values[0], values[1])
        elif len(values) == 3:
            gl.glUniform3i(loc, values[0], values[1], values[2])
        elif len(values) == 4:
            gl.glUniform4i(loc, values[0], values[1], values[2], values[3])
Exemple #4
0
    def SetUniformi(self, varname, values):
        """ SetUniformi(varname, values)
        
        A uniform is a parameter for shading code.
        Set the parameters right after enabling the program.
        values should be a list of up to four ints ( which 
        are converted to int).
        
        """
        if not self._IsCompiled():
            return

        # convert to floats
        values = [int(v) for v in values]

        # get loc
        loc = gla.glGetUniformLocationARB(self._programId, varname)

        # set values
        if len(values) == 1:
            gl.glUniform1i(loc, values[0])
        elif len(values) == 2:
            gl.glUniform2i(loc, values[0], values[1])
        elif len(values) == 3:
            gl.glUniform3i(loc, values[0], values[1], values[2])
        elif len(values) == 4:
            gl.glUniform4i(loc, values[0], values[1], values[2], values[3])
Exemple #5
0
    def SetUniformf(self, varname, values):
        """ SetUniformf(varname, values)
        
        A uniform is a parameter for shading code.
        Set the parameters right after enabling the program.
        values should be a list of up to four floats ( which 
        are converted to float32).
        
        """
        if not self._IsCompiled():
            return

        # convert to floats
        values = [float(v) for v in values]

        # get loc
        loc = gla.glGetUniformLocationARB(self._programId, varname)

        try:
            # set values
            if len(values) == 1:
                gl.glUniform1f(loc, values[0])
            elif len(values) == 2:
                gl.glUniform2f(loc, values[0], values[1])
            elif len(values) == 3:
                gl.glUniform3f(loc, values[0], values[1], values[2])
            elif len(values) == 4:
                gl.glUniform4f(loc, values[0], values[1], values[2], values[3])
        except:
            print 'Could not set uniform in shader. "%s": %s' % (varname,
                                                                 repr(values))
Exemple #6
0
 def SetUniformi(self, varname, values):
     """ SetUniformi(varname, values)
     
     A uniform is a parameter for shading code.
     Set the parameters right after enabling the program.
     values should be a list of up to four ints ( which 
     are converted to int).
     
     """
     if not self._IsCompiled():
         return
     
     # convert to floats
     values = [int(v) for v in values]
     
     # get loc, encode varname to ensure it's in byte format  
     # (pyopengl will support both bytes and str as input, but at the time
     #  of writing this is not yet implemented.)        
     loc = gla.glGetUniformLocationARB(self._programId, varname.encode('ascii'))        
     
     # set values
     if len(values) == 1:
         gl.glUniform1i(loc, values[0])
     elif len(values) == 2:
         gl.glUniform2i(loc, values[0], values[1])            
     elif len(values) == 3:
         gl.glUniform3i(loc, values[0], values[1], values[2])
     elif len(values) == 4:
         gl.glUniform4i(loc, values[0], values[1], values[2], values[3])