direct3d9

    2熱度

    1回答

    我正在使用自定義視頻播放器。我在我的架構中使用了DirectShow/Media Foundation的混合。基本上,我使用DS抓取VOB幀(不受MF支持)。我能夠從DirectShow獲得一個示例,但我堅持將它傳遞給渲染器。在MF中,我得到一個Direct3DSurface9(來自IMFSample),並使用IDirect3D9Device將其呈現在後備緩衝器上。 使用DirectShow,我得

    0熱度

    1回答

    我有一個表面(OffScreenPlain或RenderTarget與D3DFMT_A8R8G8B8),我從第三方函數複製像素(ARGB)到,。在像素複製之前,位由LockRect訪問。 這個表面然後是StretchRect到Backbuffer這是(D3DFMT_A8R8G8B8)。 Surface和Backbuffer是不同的尺寸。過濾設置爲D3DTEXF_NONE。 剛剛創建D3D設備後,我

    0熱度

    2回答

    我正在開發一個ActiveX視頻播放器。它是DLL中的進程內組件。我正在使用Visual Studio 2010.我需要它有一個單獨的線程,它會在組件加載時創建一次,創建Direct3D9對象和Direct3D9設備,然後停止組件卸載並銷燬這些對象。在組件正在運行時,我希望此線程定期調用TestCooperativeLevel,並在需要時重置D3D設備。 我這樣做是因爲客戶端應用程序可以創建我的播

    0熱度

    1回答

    有一個帶有自己的Direct3D設備的窗口,可以將其稱爲mainWindow。 mainWindow和它的東西是由其他人創建的。他們給了我一些他們在mainWindow上繪製的Direct3D曲面(IDirect3DSurface9指針)。 我從其中一個回調中啓動了一個線程,並使用winAPI創建了自己的窗口。 (我在this問題上有點類似的情況) 我想在窗口上繪製那些RTT輸出。所以我試圖將表面

    1熱度

    2回答

    與 的IDirect3DDevice9 :: CreateTexture 或 D3DXCreateTexture 它是保證被填充零 - 因爲在我看來,通過測試? 有沒有人有關於這個微軟的聲明的鏈接?我找不到任何東西。

    1熱度

    1回答

    事實上,這是一種技術的混搭,但我的問題(我認爲)的答案最接近於Direct3D 9.我掛鉤到一個任意的D3D9應用程序,在大多數情況下它是一個遊戲,並注入我自己的代碼來模仿EndScene函數的行爲。後臺緩衝區被複制到一個表面中,該表面被設置爲指向推送源DirectShow過濾器中的位圖。過濾器以25 fps採樣位圖並將視頻流傳輸到.avi文件。遊戲屏幕上顯示的文字覆蓋圖告訴用戶有關應該停止遊戲捕

    0熱度

    1回答

    我試圖補充ID3DXFont功能,將文本渲染到紋理,然後根據需要將其渲染爲ID3DXSprite.Draw()。 老(直接)的方式: ID3DXSprite *sprite; ID3DXFont *font; sprite->SetTransform(mw); font->DrawText(sprite, ...); 新(優化)的方式: RenderTextToATexture(text

    2熱度

    1回答

    如果之前有人問過我,請原諒我,我一直在尋找這一整天的答案,而我所提出的全部內容都是基於瓦片的2D遊戲的幫助。我想在Direct3D 9中創建一個可換膚的圖形用戶界面,使用一個XML文件,每個元素都有位置,並有一個選項可以拉伸或平鋪它們。拉伸是一個足夠簡單的過程,但我一直無法找到一種方法來平鋪紋理的一小部分。傳統上來說,我要將UV座標設置爲> 1.0,但源紋理座標只是整個紋理的一小部分,例如0.4到

    3熱度

    2回答

    我在OpenGl中創建了一個很好的粒子系統。當我想要獲得火焰或光束的燃燒效果時(系統類型「發光」並將所有顏色融合在一起),我使用OpenGL的這種方法調用。 glBlendFunc(GL_SRC_ALPHA,GL_SRC_ALPHA) glBlendFunc(GL_DST_ALPHA,GL_ONE) 現在我要做的使用Direct3D的 這裏同樣的事情是我曾嘗試: graphicsDevice

    6熱度

    1回答

    我們的Direct3D9應用程序完美的作品,如果我們完全啓動Windows,然後啓動它。 但是,如果我們調整Windows的啓動過程,以便Explorer不跑了,只是Windows和我們的應用程序啓動時,我們的應用程序變慢可怕。即使處於空閒狀態(通常接近於0),CPU消耗也會達到50%。 這可以通過啓動任務管理器,啓動瀏覽器並重新啓動我們的應用程序是固定的。但這是不可接受的。我們的應用程序必須運行