PMG

Форумы по созданию игр
Текущее время: 28 мар 2024 17:24

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: мультисэмплинг
СообщениеДобавлено: 26 сен 2010 22:54 
Не в сети
Новичок

Зарегистрирован: 09 сен 2010 10:44
Сообщения: 8
Не подскажете, в чем дело :
При использовании ARB_Multisample на втором проходе SetPixelFormat вываливается при PixelFormatIndex = 32.


bool TForm1::SetGLPixelFormat()
{
int PixelFormatIndex;
if((hDC = GetDC(Panel1->Handle)) == NULL) return false;

PIXELFORMATDESCRIPTOR PixelFormat =
{
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW |
PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA,
24,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
32,
0, 0,
PFD_MAIN_PLANE,
0, 0, 0, 0
};

if(!arbMultisampleSupported)
{
PixelFormatIndex = ChoosePixelFormat(hDC, &PixelFormat);
if(PixelFormatIndex == 0) return false;
}
else PixelFormatIndex = arbMultisampleFormat;
if(!SetPixelFormat(hDC, PixelFormatIndex, &PixelFormat)) return false;

if((hRC = wglCreateContext(hDC)) == NULL) return false;
if(!wglMakeCurrent(hDC, hRC))return false;

if(!arbMultisampleSupported)
{
if(InitMultisample(Panel1->Handle))
{
wglMakeCurrent (NULL, NULL);
wglDeleteContext(hRC);
ReleaseDC(Panel1->Handle,hDC);
return SetGLPixelFormat();
}
}
return true;
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мультисэмплинг
СообщениеДобавлено: 27 сен 2010 09:08 
Не в сети
Опытный
Аватара пользователя

Зарегистрирован: 04 июл 2008 10:11
Сообщения: 144
Откуда: Питер
может не хватает static перед PIXELFORMATDESCRIPTOR PixelFormat ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мультисэмплинг
СообщениеДобавлено: 27 сен 2010 18:24 
Не в сети
Новичок

Зарегистрирован: 09 сен 2010 10:44
Сообщения: 8
Со static не работает. ) Это тут ни при чем. Структура- то не меняется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мультисэмплинг
СообщениеДобавлено: 28 сен 2010 16:25 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Нужно удалять окно и создавать заново. Вернее создаешь окно, выбираешь формат пикселя, удаляешь окно, создаешь вновь, используешь выбранный формат пикселя. Вот такое извращение.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мультисэмплинг
СообщениеДобавлено: 28 сен 2010 21:02 
Не в сети
Новичок

Зарегистрирован: 09 сен 2010 10:44
Сообщения: 8
Спасибо. Повторно создал окно и все заработало.
Хотя вообще думал, что будет достаточно
wglMakeCurrent (NULL, NULL);
wglDeleteContext(hRC);
ReleaseDC(Handle,hDC);
DeleteDC(hDC);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: мультисэмплинг
СообщениеДобавлено: 01 окт 2010 12:26 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Я пробывал, не получалось. Почему не понятно.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB