自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

转载 用C++11的std::async代替线程的创建

c++11中增加了线程,使得我们可以非常方便的创建线程,它的基本用法是这样的: void f(int n);std::thread t(f, n + 1);t.join();  但是线程毕竟是属于比较低层次的东西,有时候使用有些不便,比如我希望获取线程函数的返回结果的时候,我就不能直接通过thread.join()得到结果,这时就必须定义一个变量,在线程函数中去给这个变量赋值,然后join

2016-02-19 13:35:26 599

原创 创建COM对象

成功初始化COM库之后,线程就可以安全使用COM接口了。为了能够使用COM接口,你的程序首先应该创建一个实现接口的对象。一般来说,有两种方式创建COM对象:1.实现模块会提供创建对象的方法2.COM提供了一个函数CoCreateInstance

2016-02-17 10:31:02 914

原创 COM组件的错误处理

COM的函数会返回一个HRESULT类型的返回值来表明成功或者失败。HRESULT是32位的整型数据,最高位标记成功或者失败。0表示成功1表示失败。

2016-02-15 11:14:57 4027

原创 COM组件的初始化

任何一个使用COM组件的windows程序在初始化COM库的时候都要调用CoInitializeEx函数,每一个使用COM接口的线程必须单独调用这个函数。

2016-02-15 10:36:39 4207

原创 Windows编程之COM组件

什么是COM接口? COM即Component Object Model,到底是用来干啥的呢?如果你了解Java或者C#,你应该会很了解interface。在C++中,最接近接口概念的应该是虚类了,所谓虚类,就是只包含虚函数的类。

2016-02-02 14:25:55 6084

原创 Windows编程C++之第一个Windows程序

这篇文章主要是来介绍如何create一个最基本的windows程序。它创建的窗口是最基本的空白窗口,下面是对应的代码

2016-02-02 09:24:04 659

原创 Windows 编程之WinMain

每一个Windows程序都有一个程序入口点函数:WinMain或者wWinMain,下面是wWinMain的定义

2016-02-01 16:27:47 477

原创 Windows编程C++之句柄

什么是窗口?窗口是windows编程的核心,那什么是窗口?此时浮现在你脑中窗口的应该是这个样子的 这种类型的窗口叫做应用窗口或者主窗口,窗口内部的区域叫做client area,是由用户自己的程序管理的,窗口外的区域是由OS管理的。下图是另外一种类型的窗口。

2016-02-01 16:15:19 1647

原创 Windows编程数据类型概述 C++

如果你从来没有接触过windows编程,那么当你第一次看到windows程序的时候,你会晕了,因为满篇的DWORD_PTR 或者诸如 LPRECT一类的标识,所以,弄清这些标识符是有必要的。

2016-02-01 14:58:12 867

原创 Win10 TouchAPI

最近要做Win10的项目,故而研究了win10 的touch api,下面来描述它在Universal Windows Platform (UWP) apps的应用。

2016-01-29 10:00:16 2821 1

原创 C++ 友元关系

在封装中C++类数据成员大多情况是private属性;但是如果接口采用多参数实现肯定影响程序效率;然而这时候如果外界需要频繁访问这些私有成员,就不得不需要一个既安全又理想的“后门”——友元关系;

2016-01-28 10:23:35 382

原创 C++ 共享指针 shared_ptr

shared_ptr 由于C++不像java一样有自动回收内存机制,new对象后,都要手动的delete掉,当程序员忘记delete的时候,可能会发生访问内存异常错误。shared_ptr是为了解决这类问题而提出的,它是一种共享指针

2016-01-11 10:58:13 4223

原创 C#调用C++的方法

网上有很多C#调用C++的帖子,我之前走了不少弯路,现总结出来希望大家少走一些弯路,如果有什么不对的地方,欢迎大家随时纠正~

2016-01-06 15:12:46 561

原创 OpenGL(7)--渲染结果截图

渲染结果截图 OpenGL渲染的结果通常是3D图像,如果我们想把3D图像转换成2D图像保存下来呢?较为复杂的方法是利用帧缓存技术(FBO)来实现,我这里总结一种自用的较为简便的方式。

2016-01-06 13:26:37 1868 1

原创 OpenGL(6)--SharpGL

SharpGL OpenGL通常使用C++,如果想用C#来使用OpenGL呢?当然了,这也是没有问题的!我们可以使用SharpGL来完成。SharpGL是C#的OpenGL控件,利用它可以在.NET环境下调用OpenGL的API做三维图像。

2016-01-06 13:17:47 3316 1

原创 OpenGL(5)--太阳系和的日月地实现

太阳系和机器人的实现全局坐标系和局部坐标系 如果用全局坐标系的思想来考虑问题,那么必须要注意矩阵乘法的顺序和代码中的顺序是相反的。而用局部坐标系来思考的话,所有的操作都是针对于当前不断变化的坐标系,因此,矩阵乘法很自然的与他们再代码中出现的顺序一样。

2016-01-05 16:08:02 3480

原创 OpenGL(4)-Opengl矩阵变换

Opengl矩阵变换矩阵变换 Opengl中有很多坐标系,但实际上他们只是思考方式的不同。opengl渲染图形耳朵过程可以和照相机照相的过程类比起来。用照相机照相的过程分为如下几个步骤: 1. 把照相机固定在三脚架上面,对准场景(视图变换) 2. 对场景进行安排调整(模型变换) 3. 选择照相机的镜头,调整放大倍数(投影变换) 4. 确定最终照片的尺寸(视口变换)

2016-01-05 14:05:22 1215

原创 OpenGL(3)-OpenGL视角的计算

OpenGL视角 OepnGL绘图的过程中,让camera指向正确的方向比较容易,然而,在使用投影函数的过程中,一定要把物体放在裁剪范围之内,当绘制出来的物体大小不合适的时候,可能是由于使用了glPerspective()函数导致的,可以通过修改函数第一个参数的值来调整大小。那么第一个参数的角度(视角)是如何确定的呢?

2016-01-05 11:42:37 1716

原创 OpenGL(2)-3D绘图通俗解释

三维图像显示过程 对于二维图像的显示,我们通常是把buffer里的像素值逐一着色即可,通过不停的把每个像素进行着色,然后就可以绘制出来了.三维图像显示在二维的平面上就没有这么简单了。对于二维图像的显示,给我们的感觉像是在画布上着色,而三维图像的显示就相当于用照相机照相了。通过把三维转换成二维,就可以显示在照片上了。OpenGL中有很多封装好的函数可以实现三维图像的绘制

2016-01-05 11:28:00 1441

原创 OpenGL配置

OpenGL 配置

2016-01-04 10:54:13 448

Opengl 轨迹球

此代码可以利用鼠标控制物体,实现了轨迹球

2016-01-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除