Re: [PyOpenGL-Users] mixing C++ and python w/ opengl
Brought to you by:
mcfletch
From: Philip W. <pwi...@gm...> - 2011-01-25 23:48:49
|
> > You may want to try using Cython, rather than raw C. We've been meaning to investigate Cython. We use C/C++ libraries and ctypes today. One advantage of C is that other C/C++ programs can use the libraries. But I'm interested in trying Cython just to learn about it. > Rather than pull it into Python and then push it > > back with pyopengl, it seems like we could just draw it from C, if that > > is allowed. > > well, I don't know that I'd do it for this reason -- if you pull/push > the data as numpy arrays, you can do all that without data copying, so > keeping it in Python may be fine. > You might be right. How do you completely avoid the copy? I do something really simple/dumb when right now when I need to return an array from C to Python. I do use numpy, but I do the allocation in Python and then hand the empty array to C to copy the values into. I saw some stuff about defining an allocator but it looked complicated. I wonder if my simplistic approach if the copy would hurt me. I wonder if I should be using a better no-copy approach instead. Anyway probably I should start by keeping drawing in Python and if/when I measure a real performance problem consider pushing it to C. This is how we operate with other stuff, resorting to C only to solve a specific performance issue. -Philip |