Hi,
I've been playing around with GEM for the past couple of days and must say that I'm very impressed! Great work to all involved. System notes: windows 2000 SP2, PIII, DX 8.1, nVidia Geforce2Go.
I have, however, come across a couple of things that seem to be a little strange:
wonders of open source, I've tracked this problem down to a NULL return from AVIStreamGetFrameOpen(m_streamVid,NULL) in pix_filmNT :: realOpen() from pix_filmNT.cpp
This suggests that the AVI/Video For Windows system can't find an appropriate decompressor on my system. However, the same clips play just fine with Media player or other apps on the system. I have no problems in GEM using cinepak or a couple of other codecs that I've tried.
Can anyone/everyone reproduce this behaviour, or is it specific to my system?
I want to have smooth animation, so I need double buffering.
A simple example of the kind of algorithm that I'm using is the generation of an array of a particular object. This is easy and elegant to do algorithmically, but would require a rat's nest of patching to do statically.
However I've encountered a number of problems: a) can't turn off the automatic render cycle when double buffering is enabled
This I've worked around by setting the frame rate to 0.0001 and then banging the gemlist heads with a metro, and banging the gemwin to trigger the flip.
Unfortunately there are some other peculiarities: b) the view position moves from the default to 0 0 0 c) it is not possible to change the viewing position (As far as i can tell) using the view message to the gemwin at any stage of the render/flip cycle d) the pixel or texture format seems to get confused... i'm using pix_data to pull colours to give to my objects and i need to reverse the order of the triple in order to get the right colours to appear.
It seems that I'm not using GEM in the way it may have been intended, but I think it would be very useful (and I imagine not difficult) to have the system support this kind of thing. I suspect it's just a matter of rearranging the rendering code a little but I've not yet delved that far into the code.
Daniel