SDI Technologies iH30 Especificaciones Pagina 55

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 147
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 54
Device Feedback
Quadro SDI Output PG-03776-001_v06 | 50
Code Listing 38: Determining Number of Buffers Queued
static int cur_query = 0;
static bool queryTime = GL_FALSE;
GLuint64EXT presentTime;
static GLuint64EXT lastPresentTime = 0;
GLuint durationTime;
static GLuint64EXT sendTime[NUM_QUERIES];
GLuint presentTimeID = gPresentID[cur_query];
GLuint presentDurationID = gDurationID[cur_query];
cur_query++;
// Query video present time and duration. Only do this once
// we have been through the query loop once to ensure that
// results are available.
if (queryTime) {
glGetQueryObjectui64vEXT(presentTimeID,
GL_QUERY_RESULT_ARB, &presentTime);
glGetQueryObjectuivARB(presentDurationID,
GL_QUERY_RESULT_ARB, &durationTime);
float latency = (presentTime - sendTime[cur_query]) *
.000001;
float presentationInterval = (presentTime
lastPresentTime) * .000001;
int bufsQueued = (int)(latency / presentationInterval);
fprintf(stderr, "send time: %I64d present time: %I64d latency:
%f msec present interval: %f msec buffs queued: %d duration: %d
frame\n",
sendTime[cur_query], presentTime, latency,
presentationInterval, bufsQueued, durationTime);
lastPresentTime = presentTime;
}
// Query send time
glGetVideoui64vNV(1, GL_CURRENT_TIME_NV, &sendTime[cur_query]);
// Draw to video
glPresentFrameKeyedNV(1, 0,
presentTimeID, presentDurationID,
GL_FRAME_NV,
GL_TEXTURE_RECTANGLE_NV, gTO, 0,
GL_NONE, 0, 0);
if (cur_query == NUM_QUERIES) {
cur_query = 0;0
queryTime = GL_TRUE;
}
Vista de pagina 54
1 2 ... 50 51 52 53 54 55 56 57 58 59 60 ... 146 147

Comentarios a estos manuales

Sin comentarios