Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [DirectX] Отрисовка 
:(
    Опции темы
PRF
Дата 5.5.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 13.10.2007

Репутация: нет
Всего: нет



Здравствуйте. Скажите пожалуйста в чем проблема, когда отрисовываешь объекты не в полноэкранном режиме, некоторые линии не рисует, а если переключится в полноэкранный режим , то нормально!
вот пример скриншота.


Присоединённый файл ( Кол-во скачиваний: 22 )
Присоединённый файл  __________.jpg 4,25 Kb
PM MAIL   Вверх
Rickert
Дата 7.5.2009, 03:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Телепаты - в атаку! smile 


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
PRF
Дата 7.5.2009, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 13.10.2007

Репутация: нет
Всего: нет



ну может какой то режим надо ставить отрисовки SetRender , в DirectX. я не знаю почему так делает, или линию допустим рисует прерывисто, пунктирно , а не сплошником.
PM MAIL   Вверх
Rickert
Дата 7.5.2009, 14:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Ну вот мы уже знаем через что вы отрисовываете, ещё пара сеансов и сможем увидеть код.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
PRF
Дата 7.5.2009, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 13.10.2007

Репутация: нет
Всего: нет



ну вот здесь инициализация и  отрисовка происходит.. 

Код

void InitializationDirectX(HWND window)
{
    d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
    D3DCAPS9 caps;

    d3d9->GetDeviceCaps(D3DADAPTER_DEFAULT,    D3DDEVTYPE_HAL,    &caps);  

    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory(&d3dpp, sizeof(d3dpp));

    d3dpp.BackBufferWidth            = 1280;
    d3dpp.BackBufferHeight           = 800;
    d3dpp.BackBufferFormat           = D3DFMT_A8R8G8B8; //формат пикселей
    d3dpp.BackBufferCount            = 1;
    d3dpp.MultiSampleType            = D3DMULTISAMPLE_NONE;
    d3dpp.MultiSampleQuality         = 0;
    d3dpp.SwapEffect                 = D3DSWAPEFFECT_DISCARD;
    d3dpp.hDeviceWindow              = window;
    d3dpp.Windowed                   = true; // полноэкранный режим
    d3dpp.EnableAutoDepthStencil     = true;
    d3dpp.AutoDepthStencilFormat     = D3DFMT_D24S8; 
    d3dpp.Flags                      = 0;
    d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
    d3dpp.PresentationInterval       = D3DPRESENT_INTERVAL_IMMEDIATE;

    d3d9->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, window, D3DCREATE_HARDWARE_VERTEXPROCESSING, &d3dpp, &device);
}

void RenderScene(D3DPRIMITIVETYPE type)
{
    device->Clear(0, 0, D3DCLEAR_TARGET, 0xffffffff, 1.0f, 0);
    device->BeginScene();
    //scene::RenderObject(type);
    device->EndScene();
    device->Present(0, 0, 0, 0);
}

PM MAIL   Вверх
C/L
Дата 15.5.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 31.7.2004
Где: Самара

Репутация: нет
Всего: 1



Точно не знаю но могу предположить. Когда размеры окна вывода и BackBuffer не совпадают(а у вас оно высокое), DirectX производит масштабирование самым быстрым способом (явно не бикубическим), в результате которого часть пикселей стирается. Поэтому размер BackBuffer надо подстраивать под размеры окна.
PM MAIL WWW ICQ   Вверх
PRF
Дата 15.5.2009, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 13.10.2007

Репутация: нет
Всего: нет



хм.. спасибо) почитаю)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0804 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.