I’m developing experiments for haploscopes using stereomode 4. Experiment, software, and timing in general working well, but I’ve been applying per monitor (left, right) spatial calibration offsets (x, y) to individual draw commands. As you can imagine, doing so adds some complexity to the code and I think we will hit some limits using this approach in the future with more sophisticated spatial calibration methods or advanced stimulus presentation. In the words of Raymond Hettinger, “there must be a better way!”
I’ve attempted to search the FAQs and forums, primarily in the programming help section (e.g. 4435), but have had mixed success in finding relevant posts. I’ve also been reading over PsychImaging.m, SetCompressedStereoSideBySideParameters, SCREENHookFunctions.c and various demos. While I didn’t see an existing task for applying spatial offsets (x,y), I did find a task ‘FlipHorizontal’ (and other examples) that use “Builtin:IdentityBlit”.
Using this information, I created a naive proof of concept (github gist) that visually appears to provide the results I’m after by hijacking the FlipHorizontal task to apply spatial offsets but I’m now trying to learn how to do this “properly” as attempts to do without hijacking FlipHorizontal have not succeeded.
I use FlipHorizontal when running on actual haploscope, but I do not use FlipHorizontal when on development machines. If I naively attempt to append a builtin blitter without creating the flip horizontal task, I don’t get the desired behavior (graphics render but no offsets applied) nor do I receive any errors or warnings. I’m assuming I’m missing a step during the PrepareConfiguration stage prior to OpenWindow.
I have included string per directions for requesting paid support for this issue.
I have also attempted to include requested information per Psychtoolbox Forum page.
>> PsychtoolboxVersion ans = '3.0.18 - Flavor: beta - Corresponds to SVN Revision 12862 For more info visit: https://github.com/Psychtoolbox-3/Psychtoolbox-3'
- Develops on Windows 10 using various graphic configurations and understanding that we likely will not achieve frame accurate timing of stimulus.
- Deploy to lab machines running Fedora 34 with AMD graphics per PTB guidance and regularly verify timing using oscope+photodetectors.
- We try to keep the same MATLAB version on all development and deploy machines, at this time we are primarily running MATLAB R2021b.
Thank you all for the hard work on this project and for your help with my question.
Meta Reality Labs