Создание поддельного контекста создает OpenGL с версией 1.1

0

Я пытаюсь создать свои собственные контексты и окна для рендеринга с нуля. (Я не хочу использовать GLFW/SFML или какие-либо другие библиотеки там!).

Проблема, с которой я сталкиваюсь, заключается в том, что Fake-контекст, который я создаю для загрузки инициализации GLEW, - это только версия 1.1. По какой-то причине он дает мне общий рендеринг microsoft. Мне нужен ускоренный рендеринг.

Я предполагаю, что я делаю что-то неправильно, когда создаю pixelformatdescriptor..

Вот как я создаю контекст:

PIXELFORMATDESCRIPTOR pfd =
{
    sizeof(PIXELFORMATDESCRIPTOR),
    1,
    PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER,    //Flags
    PFD_TYPE_RGBA,            //The kind of framebuffer. RGBA or palette.
    32,                        //Colordepth of the framebuffer.
    0, 0, 0, 0, 0, 0,
    0,
    0,
    0,
    0, 0, 0, 0,
    24,                        //Number of bits for the depthbuffer
    8,                        //Number of bits for the stencilbuffer
    0,                        //Number of Aux buffers in the framebuffer.
    PFD_MAIN_PLANE,
    0,
    0, 0, 0
};

int iPixelFormat = ChoosePixelFormat(m_deviceContext, &pfd);
if(iPixelFormat == 0)
    return false;

error = SetPixelFormat(m_deviceContext, iPixelFormat, &pfd);
if(error != 1)
    return false;

m_context = wglCreateContext(m_deviceContext);
error = wglMakeCurrent(m_deviceContext, m_context);

glewExperimental = GL_TRUE;
if(glewInit() != GLEW_OK)
    return false;

Если я печатаю строку поставщика и строку рендеринга, это то, что я получаю:

Vendor:   Microsoft CorporationGraphics  
Renderer: GDI Generic

Изменить: я попытался скомпилировать в режиме выпуска (Visual studio 2012), теперь я получаю правильный поставщик и рендеринг.

  • 0
    где код, который вы используете, чтобы получить строку поставщика?
  • 0
    Я получаю строку поставщика сразу после инициализации GLEW.
Теги:
opengl

1 ответ

0

Если аппаратное обеспечение не поддерживает комбинацию цветов, глубины, трафарета и флагов, которые вы поставляете, вы можете получить окно с программным обеспечением.

  • 0
    У вас есть рекомендуемая комбинация? Я пробовал все, от рекомендованных на официальной вики OpenGL, до случайного угадывания и найденных комбинаций и работал на других. Могу ли я сказать что-нибудь еще не так, о чем вы можете подумать? Моя видеокарта должна поддерживать 4.4 с установленными мною драйверами.
  • 0
    На самом деле, нет. Я склонен использовать GLFW для создания окон, а не нативный API.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню