Очевидно, делать это надо внутри
void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double fTime,
float fElapsedTime )
А вот что делать с этим pd3dDevice, как правильно выцепить surface, как на
нём порисовать напрямую?
Best Regards,
Slava Tutushkin
ST> Поставил распоследний DX SDK.
ST> Как используя Direct Graphics и предлагаемый ими фрэймворк, рисовать в
2d?
ST> Пиксель, там, зажечь, спрайтик сблитить, прямоугольничек закрасить?
ST> Очевидно, делать это надо внутри
ST> void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double
ST> fTime, float fElapsedTime )
ST> А вот что делать с этим pd3dDevice, как правильно выцепить surface, как
ST> на нём порисовать напрямую?
Surface получить - GetRenderTarget, прямоугольник закрасить - ColorFill,
спрайт без альфаблендинга вывести - StretchRect, c альфаблендингом -
D3DXSprite, линии рисовать - D3DXLine.
With best regards, Dmitri Roschin.
Спасибо!
А к памяти напрямую как-нибудь можно обратиться? Чтобы, например, пиксели
повключать.
Или как ещё пиксели трогать?
Best Regards,
Slava Tutushkin
Однажды, 10 декабря 2032 12:52, Slava Tutushkin писал(а) All:
ST> Поставил распоследний DX SDK.
ST> Как используя Direct Graphics и предлагаемый ими фрэймворк, рисовать в
ST> 2d? Пиксель, там, зажечь, спрайтик сблитить, прямоугольничек
ST> закрасить?
Ихный framework пользовать очень не советую.
ST> Очевидно, делать это надо внутри
ST> void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double
ST> fTime, float fElapsedTime )
ST> А вот что делать с этим pd3dDevice, как правильно выцепить surface,
ST> как на нём порисовать напрямую?
апиши свой маленький framework и используй, например, D3DXSprite вывода 2d.
Он правда кривой как смерть, так что потом все-равно придется переписывать под
textured quads.
Всего наилучшего, Михаил Казаков.
Best Regards,
Slava Tutushkin
ST> Спасибо!
ST> А к памяти напрямую как-нибудь можно обратиться? Чтобы, например,
ST> пиксели повключать.
ST> Или как ещё пиксели трогать?
Например, создаешь девайс с
D3DPRESENT_PARAMETERS::Flags=D3DPRESENTFLAG_LOCKABLE_BACKBUFFER лочишь
бэкбуфер LockRect'ом, меняешь биты, анлочишь. Но это медленно. Можно создать
текстуру в D3DPOOL_SYSTEMMEM и работать с ней, переодически скидывая в
бэкбуфер. Динамическую текстуру можно использовать.
Почитай MSDN, там это всё описано.