Example #1
0
 def addShaderAttributes(self, shaderFunc):
     """
     adds a per vertex shader attribute.
     """
     ModelSegment.addShaderAttributes(self, shaderFunc)
     if self.hasCol():
         shaderFunc.addAttribute(type="vec4", name="vertexColor")
     if self.hasOrco():
         shaderFunc.addAttribute(type="vec2", name="vertexUV")
     if self.hasNor():
         shaderFunc.addAttribute(type="vec3", name="vertexNormal")
Example #2
0
 def __init__(self, name, params):
     # remember duplicated vertices for animation purpose
     self.duplicatedIndexes = {}
     
     # Note: vertex data here maybe deleted later (after create) to save some ram
     
     self.vertices = params['cos']
     conf = params.get('verticesConf')
     if conf!=None and conf.dynamic:
         self.dynamicVertices = True
     else:
         self.dynamicVertices = False
     
     self.normals = params.get('nos', None)
     conf = params.get('normalsConf')
     if conf!=None and conf.dynamic:
         self.dynamicNormals = True
     else:
         self.dynamicNormals = False
     
     self.uvs = params.get('uvco')
     conf = params.get('uvsConf')
     if conf!=None and conf.dynamic:
         self.dynamicUvs = True
     else:
         self.dynamicUvs = False
     
     self.colors = params.get('cols')
     conf = params.get('colorsConf')
     if conf!=None and conf.dynamic:
         self.dynamicColors = True
     else:
         self.dynamicColors = False
     
     self.numVertices = len(self.vertices.data)
     # num of vertices may change,
     # display lists may need lists with vertices added
     # multiple times.
     self.numInitialVertices = self.numVertices
     
     ModelSegment.__init__(self, name, params)