当前位置: 首页>>代码示例>>Python>>正文


Python rapi.rpgBindPositionBufferOfs函数代码示例

本文整理汇总了Python中rapi.rpgBindPositionBufferOfs函数的典型用法代码示例。如果您正苦于以下问题:Python rpgBindPositionBufferOfs函数的具体用法?Python rpgBindPositionBufferOfs怎么用?Python rpgBindPositionBufferOfs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了rpgBindPositionBufferOfs函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Vertex

 def Vertex(self):
     self.data.seek(4,1)
     numOrder    = self.data.readUInt()
     self.vertLength = vertLength  = self.data.readUInt()
     self.numVert = numVert     = self.data.readUInt()
     Order       = self.data.read('%sI'%numOrder)
     self.vertBuff = vertBuff    = self.data.readBytes(vertLength * numVert)
     offset      = 0
     for o in Order:
         if o == 0:
             vertOffset = offset
             offset += self.vertOrder[o]
         elif o == 4:
             uvOffset = offset
             offset += self.vertOrder[o]
         elif o == 1:
             normalOffset = offset
             offset += self.vertOrder[o]
         elif o == 5:
             self.boneWeightOffset = offset
             offset += self.vertOrder[o]
         elif o == 6:
             self.boneIndexOffset = offset
             offset += self.vertOrder[o]
         else:
             offset += self.vertOrder[o]
             
     rapi.rpgBindPositionBufferOfs   (vertBuff, noesis.RPGEODATA_FLOAT, vertLength, vertOffset)
     rapi.rpgBindUV1BufferOfs        (vertBuff, noesis.RPGEODATA_FLOAT, vertLength, uvOffset)
     rapi.rpgBindNormalBufferOfs     (vertBuff, noesis.RPGEODATA_FLOAT, vertLength, normalOffset)
     
     return
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:32,代码来源:fmt_TQ_msh.py

示例2: noepyLoadModel

def noepyLoadModel(data, mdlList):
    '''Build the model, set materials, bones, and animations. You do not
    need all of them as long as they are empty lists (they are by default)'''
    
    ctx = rapi.rpgCreateContext()
    parser = SanaeParser(data)
    parser.parse_file()
    
    #build meshes
    for pose in parser.vertGroups.keys():
        print(pose, len(parser.vertGroups[pose]))
    vertBuffs = parser.vertGroups["walk"]
    for i in range(len(vertBuffs)):
        idxBuff, numIdx, matNum = parser.idxBuffs[i%len(parser.idxBuffs)]
        vertBuff = vertBuffs[i]
        rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 0)
        rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 12)
        rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 24)
        
        matName = parser.matList[matNum].name
        rapi.rpgSetMaterial(matName)
        rapi.rpgSetOption(noesis.RPGOPT_TRIWINDBACKWARD, 1)
        rapi.rpgCommitTriangles(idxBuff, noesis.RPGEODATA_USHORT, numIdx, noesis.RPGEO_TRIANGLE, 1)    
    
    mdl = rapi.rpgConstructModel()
    mdl.setModelMaterials(NoeModelMaterials(parser.texList, parser.matList))
    mdl.setBones(parser.boneList)
    mdl.setAnims(parser.animList)
    mdlList.append(mdl)
    return 1
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:30,代码来源:fmt_YiJianXiang_fak.py

示例3: parse_file

 def parse_file(self):
     '''Main parser method'''
     
     idstring = self.inFile.readBytes(6)
     self.inFile.readShort()
     self.inFile.readShort()
     self.read_name()
     meshName = self.read_name()
     
     self.inFile.readByte() # delim?
     bbox = self.inFile.read('6f')
     
     self.inFile.readUInt()
     self.inFile.readUInt()
     numVerts, numIdx = self.inFile.read('2H')
     vertBuff = self.parse_vertices(numVerts)
     idxBuff = self.parse_faces(numIdx)
     
     self.parse_materials()
     
     rapi.rpgSetName(meshName)
     rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 0)
     rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 12)
     rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 24)
     rapi.rpgCommitTriangles(idxBuff, noesis.RPGEODATA_SHORT, numIdx, noesis.RPGEO_TRIANGLE, 1)
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:25,代码来源:fmt_CloudNine_xgeom.py

示例4: build_meshes

 def build_meshes(self):
         
     for meshInfo in self.meshInfo:
         
         vertBuff = meshInfo[0]
         idxBuff = meshInfo[1]
         numIdx = meshInfo[2]
         matNum = meshInfo[3]
         meshName = meshInfo[4]
         
         if self.xxFormat >= 4:
             rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 70, 2)
             rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 70, 30)
             rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 70, 42)
         else:
             rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 52, 4)
             rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 52, 32)
             rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 52, 44)
         
         if len(self.matList) > matNum:
             mat = self.matList[matNum]            
             matName = mat.name
             rapi.rpgSetMaterial(matName)
         rapi.rpgSetName(meshName)
         rapi.rpgCommitTriangles(idxBuff, noesis.RPGEODATA_USHORT, numIdx, noesis.RPGEO_TRIANGLE, 1)
         rapi.rpgClearBufferBinds()    
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:26,代码来源:fmt_illusion_xx.py

