自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(8)
  • 资源 (2)
  • 收藏
  • 关注

原创 IOCP日记

GetCompleteIOStatus如果返回true,代表一个包出列,所有返回参数都有效;如果返回false,且overlapped为空,代表失败,其它参数也无效;如果返回false,且overlapped不为空,代表一个包出列,但I/O操作失败,其它参数值有效,需要GetLastError进一步获取错误原因;WSARecv的lpFlags参数必须传入地址,否则返回WSAEFAU

2013-08-20 09:55:59 197

原创 动态数组

1、动态数组是一个指向数组的指针;   例如有这样一个动态数组:   var    bu: array of integer;   begin    SetLength(bu, 20);    //ZeroMemory(@bu, 20*SizeOf(Int

2011-09-21 09:25:14 244

原创 关于GetGlyphOutline

1、使用GetGlyphOutline返回的字符位图数据中(使用GGO_BITMAP参数),行是以DWORD方式对齐的(Windows的限制),例如:字符的宽度为50,那么返回的数据中行是以8字节对齐的而在OpenGL的glBitmap函数中,数据的行是与字符的宽度对齐的

2011-09-21 09:23:23 407

原创 Delphi+COM+WideString

困扰了我好久的问题,终于弄明白了,TNND!Delphi+COM+WideString1、在COM中必须使用WideString,而不是AnsiString;2、如果接口样式是procedure GetStr(out ss: WideString)

2011-09-21 09:17:58 439

原创 Delphi中使用Interface的好处

1、实现多继承Delphi中的类是不能多继承的,我们可以通过Interface来间接实现:TComplexClass = class(TParentClass, Itest1, Itest2, Itest3)end; 2、生存期自管理Delphi中的Int

2011-08-12 10:18:33 873

转载 宏定义使用技巧:

宏定义使用技巧:1、把枚举值转换为字符串#define CaseEnum(e) case(e):printf(#e)2、利用二进制表达式得到编译期常量#define cat(a, b) a##bcat(1, 2) = 123、给标准断言添加描述性注释#define assertmsg(a,b) assert(a && b)void* p = NULL;assertmsg(p, "p is null

2008-09-25 16:03:00 260

原创 SOCKET无阻塞连接

SOCKET无阻塞连接下面的代码实现Socket 无阻塞 connect#include int APIENTRY shared_connect_nonb(int skt, const struct sockaddr* sa, int salen, int timeout){    int n, error, result = SOCKET_ERROR;    long noblock = 1; 

2008-09-25 11:18:00 327

原创 使用GDI+重画ListView

 我们使用GDI+的画刷渐变效果重画ListView,使ListView看起来更好看一些(好不好看得依个人爱好了!)1、在Delphi中新建一个Win32 Form的工程,在mainform上放置一个ListView;2、设置ListView的ViewStyle属性为vsReport;3、为ListView添加几个列;4、为ListView的Items添加几个测试数据;5、

2008-09-25 11:06:00 1292

3D图形编程指南 变换

第一章分析计算机硬件和在不同计算机平台上交互图形应用程序的设计实现。其中说明了计算机是如何显示图像的,以及计算机同用户的交互。在本章也讨论了几种计算机架构(操作系统),包括MS-DOS, MS-Windows, X-Windows, NeXTStep 和 MacOS。本章同时也讨论了软件移植的问题。   变换,包括投影变换,在第二章中讨论。本章说明了计算机在空间中如何处理点集的方法。同时也分析了旋转、平移和投影等基本变换及其计算机实现方法。   在第三章中,我们讨论如何在计算机屏幕上绘制图元(点、线段和多边形)。我们将要看到由光栅图形固有的离散性带来的问题以及其解决方案。   由于计算机屏幕的大小是有限的,在第四章中,我们分析在屏幕范围内裁剪图元的技术。只有虚拟场景中的点才能显示在屏幕上。同时也考虑了体裁剪技术。   变换、图元绘制和裁剪都是视处理的基本技术。在第五章,我们考虑两种不同的视处理方法:从世界到屏幕和从屏幕到世界。   我们要在虚拟世界中显示的对象通常是非常复杂的,包含了大量图元。在第六章,我们要讨论可能的使用多边形、简单曲线或曲面的建模方式。   由于不同图元组成的对象可能出现遮挡现象,观察综合对象的过程变得复杂了起来。在第七章中,我们讨论隐面消除算法,该算法使得对象在屏幕上能够正确地被显示出来,同时也减轻了计算上的压力。   为了真实地绘制场景,对观察者来说,只有几何结构可见性是不够的。颜色和照明是真实性的基本原则。在第八章中,我们分析如何在虚拟场景中导入照明。虚拟世界中多个对象的存在对诸如阴影和环境反射这样的照明效果带来了很大的麻烦。我们将要在本章中讨论如何在世界到屏幕以及屏幕到世界这两种视处理过程中对此进行计算。   最后,所有的算法必须以精确的方式在计算机程序中结合起来。在最后一章,我们讨论这一步是如何依据模拟虚拟场景的类型而完成的。同时我们也考虑编程范例,其中最引人注目的是面向对象编程,这种方法对3D图形应用的结构非常适宜。

2011-08-23

GDIPlus 编程指南

GDI+(Graphics Device Interface Plus图形设备接口加)是Windows XP和Windows Server 2003操作系统的子系统,也是.NET框架的重要组成部分,负责在屏幕和打印机上 绘制图形图像和显示信息。

2011-08-23

空空如也

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

TA关注的人

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