OLE控件在Direct3D中的渲染方法

OLE控件在Direct3D中的渲染方法 Windows上的图形绘制是基于GDI的, 而Direct3D并不是, 所以, 要在3D窗口中显示一些Windows中的控件会有很多问题 那么, 有什么办法让GDI绘制的内容在3D中显示出来?反正都是图像, 总有办法实现的嘛! 前段时间在研究浏览器在游戏中的嵌入, 基本的思路就是在后台打开一个浏览窗口, 然后把它显示的内容拷贝到一张纹理上, 再把纹理在D3D中绘制出来, 至于事件处理就要另做文章了. 所以, 其它的Windows里的GDI绘制的东西都可以这样来实现! 最初我是GetDC, 然后GetPixel逐像素拷贝, 慢得我想死..... 后来发现了BitBlt这一速度很快的复制方法, 才有了实用价值:...

2016-04-26 浏览量(438)

浅析RenderTarget的使用

  1. 设置一个RenderTarget会导致viewport变成跟RenderTarget一样大 2. 反锯齿类型必须跟DepthStencilBuffer一样 3. RenderTarget的类型必须跟DepthStencilBuffer的类型兼容, 可以用IDirect3D9::CheckDepthStencilMatch进行检测 4. DepthStencilBuffer的大小必须>=RenderTarget的大小 5. IDirect3DDevice9::SetRenderTarget的第0个不能为NULL...

2016-04-26 浏览量(350)

如何在WINDOWS下编译BOOST C++库

如何在WINDOWS下编译BOOST C++库 1)下载boost 需要下载2个东西: Packaged Releases VERSION 1.35.0 和 Boost Jam 3.1.16   你需要在每个条目下面找到Details | Download字样,点击Download,进入下载页。可是遗憾的是sourceforge站点被封了,所以通常你是无法下载的。。因此有必要使用某些特殊的工具来穿透这个封锁。我下载的是这个:...

2016-04-26 浏览量(205)

在windows上编译Mesa3d opengl32库

  Mesa3d是一套跨平台的opengl/es库, 它不提供编译好的二进制包,所以必须自己动手编译. Linux默认都带了这个软件, 因此Linux上直接用就可以了. 如果想在linux上的编译, 也比较简单, 本文不赘述.那么如何在Windows上编译这个库呢? Mesa3d官网给出了编译方法. 遗憾的是我在编译过程中出现了错误,编译失败.最后我总结出了正确的编译方法,具体过程如下:   我的系统是Windows7+VS2010   1) 下载MesaLib-9.0.zip, 解压到c:\NVPACK\MesaLib-9.0...

2016-04-26 浏览量(472)

Java JDK环境变量配置

  配置环境变量:右击“我的电脑”-->"高级"-->"环境变量" 1)在系统变量里新建JAVA_HOME变量,变量值为:C:\Program Files (x86)\Java\jdk1.8.0_11(根据自己的安装路径填写) 2)新建classpath变量,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar...

2016-04-26 浏览量(568)

C#(WPF)程序将Debug中的.exe文件放入注册表中启动,获取错误的当前路径

    编写的程序需要开机运行,又不想进入win7的桌面。这样可以通过修改注册表,把原来的explorer.exe换成需要启动的软件。 注意,比如.exe文件存在于D盘的Debug文件夹中,则用 D:\\Debug\\MySoftWare.exe替换 explorer.exe。   但是一定要注意的是,尽量不要有中文文件夹。        但是在该程序代码中需要获取当前路径,即在程序初始化的过程中需要读取Debug文件夹中的.ini文件。 ...

2016-04-23 浏览量(203)

WPF图片浏览器之删除图像功能

     用WPF做了一个图片查看器。初始化程序后,通过一个Listbox 将指定文件夹的Image加入界面上,并可以对加载的图片进行一系列的操作。比如删除操作。     之前在文章中讲过,如何解决Image控件的BitmapImage资源占用问题。解决了该问题,就可以对加载到界面上的图像进行删除操作。     C#自带的删除操作为:     File.Delete方法, 命名空间为System.IO    函数原型如下:...

2016-04-23 浏览量(542)

VS2015打开VS2010项目出现的问题解决方法

  电脑升级为win10,安装了vs2015。  但是用vs2015打开之前由vs2010创建的项目时,出现了一些问题,错误如下:...

2016-04-23 浏览量(807)

如何使用 LParam 和 RParam两个参数

如何使用 LParam 和 RParam两个参数 看看参数吧:  HWND很好理解,即消息要发到的那个window的句柄  WM_KEYDOWN就是要发送的消息了  那么,WPARAM 和 LPARAM呢?我们如何能获得两个参数具体是多少呢? 来吧 开始今天的blog...

2016-04-23 浏览量(608)

VS2015- GdiplusTypes.h(470) : error C3861 错误

  准库在<algorithm>头中定义了两个模板函数std::min() 和 std::max()。  通常用它可以计算某个值对的最小值和最大值。可惜在 Visual C++ 无法使用它们,因为没有定义这些函数模板。原因是名字min和max与<windows.h>中传统的min/max宏定义有冲突。为了解决这个问题,Visual C++ 定义了另外两个功能相同的模板:_cpp_min() 和 _cpp_max()。我们可以用它们来代替std::min() 和 std::max()。为了禁用Visual C++中的 min/max宏定义,可以在包含<windows.h>头文件之前加上:NOMINMAX...

2016-04-23 浏览量(285)