示例5: parse_file

 def parse_file(self):
     
     meshName = self.read_name()
     matName = self.read_name()
     texName = meshName
     
     numIdx = self.inFile.readUInt() * 3
     numVerts, numUV = self.inFile.read('2L')
     vertBuff = self.parse_vertices(numVerts)
     idxBuff = self.parse_faces(numIdx)
     uvBuff = self.parse_uv(numUV)
     self.parse_uv_index(numIdx)
     
     #create material
     material = NoeMaterial(matName, texName)
     self.matList.append(material)        
     
     #build mesh
     rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 24, 0)
     rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 24, 12)
     
     #commit triangles
     rapi.rpgSetMaterial(texName)
     rapi.rpgCommitTriangles(idxBuff, noesis.RPGEODATA_USHORT, numIdx, noesis.RPGEO_TRIANGLE, 1)
     
     #what to do with these UV's?
     rapi.rpgBindUV1Buffer(uvBuff, noesis.RPGEODATA_FLOAT, 8)        
     
     
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:27,代码来源:fmt_ares_n3cskins.py

示例6: parse_vertices

 def parse_vertices(self, numVerts, mb, vb):
     
     print(mb)
     if mb[0] == 0x05  and mb[1] == 0x04:
         #print("vertSize: 24")
         vertBuff = self.inFile.readBytes(numVerts*24)
         rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 24, 0)
     elif mb[0] == 0x15 and vb[1] == 0x15:
         #print("vertSize: 56")
         vertBuff = self.inFile.readBytes(numVerts*56)
         rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 56, 0)
         rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 56, 12)
         rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 56, 48)
     elif mb[0] in [0x05, 0x0A, 0x15]:
         #print("vertSize: 32")
         vertBuff = self.inFile.readBytes(numVerts * 32)
         rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 0)
         rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 12)
         rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 24)        
     elif mb[0] == 0:
         #print("vertSize: 36")
         vertBuff = self.inFile.readBytes(numVerts*36)
         rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 36, 0)
         rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 36, 2)      
     elif mb[0] == 1:
         #print("vertSize: 40")
         vertBuff = self.inFile.readBytes(numVerts * 40)
     elif mb[0] == 0x55:
         vertBuff = self.inFile.readBytes(numVerts*64)
         rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 64, 0)    
     else:
         print("Unknown")
开发者ID:tianye910208,项目名称:restool_jiuyintool,代码行数:32,代码来源:fmt_AgeOfWulin_xmod.py

示例7: noepyLoadModel

def noepyLoadModel(data, mdlList):
    '''Build the model, set materials, bones, and animations. You do not
    need all of them as long as they are empty lists (they are by default)'''
    

    parser = SanaeParser(data)
    parser.parse_file()
    ctx = rapi.rpgCreateContext()
    
    for i in range(len(parser.vertBuffs)):
        
        vertBuff, numVerts = parser.vertBuffs[i]
        idxBuff, numIdx, matNum = parser.idxBuffs[i]
        matList = [parser.matList[matNum]]
        texList = [parser.texList[matNum]]
        matName = matList[0].name
        
        rapi.rpgReset()
        rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 0)
        rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 12)
        rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 24)        
        rapi.rpgSetMaterial(matName)
        rapi.rpgCommitTriangles(idxBuff, noesis.RPGEODATA_USHORT, numIdx, noesis.RPGEO_TRIANGLE, 1)    
        
        
        mdl = rapi.rpgConstructModel()
        
        mdl.setModelMaterials(NoeModelMaterials(texList, matList))
        mdl.setBones(parser.boneList)
        mdl.setAnims(parser.animList)
        mdlList.append(mdl)
    return 1
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:32,代码来源:fmt_CabalOnline_ebm.py

