directx-9

    0熱度

    1回答

    僅使用一個平移矩陣時,多個網格物體在屏幕上會出現重疊。 我試過的解決方案是創建多個平移矩陣來爲每個網格設置不同的初始xyz座標。它可以工作,但是就使用的代碼行數而言,這種方法效率很低。 (最終的項目可能會包含20多個網格,所以我希望不需要使用基本相同的代碼段來創建20個不同的翻譯矩陣)。 我非常感謝任何關於以最有效的代碼使用方式呈現多個網格的最佳方式(即最少重複次數最少的指令)。 這只是一個小型的

    1熱度

    1回答

    我打算使用DirectX,所以我使用的是directxtutorial.com教程。當我運行我的遊戲時,它具有非常高的CPU使用率。它需要我的處理器的第一個核心的所有權力。我有賽揚e3400。我認爲這遠遠超過我需要無任何運行我的遊戲。 對不起,這堆的代碼。我不知道什麼是錯的。 這裏是我的代碼: #include <windows.h> #include <windowsx.h> #includ

    0熱度

    2回答

    我按照這個教程:DirectX 9.0 Hooking via Injection via C++。因此,程序在啓動過程中創建一個遠程線程,注入我的鉤子,調用它的DllMain並掛鉤Direct3D9Create函數。 Detour Trampoline用於Direct3DCreate9掛鉤。整個Direct3D接口和設備接口被封裝。當遊戲調用Direct3D9Create時,它應該調用我的掛鉤函

    0熱度

    1回答

    我試圖將一些Direct2D繪圖合併到Ogre項目中。目前Ogre只支持DirectX9,這會導致使用Direct2D時出現一些問題。我的解決辦法就是這樣使用Direct2D將我的覆蓋圖繪製到png,然後使用DirectX將圖像繪製到精靈。我試着做這個方法,一旦繪製方法完成,精靈就會被破壞。首先的Direct2D繪圖代碼: void SceneManager::_initalize(void){

    6熱度

    1回答

    在:C++ \ Win32應用程序(不是全屏)\ DX9 我如何重繪窗口的內容中調整速度不夠快和好?調整大小==用戶拖動窗口邊框。 不同的方法:在每個WM_SIZE \ WM_PAINT 復位裝置。足夠的分辨率,但黑色條紋出現在快速高檔。 在WM_EXITSIZEMOVE上重置設備並在WM_ENTERSIZEMOVE上暫停渲染。最佳速度,但在調整大小時會產生醜陋的〜黑色條紋。 找不到在這種情況下如

    0熱度

    1回答

    [C++] {的DirectX 9} TL; DR:如何轉換表示在X軸局部旋轉到全球偏航浮法/音調/使用矩陣滾動? 因此,我寫了一個小遊戲,其中玩家被表示爲斧頭網格。鼠標移動時,播放器的視圖會水平旋轉(圍繞Y軸)。 [Here]是一個截圖,以獲得更好的想法。 所以我試圖讓按住鼠標來回擺動的斧子動畫。目前,我將播放器類中播放器的全局位置和旋轉值存儲爲變量(m_x,m_y,m_z,m_rotation

    0熱度

    1回答

    所以我試圖用bmp創建一些簡單的地形,我不知道如何訪問像素顏色來獲取它的RGB值作爲高度。我理解這個概念,而不是如何將其付諸實踐。這是迄今爲止的代碼。很感謝任何形式的幫助! CUSTOMVERTEX vecArray[256][256]; m_pSurface = nullptr; D3DXIMAGE_INFO imageInfo; ZeroMemory(&imageInfo, sizeo

    0熱度

    1回答

    我想創建一個紋理從指針到一個像素緩衝區格式BGRA,它不斷地更改/更新它的值。 我想畫這個紋理到每一幀左上角的屏幕。 使用我的一些XNA和OpenGL知識,我想出了一些,但我堅持讓紋理看到緩衝區的變化。我也不知道如何正確地繪製紋理,所以我創建了一個精靈(就像在XNA中一樣)。 我已經寫以下.. 的DirectX 9: void CreateSprite(IDirect3DDevice9* Devi

    0熱度

    2回答

    我想畫一個球體用C++其做用下面的代碼工作和DirectX: struct Vertex { D3DXVECTOR3 position; //float x, y, z; DWORD color; }; void myApp::createAndFillVertexBuffer(){ int radius = 1; float slices = 50; float stacks

    0熱度

    1回答

    我j使用一個無國界的窗口和複製從YouTube視頻設備復位代碼,並在那裏工作,但我只是從那裏得到消息: if(FAILED(hr)){ MessageBox(0, "Failed to reset device!", 0, 0); return; } 我哪裏錯了?我忘了InvalidateDeviceObjects()的東西嗎?我可以給你更多的代碼,但不是全部,因爲它太長