91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7.95MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-10-06
  • 語言: 其他
  • 標簽: D3D9??

資源簡介

利用D3D9創(chuàng)建紋理,進行不同D3D9設(shè)備之間的資源共享。

資源截圖

代碼片段和文件信息

#include?“MyD3D.h“
LPDIRECT3D9EX?d3dex?=?NULL;

MyD3D::MyD3D()
{
m_hSharedSurfaceHandle?=?NULL;
}


MyD3D::~MyD3D()
{
if?(m_pD3ddev)?m_pD3ddev->Release();
if?(m_pTexture)?m_pTexture->Release();
}

bool?MyD3D::CreateEx()
{
HRESULT?hr?=?Direct3DCreate9Ex(D3D_SDK_VERSION&d3dex);?//創(chuàng)建D3D此次不能用Direct3DCreate否則設(shè)置Texture的ShareHandle參數(shù)會失敗。
if?(hr?!=?D3D_OK)
{
return?false;
}
return?true;
}

HANDLE?MyD3D::GetSharedHandle()
{
return?m_hSharedSurfaceHandle;
}

bool?MyD3D::InitDev(HWND?window?HANDLE?hSharedHandle)
{
srand(time(NULL));

D3DPRESENT_PARAMETERS?d3dpp;
ZeroMemory(&d3dpp?sizeof(d3dpp));
d3dpp.Windowed?=?true;
d3dpp.SwapEffect?=?D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat?=?D3DFMT_X8R8G8B8;
d3dpp.BackBufferCount?=?1;
d3dpp.BackBufferWidth?=?TEXTUREW;
d3dpp.BackBufferHeight?=?TEXTUREH;
d3dpp.hDeviceWindow?=?window;
HRESULT?hr?=?d3dex->CreateDevice(D3DADAPTER_DEFAULT?D3DDEVTYPE_HAL?window?D3DCREATE_HARDWARE_VERTEXPROCESSING?&d3dpp?&m_pD3ddev);
//D3DCREATE_HARDWARE_VERTEXPROCESSING?和D3DCREATE_SOFTWARE_VERTEXPROCESSING?后者會更多的占用內(nèi)存。
if?(hr?!=?D3D_OK)??return?false;

if?(hSharedHandle?==?NULL)
{
//源創(chuàng)建紋理
HRESULT?result?=?m_pD3ddev->CreateTexture(TEXTUREW?TEXTUREH?1?D3DUSAGE_RENDERTARGET?D3DFMT_X8R8G8B8?D3DPOOL_DEFAULT?&m_pTexture?&m_hSharedSurfaceHandle);
if?(result?!=?D3D_OK)??return?false;
}
else
{
//目標創(chuàng)建紋理,格式大小必須與源相同才能共享。
HRESULT?result?=?m_pD3ddev->CreateTexture(TEXTUREW?TEXTUREH?1?D3DUSAGE_RENDERTARGET?D3DFMT_X8R8G8B8?D3DPOOL_DEFAULT?&m_pTexture?&hSharedHandle);
if?(result?!=?D3D_OK)??return?false;
}
return?true;
}

void?MyD3D::D3dSource(HWND?hwnd)
{
if?(!m_pD3ddev)?return;

int?r?=?rand()?%?255;
int?g?=?rand()?%?255;
int?b?=?rand()?%?255;
m_pD3ddev->Clear(0?NULL?D3DCLEAR_TARGET?D3DCOLOR_XRGB(r?g?b)?1.0f?0);//給表面緩沖區(qū)刷上顏色
m_pD3ddev->Present(NULL?NULL?NULL?NULL);//將緩沖區(qū)刷到屏幕上

IDirect3DSurface9*?pBackBuffer;
HRESULT?hr?=?m_pD3ddev->GetBackBuffer(0?0?D3DBACKBUFFER_TYPE_MONO?&pBackBuffer);//取得第一個表面緩沖區(qū)
if?(FAILED(hr))??return;

IDirect3DSurface9*?pSharedSurface?=?NULL;
m_pTexture->GetSurfaceLevel(0?&pSharedSurface);//取得紋理的最上層緩沖區(qū)(創(chuàng)建紋理時只建了一個緩沖區(qū))
hr?=?m_pD3ddev->StretchRect(pBackBuffer?NULL?pSharedSurface?NULL?D3DTEXF_NONE);//表面緩沖區(qū)拷貝到紋理緩沖區(qū)
if?(FAILED(hr))??return;

//free?resource
pBackBuffer->Release();
pSharedSurface->Release();
pBackBuffer?=?NULL;
pSharedSurface?=?NULL;
}

void?MyD3D::D3dOutcome(wchar_t*?filename)
{
WCHAR?out_file[1024]?=?{?0?};
CreateDirectory(filename?NULL);
swprintf(out_file?100?L“.//%s//Out_%d.bmp“?filename?cont);
D3DXSaveTextureToFile(out_file?D3DXIFF_BMP?m_pTexture?NULL);//將紋理存到文件
cont++;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4264??2018-06-13?16:52??D3DWin32Pro\D3DWin32Pro\D3DWin32Pro.vcxproj

?????文件???????1331??2018-06-13?16:52??D3DWin32Pro\D3DWin32Pro\D3DWin32Pro.vcxproj.filters

?????文件????????887??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Debug\D3DWin32Pro.Build.CppClean.log

?????文件????????106??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Debug\D3DWin32Pro.log

?????文件????????287??2018-06-15?10:30??D3DWin32Pro\D3DWin32Pro\Head.h

?????文件???????2887??2018-06-15?11:05??D3DWin32Pro\D3DWin32Pro\MyD3D.cpp

?????文件????????666??2018-06-15?10:47??D3DWin32Pro\D3DWin32Pro\MyD3D.h

?????文件???????1103??2018-06-15?10:31??D3DWin32Pro\D3DWin32Pro\MyGame.cpp

?????文件???????1321??2018-06-13?17:31??D3DWin32Pro\D3DWin32Pro\WinMain.cpp

?????文件????????979??2018-06-13?15:42??D3DWin32Pro\D3DWin32Pro.sln

????..A..H.?????24064??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro.v12.suo

?????目錄??????????0??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Debug\D3DWin32Pro.tlog

?????目錄??????????0??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Debug

?????目錄??????????0??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro

?????目錄??????????0??2018-06-15?11:09??D3DWin32Pro\Debug

?????目錄??????????0??2018-06-15?11:09??D3DWin32Pro

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out1\Out_0.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out1\Out_1.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out1\Out_2.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out1\Out_3.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out1\Out_4.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out1\Out_5.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out1\Out_6.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out1\Out_7.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out1\Out_8.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out1\Out_9.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out2\Out_0.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out2\Out_1.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out2\Out_2.bmp

?????文件????1048632??2018-06-15?11:09??D3DWin32Pro\D3DWin32Pro\Out2\Out_3.bmp

............此處省略12個文件信息

評論

共有 條評論