Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shadertest #1

Open
wants to merge 36 commits into
base: gl_exploration
Choose a base branch
from

Conversation

BKrajancich
Copy link

Display.cc contains the shader I tried to write which is almost an exact copy of the working C++ code (aided by opencv) in equitest.cc. In trying to narrow down the source of the bug, I'm only playing around with the Y channel of the image and only for a particular head orientation (so I know exactly what it SHOULD look like).

lukehsiao and others added 30 commits January 16, 2020 11:28
This now uses 4 textures. Before the trigger, we alternate between a
white box in the top left, and a black screen. This is a "clock" of the
frames. After the trigger, we do the same, but also draw a white box in
the bottom left.
Host PC sends 'g' to the Arduino to signal it to switch LEDs, take a
time diff, and send it back over serial.
Calling glFinish at the end of repaint reduces e2e latency by about 1
frame (~4ms).
Rather than have everything in the same loop and thread, this splits off
a separate thread for drawing to the display, with two atomic reference.
First to a trigger boolean to know when to draw the white square, and
second to a drawing delay to be able to report back the value to the
main thread.
Gets rid of the newline in the CSV output log.
Just so we can see a frame clock in the swap_interval=0 setting.
Sequence diagram is generated using PlantUML using the web-service:

    https://www.planttext.com/

The markup for the UML diagram is:

    ```
    @startuml

    Host->ASG: Switch Eye Command
    note over ASG: toggle IR LED, t_start = now()
    Host->Host: poll EyeLink for new samples
    ASG->ASG: sample = photodiode level
    note over Host: new EyeLink Sample > DELTA
    Host->Display: draw white box
    note over ASG: sample > trigger level, t_end = now()
    ASG -> Host: t_end - t_start

    @enduml
    ```
Takes the results.csv and outputs a histogram, CDF, and boxplots to
visualize the distribution of latencies.
When collapsed, it's harder to search for keywords. Given it doesn't
take a ton of space, might as well show the information.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants