Почему javascript принимает запятые в операторах if?

В Windows существует метод расширения OpenGL wglSwapIntervalEXT. Из сообщения b2b3 http://www.gamedev.net/community/forums/topic.asp?topic_id=360862:

, Если Вы работаете над Windows, необходимо использовать расширения для использования wglSwapIntervalExt функция. Это определяется в wglext.h. Вы также захотите загрузить glext.h файл. В wglext файле все точки входа для Windows объявляются определенные расширения. Все такие функции запускаются с префикса wgl. Для получения большего количества информации обо всех опубликованных расширениях, можно изучить Реестр Расширения OpenGL.

wglSwapIntervalEXT от WGL_EXT_swap_control расширение. Это позволяет Вам определить минимальное количество кадров перед каждой буферной подкачкой. Обычно это используется для вертикальной синхронизации (при установке интервала подкачки на 1). Больше информации о целом расширении может быть найдено здесь. Перед использованием этой функции Вы должны запросить, чешете ли Вы, имеет поддержку WGL_EXT_swap_control, и затем получите указатель на функцию с помощью wglGetProcAddress функция.

Для тестирования на поддержку данного расширения можно использовать функцию как это:

#include 
#include "wglext.h"

bool WGLExtensionSupported(const char *extension_name)
{
    // this is pointer to function which returns pointer to string with list of all wgl extensions
    PFNWGLGETEXTENSIONSSTRINGEXTPROC _wglGetExtensionsStringEXT = NULL;

    // determine pointer to wglGetExtensionsStringEXT function
    _wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC) wglGetProcAddress("wglGetExtensionsStringEXT");

    if (strstr(_wglGetExtensionsStringEXT(), extension_name) == NULL)
    {
        // string was not found
        return false;
    }

    // extension is supported
    return true;
}

Для инициализации указателей функции Вы должны:

PFNWGLSWAPINTERVALEXTPROC       wglSwapIntervalEXT = NULL;
PFNWGLGETSWAPINTERVALEXTPROC    wglGetSwapIntervalEXT = NULL;

if (WGLExtensionSupported("WGL_EXT_swap_control"))
{
    // Extension is supported, init pointers.
    wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC) wglGetProcAddress("wglSwapIntervalEXT");

    // this is another function from WGL_EXT_swap_control extension
    wglGetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC) wglGetProcAddress("wglGetSwapIntervalEXT");
}

Тогда можно использовать эти указатели в качестве любого другого указателя на функцию. Для включения vync, можно звонить wglSwapIntervalEXT(1), для отключения его Вы звоните wglSwapIntervalEXT(0).

Для получения текущего интервала подкачки необходимо звонить wglGetSwapIntervalEXT().

62
задан Matt 18 March 2011 в 04:13
поделиться

1 ответ

Я разрешаю делать операции и сравнения в том же контексте.

Пример:

if(a = 2, a > 1) console.log('a is', a)
0
ответ дан 24 November 2019 в 16:46
поделиться
Другие вопросы по тегам:

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