示例8: build_meshes

 def build_meshes(self):
     
     rapi.rpgSetOption(noesis.RPGOPT_TRIWINDBACKWARD, 1)
     for mesh in self.meshList:
         
         print(mesh.vertSize)
         if mesh.vertSize == 28:
             rapi.rpgBindPositionBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 28, 0)
         elif mesh.vertSize == 32:
             rapi.rpgBindPositionBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 32, 0)
             #rapi.rpgBindNormalBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 32, 20)
             rapi.rpgBindUV1BufferOfs(mesh.vertBuff, noesis.RPGEODATA_HALFFLOAT, 32, 16)
         elif mesh.vertSize == 36:
             rapi.rpgBindPositionBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 36, 0)
         elif mesh.vertSize == 40:
             rapi.rpgBindPositionBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 40, 0)
         elif mesh.vertSize == 44:
             rapi.rpgBindPositionBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 44, 0)
         
         
         #for j in range(mesh.numFaceGroups): # Not sure
         for j in range(1):
             numIdx = mesh.numIndices[j]
             idxBuff = mesh.idxBuffs[j]
             rapi.rpgSetMaterial("WP_A_1550small.tga")
             rapi.rpgCommitTriangles(idxBuff, noesis.RPGEODATA_USHORT, numIdx, noesis.RPGEO_TRIANGLE_STRIP, 1)
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:26,代码来源:fmt_DarkSouls_flv.py

示例9: parse_vertices

    def parse_vertices(self, numVerts):

        vertBuff = self.inFile.readBytes(numVerts * 40)
        rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 40, 0)
        rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 40, 12)
        rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 40, 32)

        self.invert_faces()
开发者ID:mstevenson,项目名称:noesis-plugins-official,代码行数:8,代码来源:fmt_loong_fscn.py

示例10: build_meshes

 def build_meshes(self):
     
     for mesh in self.meshList:
         
         rapi.rpgBindPositionBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 44, 0)
         rapi.rpgBindNormalBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 44, 12)
         rapi.rpgBindUV1BufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 44, 28)
         rapi.rpgCommitTriangles(mesh.idxBuff, noesis.RPGEODATA_USHORT, mesh.numIdx, noesis.RPGEO_TRIANGLE, 1)
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:8,代码来源:fmt_Asda2_jbm.py

示例11: parse_vertices

 def parse_vertices(self, numVerts):
    
    self.vertList = self.inFile.readBytes(numVerts * 48)
    rapi.rpgBindPositionBufferOfs(self.vertList, noesis.RPGEODATA_FLOAT, 48, 0)
    rapi.rpgBindNormalBufferOfs(self.vertList, noesis.RPGEODATA_FLOAT, 48, 28)
    rapi.rpgBindUV1BufferOfs(self.vertList, noesis.RPGEODATA_FLOAT, 48, 40)
    
    trans = NoeMat43((NoeVec3((-1.0, 0.0, 0.0)), NoeVec3((0.0, 1.0, 0.0)), NoeVec3((0.0, 0.0, 1.0)), NoeVec3((0.0, 0.0, 0.0))))
    rapi.rpgSetTransform(trans)
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:9,代码来源:fmt_crucisFatalFake_lmd.py

示例12: build_mesh

  def build_mesh(self):
      
      for i in range(len(self.meshList)):
          mesh = self.meshList[i]
          rapi.rpgBindPositionBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 32, 0)
          rapi.rpgBindNormalBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 32, 12)
          rapi.rpgBindUV1BufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 32, 24)
 
          rapi.rpgCommitTriangles(mesh.idxBuff, noesis.RPGEODATA_UINT, mesh.numIdx, noesis.RPGEO_TRIANGLE, 1)         
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:9,代码来源:fmt_SevenSouls_msh.py

示例13: parse_vertices

 def parse_vertices(self, numVerts):
     
     vertBuff = self.inFile.readBytes(numVerts*26)
     rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 26, 6)
     #rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 12)
     #rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 24)   
     
     #show the vertices        
     self.plot_points(numVerts)
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:9,代码来源:fmt_Ultimate_Mortal_Kombat_meshset.py

示例14: parse_vertices

 def parse_vertices(self, numVerts, vertSize):
     
     if vertSize == 24:
         vertBuff = self.inFile.readBytes(numVerts * 24)
         rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 24, 0)
     elif vertSize == 32:
         vertBuff = self.inFile.readBytes(numVerts * 32)
         rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 0)
     else:
         print("Unknown Vert size: %d" %vertSize)
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:10,代码来源:fmt_DragonOath_mesh.py

示例15: build_mesh

 def build_mesh(self, mesh):
 
     rapi.rpgBindPositionBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 24, 0)
     rapi.rpgBindNormalBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 24, 12)
     #rapi.rpgSetName(mesh.name)
     #self.plot_points(mesh.numVerts)
     if mesh.triCount:
         rapi.rpgCommitTriangles(mesh.triBuff, noesis.RPGEODATA_USHORT,  mesh.triCount, noesis.RPGEO_TRIANGLE, 1)
     if mesh.quadCount:
         rapi.rpgCommitTriangles(mesh.quadBuff, noesis.RPGEODATA_USHORT, mesh.quadCount, noesis.RPGEO_QUAD_ABC_ACD, 1)
开发者ID:Danilodum,项目名称:noesis-plugins-official,代码行数:10,代码来源:fmt_lithTech_dat66.py


注:本文中的rapi.rpgBindPositionBufferOfs函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。