OpenGL实现三维绘图

在三维绘图蓬勃发展的过程中,计算机公司推出了大量的三维绘图软件包。其中SGI公司推出的OpenGL,作为一个性能优越的图形应用程序设计界面(API)异军突起,取得了很大的成就。它以高性能的交互式三维图形建模能力和易于编程开发,得到了Microsoft、IBM、DEC、Sun、HP等大公司的认同。因此,OpenGL已经成为一种三维图形开发标准,是从事三维图形开发工作的必要工具。1、初始化OpenGL绘图环境  1.1 定义颜色格式和缓冲模式  OpenGL提供两种颜色模式:RGB(RGBA)模式和颜色索引模式(调色板)。在RGBA模式下所有颜色的定义用RGB三个值来表示,有时也加上Alph...
默认分类 | 2010-04-17 14:22 | 阅读 960 次 | 评论 0 条

Visual C++中OpenGL编程入门

OpenGL作图非常方便,故日益流行,但对许多人来说,是在微机上进行的,首先碰到的问题是,如何适应微机环境。这往往是最关键的一步,虽然也是最初级的。一般的,我不建议使用glut 包.那样难以充分发挥 windows 的界面上的功能.  下面介绍如何在 VC++ 上进行 OpenGL 编程。 OpenGL 绘图的一般过程可以看作这样的,先用 OpenGL 语句在 OpenGL 的绘图环境 RenderContext (RC)中画好图, 然后再通过一个 Swap buffer 的过程把图传给操作系统的绘图环境 DeviceContext (DC)中,实实在在地画出到屏幕上.  下面以画一条 ...
默认分类 | 2010-04-17 14:22 | 阅读 719 次 | 评论 0 条

OpenGL的一个测试例子

#include "windows.h"#include "gl/gl.h"#include "gl/glaux.h"#include "gl/glu.h" void myinit(void);void InitPalette(void);void DrawColorFans(void);void CALLBACK myReshape(GLsizei w,GLsizei h);void CALLBACK display(void); void myinit(void){ glClearColor(0.0,0.0,0.0,0.0); glClear(GL_COLOR_BUFFER_...
默认分类 | 2010-04-17 14:21 | 阅读 940 次 | 评论 0 条

Windows Socket API 使用经验

Windows Socket API 使用经验 2003-3-26 13:53:05 5XSOFT 唐纲 阅读次数: 35309 本文是我在进行MS-Windows、HP-Unix网络编程的实践过程中总结出来的一些经验,仅供大家参考。本文所谈到的Socket函数如果没有特别说明,都是指的Windows Socket API。一、WSAStartup函数 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 使用Socket的程序在使用So...
默认分类 | 2010-04-17 14:20 | 阅读 680 次 | 评论 0 条

VC程序开机时自动运行

//开机自动运行BOOL CXXX::SetAutoRun(CString strPath){CString str;HKEY hRegKey;BOOL bResult;str=_T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");if(RegOpenKey(HKEY_LOCAL_MACHINE, str, &hRegKey) != ERROR_SUCCESS) bResult=FALSE;else{_splitpath(strPath.GetBuffer(0),NULL,NULL,str.GetBufferSetLe...
默认分类 | 2010-04-17 14:18 | 阅读 1265 次 | 评论 0 条

解析VC中的消息传递机制

http://www.itbud.cn 摘要:Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析。    什么是消息?    消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变...
默认分类 | 2010-04-17 14:18 | 阅读 709 次 | 评论 0 条

初学vc时得一些记录(不是本人)

//////////////////////////////////////////////////////////// //得到屏幕的尺寸大小 HWND hWnd; CRect Rect; hWnd = ::GetDesktopWindow(); ::GetClientRect(hWnd, &Rect); //////////////////////////////////////////////////////////////添加托盘void CWorkSheetTrayDlg::AddTaskBarIcon(){ m_Nid.cbSize = sizeof(m_Nid...
默认分类 | 2010-04-17 14:16 | 阅读 6663 次 | 评论 0 条

在VC中改变控件的背景色

在VC编程中要改变控件(诸如CView, CFrameWnd, or CWnd等)的背景色可通过处理特定的消息来实现。但如果想改变按钮的颜色,就只能使用自绘制的按钮(也可以用位图按钮,此处未做说明)而不能通过OnCtlColor()改变。    一、在一个MFC应用程序中,要改变控件的背景色可通过重载OnCtlColor()函数来实现。方法是在该函数中设置所需颜色后再返回一个画刷句柄便可重绘控件背景色。OnCtlColor()函数对于控件背景色的处理是通过捕捉相应的控件消息来实现的。常用的此类消息有: CTLCOLOR_DLG 对话框 CTLCOLOR_EDIT 编辑框 CTLCOLOR...
默认分类 | 2010-04-17 14:15 | 阅读 649 次 | 评论 0 条

用VC进行屏幕截取编程

---- 屏幕截取是令人比较感兴趣的事情.虽然现在有不少应用程序如HYPERSNAP等可以用来截取你所喜欢的屏幕画面,但是如果能把这个功能加到自己的程序中,就更能利用它强大的作用. ---- 下面用VC来逐步介绍在Windows95下的实现过程.首先我们要确定屏幕截取的区域,用LPRECT结构来定义.可以截取一个窗口,或整个屏幕.以下代码把选定的屏幕区域拷贝到位图中. HBITMAP CopyScreenToBitmap(LPRECT lpRect) //lpRect 代表选定区域 { HDC hScrDC, hMemDC; // 屏幕和内存设备描述表 HBITMAP hBitmap, ...
默认分类 | 2010-04-17 14:14 | 阅读 650 次 | 评论 0 条

Visual C++实现Flash动画播放

摘要: 本文通过在VC中将外部swf格式文件内嵌为VC的内部资源,使其在程序运行过程中从资源动态释放到临时文件,从而实现VC对Flash动画的播放。    引言    Flash动画由于可以很方便地把用户的想象通过动画显现出来,使原本只属于专业制作人员的动画制作变的异乎寻常的快捷、方便。由于Flash制作的动画在层次、内容、表现形式等诸多方面均比较出色,因此在网络上得到迅猛的发展,更有不少厂商用Flash在互联网上做起了广告和产品演示,效果丝毫不比视频的差,而体积则要小的多。Flash不仅在网络上有广泛的应用,在普通的应用程序中也可以借助Flash实现一些VC、Delphi等编程语言所难...
默认分类 | 2010-04-17 14:13 | 阅读 663 次 | 评论 0 条

排序算法

排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法 对算法本身的速度要求很高。 而一般我们所谓的算法的性能主要是指算法的复杂度,一般用O方法来表示。在后面我将 给出详细的说明。 对于排序的算法我想先做一点简单的介绍,也是给这篇文章理一个提纲。 我将按照算法的复杂度,从简单到难来分析算法。 第一部分是简单排序算法,后面你将看到他们的共同点是算法复杂度为O(N*N)(因为没有 使用word,所以无法打出上标和下标)。 第二部分是高级排序算法,复杂度为O(Log2(N))。这里我们只介绍一种算法。另外还有几种 算法因为涉及树与堆的概念,所以这里不于...
默认分类 | 2010-04-17 14:12 | 阅读 600 次 | 评论 0 条
浏览46557次
文章分类