Как сделать прокрутку экрана в 2D DirectDraw программе?

Тема в разделе "WASM.DirectX", создана пользователем Green_DiCk, 16 дек 2008.

  1. Green_DiCk

    Green_DiCk New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2007
    Сообщения:
    338
    217.118.66.101

    Например рендеринг идет на устройство разрешением 2000 х 3000, а экранное разрешение 1024 х 768. Хотелось бы например при подведении курсора мыши к краю экрана чтобы это все дело двигалось и в экран попадали области ранее не видимые. Я в некотором смятении (хз почему), поэтому не удивлюсь если решение окажется тривиальным, но пока как то соображалка не варит.

    Как это делается? Через DDraw clipper или еще как-то?
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Нету такого в DirectDraw, там только блиттинг. В DirectX и OpenGL есть viewport, матрица вида, мировая матрица объекта, которые можно использовать в этих целях.
     
  3. Green_DiCk

    Green_DiCk New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2007
    Сообщения:
    338
    217.118.66.101

    >Нету такого в DirectDraw, там только блиттинг.

    Не, ну там клиппер же есть какой-то (LPDIRECTDRAWCLIPPER). Отсекает вывод по границам окна. Только я хз как его использовать. Сдается мне что он только при инициализации задается и все.

    Вообще был бы благодарен за хорошую книжку/статью по DDraw. Гугол поюзал, но че там как всегда все обрывочно и фрагментарно. Хотелось бы полную картину составить.
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    А что это тебе даст? Клипер ограничивает пространство вывода, за его пределами картинка не будет копироваться. Реализовать всю прокрутку придётся тебе самому, хотя и ничего сложного в этом нет.