Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: DirectX/OpenGL

  Все выпуски  

RFpro.ru: DirectX/OpenGL


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Павел Юрьевич
Статус: 10-й класс
Рейтинг: 454
∙ повысить рейтинг »
Evgenijm
Статус: 10-й класс
Рейтинг: 241
∙ повысить рейтинг »
Колесников Иван Владимирович
Статус: 5-й класс
Рейтинг: 201
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / DirectX/OpenGL

Номер выпуска:43
Дата выхода:02.06.2011, 09:30
Администратор рассылки:Alexey G. Gladenyuk (Управляющий)
Подписчиков / экспертов:117 / 25
Вопросов / ответов:3 / 3

Вопрос № 57982: Добрый день. Делаю директикс графику. Для того чтобы программа не вываливалась если её переключили по альт-таб а потом вернулись (потеря поверхностей) я проверяю потерю IsLost и если надо восстанавливаю Restore. Проблема в том, что приходитс...


Вопрос № 137944: Мне нужно отобразить рисунок на заднем плане. Как сделать рисунок задним фоном в DirectX3D? Заранее благодарю!...
Вопрос № 174856: Добрый день! Мне необходимо написать программу, которая воспроизводит wmv файл с помощью DirectShow и может управлять воспроизведением (пауза, стоп, запустить), язык программирования С++, среда разработки С++Builder Проблема в том, что когда в моё...

Вопрос № 57982:

Добрый день.
Делаю директикс графику. Для того чтобы программа не вываливалась если её переключили по альт-таб а потом вернулись (потеря поверхностей) я проверяю потерю IsLost и если надо восстанавливаю Restore.
Проблема в том, что приходится вызывать каждый раз перед отрисовкой. Я пробовал ставить проверку в событии WM_ACTIVATE, но это почему-то не помогает, программа зависает. Стабильно работает (при переключениях) только если проверка потери делается перед каждой отрисовкой. Но ведь это лишняя трата ресурсов.
Что вы посоветуете?

Отправлен: 06.10.2006, 23:53
Вопрос задал: Вiктор (Студент)
Всего ответов: 1
Страница вопроса »


Отвечает Mystic (Студент) :
Здравствуйте, Вiктор!
Если я правильно понял, то нет необходимости проверять каждый раз перед отрисовкой потерю устройства. Функция IDirect3DDevice9::Present возвращает код ошибки D3DERR_DEVICELOST, если устройство потеряно. Достаточно проверять на наличие данной ошибки после вызова Present вместо постоянных проверок в начале. Россия, Москва
Адрес: Москва, Зеленоград
ICQ # 300300749

Ответ отправил: Mystic (Студент)
Ответ отправлен: 08.10.2006, 22:00

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 120794 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 137944:

    Мне нужно отобразить рисунок на заднем плане. Как сделать рисунок задним фоном в DirectX3D?

    Заранее благодарю!

    Отправлен: 27.05.2008, 04:30
    Вопрос задал: Шафиков Альфред Равилович
    Всего ответов: 1
    Страница вопроса »


    Отвечает Aristos (Студент) :
    Здравствуйте, Шафиков Альфред Равилович!
    Рисунок на заднем плане надо нарисовать в первую очередь, с отключенным буфером глубины. Тогда все последующие объекты сцены будут поверх.
    Например, так:
    1. Очищаем буфер кадра и буфер глубины (Z-Buffer)
    pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, 0xFF000000, 1.0f, 0);
    pd3dDevice->BeginScene();
    2. Отключаем буфер глубины (Z-Buffer)
    pd3dDevice->SetRenderState(D3DRS_ZENABLE, FALSE);
    3. Рисуем прямоугольник с текстурой рисунка во весь экран
    4. После этого включаем Z-Buffer и выводим обычным методом всю сцену

    ps: буфер кадра можно не очищать, если фоновое изображение будет на весь экран
    pps: выводить изображение в п.3 удобнее, если использовать ортогональную проекцию Россия, Жуковский
    Организация: SecurIT
    ICQ # 176810646

    -----
    нет ничего невозможного

    Ответ отправил: Aristos (Студент)
    Ответ отправлен: 27.05.2008, 11:36

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 224461 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 174856:

    Добрый день! Мне необходимо написать программу, которая воспроизводит wmv файл с помощью DirectShow и может управлять воспроизведением (пауза, стоп, запустить), язык программирования С++, среда разработки С++Builder
    Проблема в том, что когда в моём приложении воспроизводится видео, сама форма блокируется.. и я не могу нажимать на ней кнопки.. даже закрыть не могу до тех пор, пока не закончится ролик
    Я пытался решить проблему с помощью создания отдельного потока через TThread, но результатов это не принесло
    Также хотелось бы увидеть пример построения графа без использования IntelligentConnect

    Отправлен: 04.12.2009, 03:05
    Вопрос задал: Лакин И.М. (2-й класс)
    Всего ответов: 1
    Страница вопроса »


    Отвечает Solowey (8-й класс) :
    Здравствуйте, Лакин И.М..
    Я бы в обработчик событий Form2 добавил реагирывание на нажатие кнопок или клавиш клавиатуры. К примеру, при проигрывании ролика нажимаем ESC и передается сообщение на остановку и закрытие формы. Россия, Москва

    Ответ отправил: Solowey (8-й класс)
    Ответ отправлен: 04.12.2009, 09:49

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 257298 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    подать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.



    В избранное