Direct2d制作小游戏的问题

图片说明

代码如上啦,然后现在的问题就是这样写的话,后面的那个pDeadCard原本是要载入对应的名为cards dead的图片,但是现在的情况是载入了前面的cards的图片,为什么!!!!!
求求求大神哈哈哈哈项目卡在这个位置了,之前好像也试过这样,但是不记得要加什么语句
上去解决这个问题了

1个回答

1111111111111111111111111111

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
win10 是否支持direct2d库开发

direct2d项目在win7上开发运行没有问题,在win10上运行有问题,游戏退出时容易卡顿和崩溃,现在要移植到win10系统,有什么好的解决方案? D2D是否支持win7以后的版本??

direct2d如何读取渲染矢量图

direct2d的概述文档中说道d2d是优秀的矢量图的渲染引擎,但是我搜索了帮助文档和接口,没有找到相关的处理矢量图的内容。请问direct2d不借助其他库,能否读取并渲染矢量图呢,比如svg文件,如果可以,d2d最擅长处理什么格式的矢量图(效率最高),能否给出相关资料的链接。如果需要借助其它库,哪些库比较好呢(目前有用gdal可以读取svg)?谢谢。

Direct2D c++ windows

Drect2d中用线填充多边形非常慢,用的是DrawLine()函数,为什么。请大师指点

Direct2d中PathGeometry遇到问题

