Drawing dots at 720 Hz
In this simple demo, we set the PROPixx in Gray720 mode and draw 3 dots. At 240Hz, these dots appear on the same frame, in colour. In 720 Hz mode these three dots appear on subsequent frames.
Currently, there is no graphics card capable of drawing individual frames at 720 Hz. In order to achieve this refresh rate, the PROPixx uses a built-in “sequencer” that takes a 1280 x 720, 240Hz video signal and breaks it into multiple frames which are then displayed in sequence. In 720 Hz mode, our custom sequencer takes R, G and B colour channels and shows them full screen and in greyscale, one after the other.
First, we must ensure the GPU is sending video at 1280 x 720 @ 240 Hz. See Real time refresh rates for how to change the refresh rate of your PROPixx.
Once we are in 240 Hz, we can draw our stimuli using blending to ensure the colours stack instead of overwriting one another.
% Setup the PROPixx to be in Gray720.
Datapixx('Open');
if Datapixx('IsPropixx')
Datapixx('SetPropixxDlpSequenceProgram', 10);
end
Datapixx('RegWr');
%Open a display on the Propixx
AssertOpenGL;
KbName('UnifyKeyNames');
screenID = max(Screen('Screens'));
[windowPtr,rect] = PsychImaging('OpenWindow', screenID, 0);
% Set up alpha-blending for stacking of colors
Screen('BlendFunction', windowPtr, 'GL_ONE', 'GL_ONE');
%Set up some stimulus characteristics - three simple dots
dotRadius = 30;
center = [rect(3)/2, rect(4)/2];
xoffsets = [-100, 0, +100];
positions = zeros(3,4);
colours =zeros(3,3);
for k = 1:3
positions(k, :) = [center(1)-dotRadius+xoffsets(k), center(2)-dotRadius,...
center(1)+dotRadius+xoffsets(k), center(2)+dotRadius];
colours(k,k) = 255;
end
%Start displaying dots
while ~KbCheck
for k = 1:3
Screen('FillOval', windowPtr, colours(k,:), positions(k,:));
end
Screen('Flip',windowPtr);
end
Screen('Closeall');
Datapixx('SetPropixxDlpSequenceProgram', 0); %Revert to standard 120Hz refresh rate
Datapixx('RegWrRd');
Datapixx('Close');