コード例 #1
0
ファイル: ipr.py プロジェクト: wieland-rochel/barnold
 def _callback(x, y, width, height, buffer, data):
     #print("+++ _callback:", x, y, width, height, ctypes.cast(buffer, ctypes.c_void_p))
     if buffer:
         try:
             if new_data.poll():
                 arnold.AiRenderInterrupt()
             else:
                 #print("+++ _callback: tile", x, y, width, height)
                 _buffer = ctypes.cast(buffer,
                                       ctypes.POINTER(ctypes.c_ubyte))
                 a = numpy.ctypeslib.as_array(_buffer,
                                              shape=(height, width, 4))
                 rect[y:y + height, x:x + width] = a
                 redraw_event.set()
             return
         finally:
             arnold.AiFree(buffer)
     elif not new_data.poll():
         return
     arnold.AiRenderAbort()
コード例 #2
0
ファイル: session.py プロジェクト: lunadigital/btoa
    def end(self):
        if self.is_interactive:
            arnold.AiRenderInterrupt(arnold.AI_BLOCKING)
            arnold.AiRenderEnd()

        arnold.AiEnd()
コード例 #3
0
ファイル: session.py プロジェクト: lunadigital/btoa
 def pause(self):
     self.is_running = False
     arnold.AiRenderInterrupt(arnold.AI_BLOCKING)