调用D2dFactory的CreatePathGeometry方法后,pathGeometry的属性直接是异常 如图: ![图片说明](https://img-ask.csdn.net/upload/201712/03/1512268818_842624.png) 导致drawGeometry之后,endDraw出现异常,请问怎么解决

怎么用Direct2D绘制一个像素点?

官方文档中没看到有绘制点的调用,有直线和园矩形几何图形等,我就想绘制一个像素点

Direct2d中怎样实现双缓冲?

小白才接触directx,绘制了一个正方形想让其能够平滑的移动,但是尝试了D2D中很多接口函数都没用,一直存在闪烁现象。求指教

Direct2D 怎么关闭垂直同步,怎么全屏?

在硬件加速下,Direct2D帧数一直是60,找了几天了,还有我没发现有全屏的函数,在msdn里,命名空间里找了个遍 是不是都得喝D3D交互才能全屏和关闭垂直同步的?

direct2d怎么实现相对固定的时间 刷新游戏场景 而不是被迫接收到wm_paint消息后刷

比如gdi 可以写在消息循环里面 然后用gettickcount函数实现相对固定的时间刷新 但是direct2d貌似只能写在wm_paint消息里面 怎么实现这个功能呢 各位大神 谢谢

Direct2D 绘制大图 20000*2048失败,求教为什么?

``` C++ BOOL CMyDirect2D::LoadFile(LPCTSTR filename, CComPtr<ID2D1Bitmap> &pBitmap) { IWICBitmapDecoder *pDecoder = NULL; IWICBitmapFrameDecode *pSource = NULL; IWICFormatConverter *pConverter = NULL; IWICBitmapScaler *pScaler = NULL; //创建解码器 if (S_OK != m_pIWICFactory->CreateDecoderFromFilename(filename, NULL,//解码器 默认使用NULL GENERIC_READ, //对象访问权限 WICDecodeMetadataCacheOnLoad, //加载解码器时缓存元数据 WICDecodeMetadataCacheOnDemand -- 需要时加载 &pDecoder)) { MessageBox(NULL, L"CreateDecoderFromFilename failed!", L"Error", MB_OK); return FALSE; } //获得图像 pDecoder->GetFrame(0, &pSource); //创建转换器 m_pIWICFactory->CreateFormatConverter(&pConverter); //初始化转换器 -- 将帧转换为32bpppbgra HRESULT hr = pConverter->Initialize(pSource, //输入图像 GUID_WICPixelFormat32bppPBGRA, //目标像素格式 WICBitmapDitherTypeErrorDiffusion, //指定抖动模式 NULL, //调色板 0.f, //alpha阈值 WICBitmapPaletteTypeCustom //调色板转换类型 ); pBitmap = nullptr;//释放旧图片资源 //创建位图 hr = m_pRenderTarget->CreateBitmapFromWicBitmap( pConverter, NULL,//要创建的位图的像素格式和dpi。像素格式必须与wicbitmapsource的像素格式匹配,否则方法将失败。 //为了防止不匹配,可以传递null或传递从调用d2d1::pixelformat助手函数获得的值,而无需指定任何参数值。 //如果dpix和dpiy均为0.0f,则使用默认dpi 96 &pBitmap ); if (S_OK != hr) { MessageBox(NULL, L"CreateBitmapFromWicBitmap failed!", L"Error", MB_OK); SAFE_RELEASE(pDecoder); SAFE_RELEASE(pSource); return FALSE; } SAFE_RELEASE(pDecoder); SAFE_RELEASE(pSource); SAFE_RELEASE(pConverter); SAFE_RELEASE(pScaler); return TRUE; } ``` --- ## 问题代码出现在 CreateBitmapFromWicBitmap 上面 ## hr 的错误是参数不正确,经过检查 上一步已经获得到正确的 pConverter 可是让然告诉我参数不正确,表示疑问。 ## 而且还有一个问题 同样的代码 我加载一张小图 10000* 2048都是可以的,偏偏这个20000 * 2048的不行,求助各路大牛支援我一下。 ## 在此深表感谢

编译Scintilla的问题,老是提示Direct2D is not available

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC>nmake -f C:\Users\Administrator\Desktop\scintilla\win32\scintilla.mak Microsoft (R) 程序维护实用工具 12.00.21005.1 版 版权所有 (C) Microsoft Corporation。 保留所有权利。 Direct2D is not available NMAKE : fatal error U1073: 不知道如何生成“../src/AutoComplete.cxx” Stop. 真不知该如何做了,求解.....

关于DirectX的游戏问题

怎么把手模型固定住,造成第一视角的感觉?类似第一人称射击的视角。

aix系统direct io写透问题

网络上查到一些资料,说明open函数使用O_DIRECT标志 _可以避免小型机掉电时数据丢失。 但是,经过测试显示掉电时有数据丢失。测试环境如下: aix5 open+lseek+write,每次写4K数据,直接拔掉小型机的电源插头。 哪位大神帮忙分析一下,上述问题出在哪里?如何解决?谢谢!

oracle12.1 sqlldr 的direct方式导数据比“非direct方式导数据慢”,如何解决?

sqlldr 的**direct方式**, 数据入库用时44秒 . sqlldr 的**非direct方式**, 数据入库用时28秒. 如何解决多出的10多秒,如何做到direct方式比非direct入库要快? 据说oracle官方声称direct方式在1小时内能入100G数据。如何能做到? ###现在入库每秒3.6M,如何做到20M以上?? ##十分感谢 。 表已经设置了nologging ###要入库的文件 157M 000001_0.dat ___ tdlte_mro_pnn_grid50_cell_day1.ctl 文件内容: ```sql UNRECOVERABLE load data infile '/home/day_to_ora/20180829/MRO_TDLTE_MRO_PNN_GRID50_CELL_DAY1/000001_0.dat' append INTO TABLE TDLTE_MRO_PNN_GRID50_CELL_DAY1 Fields terminated by x'01' trailing nullcols ( SDATE DATE "YYYY-MM-DD" , CITY "replace(:CITY,'NULL')" , SC_ECI "replace(:SC_ECI,'NULL')" , GRIDX "replace(:GRIDX,'NULL')" , GRIDY "replace(:GRIDY,'NULL')" , NUM_HOURS "replace(:NUM_HOURS,'NULL')" , MAX_AVGRSRP "replace(:MAX_AVGRSRP,'NULL')" , MAX_MAXRSRP "replace(:MAX_MAXRSRP,'NULL')" , AVG_SCRSRP "replace(:AVG_SCRSRP,'NULL')" , MAX_SCRSRP "replace(:MAX_SCRSRP,'NULL')" , MIN_SCRSRP "replace(:MIN_SCRSRP,'NULL')" , RSRP_SAMPLES "replace(:RSRP_SAMPLES,'NULL')" , AVG_SCRSRQ "replace(:AVG_SCRSRQ,'NULL')" , MAX_SCRSRQ "replace(:MAX_SCRSRQ,'NULL')" , MIN_SCRSRQ "replace(:MIN_SCRSRQ,'NULL')" , RSRQ_SAMPLES "replace(:RSRQ_SAMPLES,'NULL')" , AVG_ULSINR "replace(:AVG_ULSINR,'NULL')" , MAX_ULSINR "replace(:MAX_ULSINR,'NULL')" , MIN_ULSINR "replace(:MIN_ULSINR,'NULL')" , ULSINR_SAMPLES "replace(:ULSINR_SAMPLES,'NULL')" , ULSINR_0 "replace(:ULSINR_0,'NULL')" , AVG_DLSINR "replace(:AVG_DLSINR,'NULL')" , MAX_DLSINR "replace(:MAX_DLSINR,'NULL')" , MIN_DLSINR "replace(:MIN_DLSINR,'NULL')" , DLSINR_SAMPLES "replace(:DLSINR_SAMPLES,'NULL')" , DLSINR_N3 "replace(:DLSINR_N3,'NULL')" , DLSINR_0 "replace(:DLSINR_0,'NULL')" , DLSINR_3 "replace(:DLSINR_3,'NULL')" , DLSINR_10 "replace(:DLSINR_10,'NULL')" , DLSINR_15 "replace(:DLSINR_15,'NULL')" , DLSINR_20 "replace(:DLSINR_20,'NULL')" , DLSINR_25 "replace(:DLSINR_25,'NULL')" , DLSINR_B25 "replace(:DLSINR_B25,'NULL')" , POOR_RSRP105_SINRN3 "replace(:POOR_RSRP105_SINRN3,'NULL')" , POOR_RSRP105_SINR0 "replace(:POOR_RSRP105_SINR0,'NULL')" , POOR_RSRP105_SINR3 "replace(:POOR_RSRP105_SINR3,'NULL')" , POOR_RSRP110_SINRN3 "replace(:POOR_RSRP110_SINRN3,'NULL')" , POOR_RSRP110_SINR0 "replace(:POOR_RSRP110_SINR0,'NULL')" , POOR_RSRP110_SINR3 "replace(:POOR_RSRP110_SINR3,'NULL')" , POOR_RSRP115_SINRN3 "replace(:POOR_RSRP115_SINRN3,'NULL')" , POOR_RSRP115_SINR0 "replace(:POOR_RSRP115_SINR0,'NULL')" , POOR_RSRP115_SINR3 "replace(:POOR_RSRP115_SINR3,'NULL')" , POORCOVERAGE120 "replace(:POORCOVERAGE120,'NULL')" , POORCOVERAGE115 "replace(:POORCOVERAGE115,'NULL')" , POORCOVERAGE110 "replace(:POORCOVERAGE110,'NULL')" , POORCOVERAGE105 "replace(:POORCOVERAGE105,'NULL')" , POORCOVERAGE100 "replace(:POORCOVERAGE100,'NULL')" , POORCOVERAGE95 "replace(:POORCOVERAGE95,'NULL')" , POORCOVERAGE90 "replace(:POORCOVERAGE90,'NULL')" , POORCOVERAGE85 "replace(:POORCOVERAGE85,'NULL')" , POORCOVERAGE80 "replace(:POORCOVERAGE80,'NULL')" , POORCOVERAGE75 "replace(:POORCOVERAGE75,'NULL')" , POORCOVERAGE70 "replace(:POORCOVERAGE70,'NULL')" , POORCOVERAGE65 "replace(:POORCOVERAGE65,'NULL')" , POORCOVERAGE60 "replace(:POORCOVERAGE60,'NULL')" , POORCOVERAGE40 "replace(:POORCOVERAGE40,'NULL')" , AVG_GRID90_OVERLAPDU6 "replace(:AVG_GRID90_OVERLAPDU6,'NULL')" , AVG_GRID100_OVERLAPDU6 "replace(:AVG_GRID100_OVERLAPDU6,'NULL')" , AVG_GRID105_OVERLAPDU6 "replace(:AVG_GRID105_OVERLAPDU6,'NULL')" , AVG_GRID110_OVERLAPDU6 "replace(:AVG_GRID110_OVERLAPDU6,'NULL')" , AVG_GRID115_OVERLAPDU6 "replace(:AVG_GRID115_OVERLAPDU6,'NULL')" , GRID_CMCC_OVERLAP6NUM_90 "replace(:GRID_CMCC_OVERLAP6NUM_90,'NULL')" , GRID_CMCC_OVERLAP6NUM_100 "replace(:GRID_CMCC_OVERLAP6NUM_100,'NULL')" , GRID_CMCC_OVERLAP6NUM_105 "replace(:GRID_CMCC_OVERLAP6NUM_105,'NULL')" , GRID_CMCC_OVERLAP6NUM_110 "replace(:GRID_CMCC_OVERLAP6NUM_110,'NULL')" , GRID_CMCC_OVERLAP6NUM_115 "replace(:GRID_CMCC_OVERLAP6NUM_115,'NULL')" , GRID_CELL_SAMPLE_CELLNUM "replace(:GRID_CELL_SAMPLE_CELLNUM,'NULL')" , GRID_CELL_SAMPLES "replace(:GRID_CELL_SAMPLES,'NULL')" , RSRQ_N10 "replace(:RSRQ_N10,'NULL')" , RSRQ_N12 "replace(:RSRQ_N12,'NULL')" , RSRQ_N13 "replace(:RSRQ_N13,'NULL')" , RSRQ_N14 "replace(:RSRQ_N14,'NULL')" , RSRQ_N16 "replace(:RSRQ_N16,'NULL')" , RSRQ_N18 "replace(:RSRQ_N18,'NULL')" , MOD3NUM "replace(:MOD3NUM,'NULL')" , AVG_TA "replace(:AVG_TA,'NULL')" , MAX_TA "replace(:MAX_TA,'NULL')" , MIN_TA "replace(:MIN_TA,'NULL')" , TA_SAMPLES "replace(:TA_SAMPLES,'NULL')" , FREQ "replace(:FREQ,'NULL')" , EARFCN "replace(:EARFCN,'NULL')" , ENODEB "replace(:ENODEB,'NULL')" , SCENCATEGORY "replace(:SCENCATEGORY,'NULL')" , CELL_SAMPLES "replace(:CELL_SAMPLES,'NULL')" , CELL_SAMPLES_PROP "replace(:CELL_SAMPLES_PROP,'NULL')" , DATA_THP_KPI "replace(:DATA_THP_KPI,'NULL')" , DATA_THP_XDR "replace(:DATA_THP_XDR,'NULL')" , DATA_THP_RFD "replace(:DATA_THP_RFD,'NULL')" ) ``` ___ sqlldr 'xxxx/xIxx*xxx@192.xx.xx.xx:1521/ejb' control=/home/day_to_ora/20180829/MRO_TDLTE_MRO_PNN_GRID50_CELL_DAY1/tdlte_mro_pnn_grid50_cell_day2.ctl log=/home/day_to_ora/20180829/MRO_TDLTE_MRO_PNN_GRID50_CELL_DAY1/log.log bad=/home/day_to_ora/20180829/MRO_TDLTE_MRO_PNN_GRID50_CELL_DAY1/bad.bad multithreading=true direct=true parallel=true bindsize=75000000 skip_index_maintenance=true skip_unusable_indexes=true columnarrayrows=600000 readsize=750000000 streamsize=1750000000 date_cache=1000 silent=header,feedback real 0m44.696s user 0m19.164s sys 0m1.434s --- Table TDLTE_MRO_PNN_GRID50_CELL_DAY1: 464590 Rows successfully loaded. 0 Rows not loaded due to data errors. 0 Rows not loaded because all WHEN clauses were failed. 0 Rows not loaded because all fields were null. Date cache: Max Size: 1000 Entries : 1 Hits : 464589 Misses : 0 Bind array size not used in direct path. Column array rows : 600000 Stream buffer bytes:16777216 Read buffer bytes:750000000 Total logical records skipped: 0 Total logical records read: 464590 Total logical records rejected: 0 Total logical records discarded: 0 Total stream buffers loaded by SQL*Loader main thread: 1 Total stream buffers loaded by SQL*Loader load thread: 16 Run began on Sun Feb 23 18:14:46 2020 Run ended on Sun Feb 23 18:15:31 2020 Elapsed time was: 00:00:44.55 CPU time was: 00:00:20.31 --- ##以下为非direct方式: sqlldr 'xxxx/xIxx*xxx@192.xx.xx.xx:1521/ejb' control=/home/day_to_ora/20180829/MRO_TDLTE_MRO_PNN_GRID50_CELL_DAY1/tdlte_mro_pnn_grid50_cell_day2.ctl log=/home/day_to_ora/20180829/MRO_TDLTE_MRO_PNN_GRID50_CELL_DAY1/log.log bad=/home/day_to_ora/20180829/MRO_TDLTE_MRO_PNN_GRID50_CELL_DAY1/bad.bad parallel=true bindsize=607286400 readsize=607286400 streamsize=607286400 rows=200000 silent=header,fe edback value used for ROWS parameter changed from 200000 to 65534 Table TDLTE_MRO_PNN_GRID50_CELL_DAY1: 464590 Rows successfully loaded. 0 Rows not loaded due to data errors. 0 Rows not loaded because all WHEN clauses were failed. 0 Rows not loaded because all fields were null. Space allocated for bind array: 1487883936 bytes(65534 rows) Read buffer bytes:607286400 Total logical records skipped: 0 Total logical records read: 464590 Total logical records rejected: 0 Total logical records discarded: 0 Run began on Sun Feb 23 16:37:01 2020 Run ended on Sun Feb 23 16:37:30 2020 Elapsed time was: 00:00:28.75 CPU time was: 00:00:22.22

WIN32绘图滚动显示问题

WIN32做Direct2d的绘图软件,想实现绘图的缩放功能,我的想法是当缩放比例大于1时,窗口显示部分图形,其它部分通过拖动滚动条显示。但是我在写这部分内容的时候,发现一个问题,在初始化direct2d的绘图的时候,需要将绘图区域与主窗口大小绑定,代码如下: ``` // 初始化绘图目标 HRESULT hr = p_pFactory->CreateHwndRenderTarget( RenderTargetProperties(), HwndRenderTargetProperties(hwnd, { rect.right,rect.bottom }), &p_pRender ); ``` 我发现不管如何修改direct2d的的绘图区域,她始终只有主窗口客户区的大小,当绘图尺寸超过主窗口尺寸时,它会自动将绘图按比例缩放到客户区(ClientRect)尺寸的大小,无法实现滚动显示功能。 请问如何在不改变整个窗口大小的前提下,修改客户区的尺寸,来实现滚动条拖动显示功能?

DIRECT 3d 的2D 编程 这本书折覆餗的一个问题,检查是否支持窗口渲染,出错

我看这本书学习的,前面都可以,也是完全按照书来学习的,到这步,书上有一段检查 是否支持窗口渲染的程序,我编译却是错误: g_caps.Caps2&D3DCAPS2_CANRENDERWINDOWED 提示 这个宏没有定义, 书是DX8 我用DX9,我问下是否不是宏 变了,还是成员变了,请帮帮忙了。

C++ Direct游戏渲染速度慢

用了一个分离轴的碰撞检测,可是碰撞的时候总是来回震动,而实例中用的相同算法就不会震动。渲染用的到d3dxsprite,可是移动的时候总拖着一个尾巴。而示例代码中的却完全没有。渲染部分的代码都差不多。可能是什么原因呢?

android wifi-direct连接慢如何解决

小弟在开发android wifi-direct,当使用 WifiP2pConfig config = new WifiP2pConfig(); config.deviceAddress = device.deviceAddress; config.wps.setup = WpsInfo.PBC; mWifiP2pManger.connect(mChannel, config, new WifiP2pManager.ActionListener() {...} 来连接对端时,经常broadcatreceiver中十几秒以后才检测到连接上或者没有检测到连接上,这个问题如何解决?是我的连接代码有问题吗?

Direct3d9绘制的图形不能显示,求解!

## 小弟初学d3d,代码是完全按照教材来的,原本目的是显示一个正方形,可是最终只显示了蓝色的背景,其他的d3d代码也有此问题,急求大神解惑! 以下是源代码: ``` //-------------------------------------------------------------------------------------- // File: VertexBuffer.cpp //-------------------------------------------------------------------------------------- #include <d3d9.h> // Direct3D头文件 #define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } } wchar_t *g_pClassName = L"VertexBuffer"; // 窗口类名 wchar_t *g_pWindowName = L"顶点缓存示例"; // 窗口标题名 LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; // Direct3D设备接口 LPDIRECT3DVERTEXBUFFER9 g_pVertexBuf = NULL; // 顶点缓存接口 struct CUSTOMVERTEX { FLOAT _x, _y, _z, _rhw; // 顶点的位置 DWORD _color; // 顶点的颜色 CUSTOMVERTEX(FLOAT x, FLOAT y, FLOAT z, FLOAT rhw, DWORD color) : _x(x), _y(y), _z(z), _rhw(rhw), _color(color) {} }; #define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW | D3DFVF_DIFFUSE) HRESULT InitDirect3D(HWND hWnd); // 初始化Direct3D VOID Direct3DRender(); // 渲染图形 VOID Direct3DCleanup(); // 清理Direct3D资源 // 窗口消息处理函数声明 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); //-------------------------------------------------------------------------------------- // Name: WinMain(); // Desc: Windows应用程序入口函数 //-------------------------------------------------------------------------------------- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { // 初始化窗口类 WNDCLASS wndclass; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 窗口背景 wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); // 光标形状 wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); // 窗口小图标 wndclass.hInstance = hInstance; wndclass.lpfnWndProc = WndProc; wndclass.lpszClassName = g_pClassName; wndclass.lpszMenuName = NULL; wndclass.style = CS_HREDRAW | CS_VREDRAW; // 注册窗口类 if (!RegisterClass(&wndclass)) return 0; // 创建窗口 HWND hWnd = CreateWindow(g_pClassName, g_pWindowName, WS_OVERLAPPEDWINDOW, 100, 100, 640, 480, NULL, NULL, wndclass.hInstance, NULL); // 初始化Direct3D InitDirect3D(hWnd); // 显示、更新窗口 ShowWindow(hWnd, SW_SHOWDEFAULT); UpdateWindow(hWnd); // 消息循环 MSG msg; ZeroMemory(&msg, sizeof(msg)); while (msg.message!=WM_QUIT) { if (PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } else { Direct3DRender(); // 绘制3D场景 } } UnregisterClass(g_pClassName, wndclass.hInstance); return 0; } //-------------------------------------------------------------------------------------- // Name: WndProc() // Desc: 窗口消息处理函数 //-------------------------------------------------------------------------------------- LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_PAINT: // 客户区重绘消息 Direct3DRender(); // 渲染图形 ValidateRect(hWnd, NULL); // 更新客户区的显示 break; case WM_KEYDOWN: // 键盘按下消息 if (wParam == VK_ESCAPE) // ESC键 DestroyWindow(hWnd); // 销毁窗口, 并发送一条WM_DESTROY消息 break; case WM_DESTROY: // 窗口销毁消息 Direct3DCleanup(); // 清理Direct3D PostQuitMessage(0); // 退出程序 break; } // 默认的消息处理 return DefWindowProc( hWnd, message, wParam, lParam ); } //-------------------------------------------------------------------------------------- // Name: InitDirect3D() // Desc: 初始化Direct3D //-------------------------------------------------------------------------------------- HRESULT InitDirect3D(HWND hWnd) { // 创建IDirect3D接口 LPDIRECT3D9 pD3D = NULL; // IDirect3D9接口 pD3D = Direct3DCreate9(D3D_SDK_VERSION); // 创建IDirect3D9接口对象 if (pD3D == NULL) return E_FAIL; // 获取硬件设备信息 D3DCAPS9 caps; int vp = 0; pD3D->GetDeviceCaps( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &caps ); if( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT ) vp = D3DCREATE_HARDWARE_VERTEXPROCESSING; else vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING; // 创建Direct3D设备接口 D3DPRESENT_PARAMETERS d3dpp; ZeroMemory(&d3dpp, sizeof(d3dpp)); d3dpp.BackBufferWidth = 640; d3dpp.BackBufferHeight = 480; d3dpp.BackBufferFormat = D3DFMT_A8R8G8B8; d3dpp.BackBufferCount = 1; d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE; d3dpp.MultiSampleQuality = 0; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.hDeviceWindow = hWnd; d3dpp.Windowed = true; d3dpp.EnableAutoDepthStencil = true; d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8; d3dpp.Flags = 0; d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT; d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, vp, &d3dpp, &g_pd3dDevice); pD3D->Release(); // 创建顶点缓存 g_pd3dDevice->CreateVertexBuffer(6 * sizeof(CUSTOMVERTEX), 0, D3DFVF_CUSTOMVERTEX, D3DPOOL_DEFAULT, &g_pVertexBuf, NULL); // 填充顶点数据 CUSTOMVERTEX *pVertices = NULL; g_pVertexBuf->Lock(0, 0, (void**)&pVertices, 0); pVertices[0] = CUSTOMVERTEX( 220.0f, 120.0f, 0.5f, 1.0f, D3DCOLOR_XRGB(255, 0, 0)); // V0 pVertices[1] = CUSTOMVERTEX( 420.0f, 120.0f, 0.5f, 1.0f, D3DCOLOR_XRGB(0, 255, 0)); // V1 pVertices[2] = CUSTOMVERTEX( 220.0f, 320.0f, 0.5f, 1.0f, D3DCOLOR_XRGB(255, 255, 0)); // V2 pVertices[3] = CUSTOMVERTEX( 420.0f, 120.0f, 0.5f, 1.0f, D3DCOLOR_XRGB(0, 255, 0)); // V1 pVertices[4] = CUSTOMVERTEX( 420.0f, 320.0f, 0.5f, 1.0f, D3DCOLOR_XRGB(0, 0, 255)); // V3 pVertices[5] = CUSTOMVERTEX( 220.0f, 320.0f, 0.5f, 1.0f, D3DCOLOR_XRGB(255, 255, 0)); // V2 g_pVertexBuf->Unlock(); return S_OK; } //-------------------------------------------------------------------------------------- // Name: Direct3DRender() // Desc: 绘制3D场景 //-------------------------------------------------------------------------------------- VOID Direct3DRender() { g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(45, 50, 170), 1.0f, 0); g_pd3dDevice->BeginScene(); // 开始绘制 // 渲染正方形 g_pd3dDevice->SetStreamSource(0, g_pVertexBuf, 0, sizeof(CUSTOMVERTEX)); g_pd3dDevice->SetFVF(D3DFVF_CUSTOMVERTEX); g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 2); g_pd3dDevice->EndScene(); // 结束绘制 g_pd3dDevice->Present(NULL, NULL, NULL, NULL); // 翻转 } //-------------------------------------------------------------------------------------- // Name: Direct3DCleanup() // Desc: 清理Direct3D, 并释放COM接口 //-------------------------------------------------------------------------------------- VOID Direct3DCleanup() { SAFE_RELEASE(g_pVertexBuf); // 释放顶点缓存接口 SAFE_RELEASE(g_pd3dDevice); // 释放D3D设备接口 } ```

Delphi7使用ODAC v6.8 Direct模式连接Oracle数据库失败的问题

本人小白,请帮忙,没有币送. 问题是这样的: 我查阅了文档说ODAC Direct模式只需要TCP/IP协议就可以无端连接Oracle数据库, TOraSession.Options.Direct := True; TOraSession.Username := 'xxxxx'; TOraSession.Password := 'xxxxx'; TOraSession.Server := 'IP:Port:SID'; TOraSession.LoginPrompt := False; <以上只表示对TOraSession的实例进行相应设置> 原来代码运行的很好,一点问题没有。可是好景不长,5月份的勒索病毒来了, 没有勒索到BitCoin,但勒索到我的心了。应XX安全部要求需要关闭445端口及其 相关服务,这下好了,关闭Windows workstation服务, MD,无法连接到数据库了。 一连接就出现 要访问XXXXXX内存地址,读到0X00000008。一打开workstation 服务就好了。而ODAC里面没有Net部分的源码,只有dcu。 各位大神们有没有遇到相应的情况,如何解决?难道ODAC用了SMB协议连网?

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

MySQL性能优化(五):为什么查询速度这么慢

前期回顾: MySQL性能优化(一):MySQL架构与核心问题 MySQL性能优化(二):选择优化的数据类型 MySQL性能优化(三):深入理解索引的这点事 MySQL性能优化(四):如何高效正确的使用索引 前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的MySQL来说是必不可少的。但这些还完全不够,还需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

网上很多的文章和帖子中在介绍秒杀系统时,说是在下单时使用异步削峰来进行一些限流操作,那都是在扯淡! 因为下单操作在整个秒杀系统的流程中属于比较靠后的操作了,限流操作一定要前置处理,在秒杀业务后面的流程中做限流操作是没啥卵用的。

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

疫情后北上广深租房价格跌了吗? | Alfred数据室

去年3月份我们发布了《北上广深租房图鉴》(点击阅读),细数了北上广深租房的各种因素对租房价格的影响。一年过去了,在面临新冠疫情的后续影响、城市尚未完全恢复正常运转、学校还没开学等情况下...

面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?

点击上方“朱小厮的博客”,选择“设为星标”后台回复&#34;1024&#34;领取公众号专属资料本文以一个简单的程序开头——数组赋值:int LEN = 10000; int[][] ...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

Intellij IDEA 美化指南

经常有人问我,你的 IDEA 配色哪里搞的,我会告诉他我自己改的。作为生产力工具,不但要顺手而且更要顺眼。这样才能快乐编码,甚至降低 BUG 率。上次分享了一些 IDEA 有用的插件,反...

【相亲】96年程序员小哥第一次相亲,还没开始就结束了

颜值有点高,条件有点好

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

一图看完本文 一、 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为...

腾讯面试题: 百度搜索为什么那么快?

我还记得去年面腾讯时,面试官最后一个问题是:百度/google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜素引擎的原理是什么 然后我回答:百度爬取了各个网站的信息,然后进行排序,当输入关键词的时候进行文档比对……巴拉巴拉 面试官:这不是我想要的答案 我内心 这个问题我一直耿耿于怀,终于今天,我把他写出来,以后再问,我直接把这篇文章甩给他!!! 两个字:倒排,将贯穿整篇文章,也是面试官...

相关热词 c# 局部 截图 页面 c#实现简单的文件管理器 c# where c# 取文件夹路径 c# 对比 当天 c# fir 滤波器 c# 和站 队列 c# txt 去空格 c#移除其他类事件 c# 自动截屏
立即提问