Задание SQL Server пропустит запланированное выполнение, если оно будет уже работать?

Параметр glEnable должен быть одной константой перечислителя. Параметр не является битовым полем.

Следующее недопустимо и приведет к ошибке GL_INVALID_ENUM, которая может быть обнаружена с помощью glGetError или Отладочный вывод :

glEnable(GL_DEPTH | GL_DEPTH_TEST);
blockquote>

Это должно быть

glEnable(GL_DEPTH_TEST);

В любом случае GL_DEPTH не является допустимым параметром для glEnable, но, возможно, это параметр для glCopyPixels . ​​
Обратите внимание, что значение константы перечислителя GL_DEPTH_TEST равно 0x0B71 , а значение GL_DEPTH равно 0x1801 . Бинарная или (|) операция обеих констант не имеет никакого смысла.

Из-за этого тест глубины никогда не включался и ничего не записывалось в буфер глубины.


Далее отметим, что значения, которые принимаются для диапазона глубины glDepthRange , должны находиться в диапазоне [0, 1]. Значения, которые передаются в glDepthRange, фиксируются в этом диапазоне, прежде чем они будут приняты.

Это означает, что

glDepthRange(200, 2000);
blockquote>

равно

glDepthRange(1, 1);

, поэтому диапазон глубины равен [1, 1] и все значения возвращаются glReadPixels тоже равны 1.

Пропустите glDepthRange(200, 2000); s>, чтобы решить проблему.


glGetDoublev(GL_MODELVIEW_MATRIX, matModelView) получает текущую матрицу представления модели из стека матриц GL_MODELVIEW. glGetDoublev(GL_PROJECTION_MATRIX, matProjection) получает текущую проекционную матрицу из стека матриц GL_PROJECTION.

Таким образом, вы должны поместить матрицу проекции в стек матрицы GL_PROJECTION и матрицу просмотра в стек матрицы GL_MODELVIEW (см. glMatrixMode ):

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-150, 150, -150, 150, 200, 2000);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(200,400,200,0,0.0,0.0,0.0,0.0,1.0);

57
задан ThinkingStiff 26 January 2013 в 22:37
поделиться

3 ответа

Агент SQL Server проверяет, выполняется ли уже задание, перед началом новой итерации. Если у вас есть длительное задание и его расписание появляется, оно будет пропущено до следующего интервала.

Вы можете попробовать это сами. Если вы попытаетесь запустить задание, которое уже выполняется, вы получите сообщение об ошибке.

76
ответ дан 24 November 2019 в 19:41
поделиться

Я почти уверен, что так и будет. пропустите его, если он запущен.

3
ответ дан 24 November 2019 в 19:41
поделиться

Какую версию SQL Server вы используете? Кажется, это довольно легко проверить. Настройте задание с WAITFOR в нем, которое вставляет одну строку в таблицу и настраивает задание для запуска дважды в быстрой последовательности (короче, чем WAITFOR DELAY).

При запуске такого теста в SQL Server 2005 он пропускался пробег, который был перекрыт.

2
ответ дан 24 November 2019 в 19:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: