本文整理汇总了Python中rapi.rpgBindUV1BufferOfs函数的典型用法代码示例。如果您正苦于以下问题:Python rpgBindUV1BufferOfs函数的具体用法?Python rpgBindUV1BufferOfs怎么用?Python rpgBindUV1BufferOfs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了rpgBindUV1BufferOfs函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: 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()
示例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
示例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)
示例4: 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
示例5: 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
示例6: 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)
示例7: 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)
示例8: 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()
示例9: 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)
示例10: 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)
示例11: build_mesh
def build_mesh(self):
for mesh in self.meshList:
rapi.rpgBindPositionBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 92, 0)
rapi.rpgBindNormalBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 92, 12)
rapi.rpgBindUV1BufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 92, 28)
rapi.rpgSetName(mesh.meshName)
matName = self.matList[mesh.matNum].name
rapi.rpgSetMaterial(matName)
rapi.rpgCommitTriangles(mesh.idxBuff, noesis.RPGEODATA_UINT, mesh.numIdx, noesis.RPGEO_TRIANGLE, 1)
示例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, 48, 0)
rapi.rpgBindNormalBufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 48, 28)
rapi.rpgBindUV1BufferOfs(mesh.vertBuff, noesis.RPGEODATA_FLOAT, 48, 40)
matName = self.matList[i].name
rapi.rpgSetMaterial(matName)
rapi.rpgCommitTriangles(mesh.idxBuff, noesis.RPGEODATA_USHORT, mesh.numIdx, noesis.RPGEO_TRIANGLE, 1)
示例13: parse_vertices
def parse_vertices(self, numVerts, vertType):
if vertType == 0:
vertBuff = self.inFile.readBytes(44*numVerts)
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 44, 0)
rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 44, 12)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 44, 24)
elif vertType == 1024:
vertBuff = self.inFile.readBytes(52*numVerts)
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 52, 0)
rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 52, 12)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 52, 24)
示例14: parse_vertices
def parse_vertices(self, numVerts, vertType):
if vertType == 0:
vertBuff = self.inFile.readBytes(48*numVerts)
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 48, 0)
rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 48, 28)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 48, 40)
elif vertType == 1:
vertBuff = self.inFile.readBytes(32*numVerts)
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 0)
rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 12)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 24)
示例15: parse_vertices
def parse_vertices(self, numVerts):
vertBuff = self.inFile.readBytes(numVerts*32*3)
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 0)
rapi.rpgBindNormalBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 12)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, 32, 24)
idxBuff = bytes()
for i in range(numVerts * 3):
idxBuff += struct.pack('L', i)
return idxBuff