rd_vtx.py 715 B

12345678910111213
  1. import os, renderdoc as rd, struct
  2. out=open(os.environ['OUT'],'w')
  3. cap=rd.OpenCaptureFile(); cap.OpenFile(os.environ['CAP'],'',None)
  4. st,ctl=cap.OpenCapture(rd.ReplayOptions(),None)
  5. for eid in [int(x) for x in os.environ['EIDS'].split(',')]:
  6. ctl.SetFrameEvent(eid,True)
  7. post=ctl.GetPostVSData(0,0,rd.MeshDataStage.VSOut)
  8. data=ctl.GetBufferData(post.vertexResourceId, post.vertexByteOffset, post.vertexByteStride*post.numIndices)
  9. out.write('== %d n=%d stride=%d\n'%(eid,post.numIndices,post.vertexByteStride))
  10. for i in range(post.numIndices):
  11. v=struct.unpack_from('4f',data,i*post.vertexByteStride)
  12. out.write(' %s\n'%(v,))
  13. ctl.Shutdown(); cap.Shutdown(); out.close(); os._exit(0)