自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

NCTU_to_prove_safety的博客

浮世小舟,泛于湖上,随波逐流

  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

原创 #pragma comment(lib,"wsock32.lib")是干什么用的?

这句话的前面意思是静态加入一个lib文件,也就是库文件。这是告诉编译器在编译形成的.obj文件和.exe文件中加一条信息,使得 链接器在链接库的时候要去找wsock32.lib这个库,不要先去找别的库。(.exe文件找DLL 也是这种写法,例如 wsock32.dll).

2016-07-28 11:29:53 852

原创 Glut处理鼠标事件

检测鼠标单击要想在OpenGL中处理鼠标事件非常的方便,GLUT已经为我们的注册好了函数,只要我们提供一个方法。使用函数glutMouseFunc,就可以帮我们注册我们的函数,这样当发生鼠标事件时就会自动调用我们的方法。函数的原型是:void glutMouseFunc(void(*func)(int button,int state,int x,int y));参数:fu

2016-07-24 15:13:25 327

原创 mouse

上一节我们讨论了怎么用GLUT的键盘函数跟OpenGL应用程序进行交互.现在来探讨鼠标的.GLUT的鼠标接口提供了一堆可选的事件来添加鼠标交互,来监测鼠标点击和鼠标移动. 监测鼠标点击事件和键盘事件一样,GLUT提供了响应鼠标点击事件的注册回调函数.函数名是glutMouseFunc,也是在程序的初始化语句中被调用.原型如下:void glutMouseFunc(v

2016-07-24 14:42:15 444

原创 C语言中 fp = fopen(filename, “rb”); 那个rb是什么意思啊

读写打开一个二进制文件,只允许读写数据。函数原型:FILE * fopen(const char * path,const char * mode);相关函数:open,fclose,fopen_s,_wfopen返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中参数说明:

2016-07-24 10:47:22 31257 1

原创 c++中vector的用法详解

vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.     用法:          1.文件包含:                首先在程序开头处加上#include以包含所需要的类文件vector          还有一定要加上using name

2016-07-24 10:25:27 447

原创 C++ vector 用法(#include <vector>)

vector是一种顺序容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可分配拓展的数组,它的随机访问快,在中间插入和删除慢,但在末端插入和删除快,而且如果你用.at()访问的话,也可以做越界检查。http://hi.baidu.com/jojopeng2008/blog/

2016-07-24 10:21:53 751

原创 glutMouseFunc

初学OpenGL,写了段关于glutMouseFunc函数的示例。新手,代码写的不规范的地方请指正。#include#includevoid display(){glClear(GL_COLOR_BUFFER_BIT);glPointSize(3);glBegin(GL_POINTS);glVertex2i(0,0);glEnd();glFlush();

2016-07-24 10:14:18 884

原创 OpenGL图形旋转

GLfloat        rtri;                        // 用于三角形的角度GLfloat        rquad;                        // 用于四边形的角度int DrawGLScene(GLvoid)                                // 从这里开始进行所有的绘制{       g

2016-07-24 10:12:38 789

原创 使用OpenGL实现3D立体显示的程序代码

#include "stdafx.h"#include "GL/glut.h"#include "stdlib.h"#include "stdio.h"#include "math.h"static int big = 0;static bool isLeftEye = false;#define PI 3.1415926const GLfloat R = 8.0;

2016-07-24 10:12:04 1511

原创 3D球体一个(纪念第一个opengl程序~~)

终于搞定第一个像样的简单opengl程序,不过纹理贴图部分目前还是一头雾水啊,明天一定将其搞定。 先上个实例图: 功能很简单,使用鼠标的左中右键分别设置球体颜色的  RGB参数以调整颜色。按a或d使球体旋转 代码如下[cpp] view plain copy// disp

2016-07-24 10:11:23 665

原创 Opengl绘制点

#include 2 3 void Display(void) 4 { 5 glClear(GL_COLOR_BUFFER_BIT); 6 glPointSize(2.0f); 7 glBegin(GL_POINT);//必须是加上s,要不然显示不了 8 glVertex2f(0.0f,0.0f); 9 glVertex2f(0.5f,0

2016-07-24 10:10:34 509

原创 标准模板库STL学习总结

标准模板库就是类与函数模板的大集合。STL共有6种组件:容器,容器适配器,迭代器,算法,函数对象和函数适配器。1、容器:容器是用来存储和组织其他对象的对象。STL容器类的模板在标准头文件中定义。主要如下所示①序列容器基本的序列容器是上面图中的前三类:关于三者的优缺点主要是:A:vector矢量容器:可以随机访问容器的内容,在序列末

2016-07-24 10:04:21 670

原创 OpenGL笔记2.1 角的顶点

一、点、直线和多边形我们知道数学(具体的说,是几何学)中有点、直线和多边形的概念,但这些概念在计算机中会有所不同。  数学上的点,只有位置,没有大小。但在计算机中,无论计算精度如何提高,始终不能表示一个无穷小的点。另一方面,无论图形输出设备(例如,显示器)如何精 确,始终不能输出一个无穷小的点。一般情况下,OpenGL中的点将被画成单个的像素(像素的概念,请自己搜索之~),虽然它可能足够小

2016-07-19 15:19:32 828

原创 高效学习OpenGL之执行多个显示列表glListBase(),glCallLists()

#include 002.#include 003.#include 004. 005.#define PT 1006.#define STROKE 2007.#define END 3008. 009.typedef struct charpoint {010.GLfloat   x, y;

2016-07-19 15:18:50 1423

原创 gluLookAt 函数详解

void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,                                   GLdouble centerx,GLdouble centery,GLdouble centerz,                                   GLdouble upx,GLdou

2016-07-19 14:31:16 458

转载 高效学习OpenGL之显示列表实例glCallList(),glGenLists(),glNewList(),glEndList()

#include 002.#include 003.#include 004.#include 005. 006.#define PI_ 3.14159265358979323846007. 008.GLuint theTorus;009. 010./* Draw a torus */011

2016-07-19 14:28:23 2236

转载 最简单的glut opengl程序

#include    #pragma comment(linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"" )    void myDisplay(void)  {      glClear(GL_COLOR_BUFFER_BIT);      glRectf(-0.5f, -0.5f, 0.5f, 0.

2016-07-19 13:42:28 554

原创 VB调用API函数

API函数快速入门--怎样在VB中声明和使用API函数--     一、在VB中声明API函数有两种方法:如果我们只在某个窗体中使用API函数,我们可以在窗体代码的General部分声明它:   声明的语法是:  Private Declare Function ...  Private Declare Sub.....  这里必须采用Private声明

2016-07-19 10:29:36 1477

原创 如何在VB中使用API函数

API函数是指,操作系统除了协调应用程序的执行、内存分配、系统资源管理外,同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务是一个函数),可以帮助应用程序达到开启视窗、描绘图形、使用周边设备的函数服务的对象的应用程序。  利用VBa使用API函数的方法:  (1)用Declare语句声明所要调用的API函数,若该函数无返回值,可声明为Sub过程;若有返回值,则可声明为Fun

2016-07-19 10:25:35 876

原创 回调函数

对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。    什么是回调函数?   简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。   为什么要使

2016-07-18 10:20:15 852

原创 Win32 API函数库

Win32 API函数库中已经为用户提供了一组用于高精度计时的底层函数,如果用户使用得当,计时精度可到1ms。这个计时精度,对于一般的实时系统控制完全可以满足要求。现将由BCB提供的重新封装后的一组与时间相关的主要接口函数(函数名、参数、功能与Win32API基本相同)说明如下: 1.DWORD timeGetTime(void) 返回从Windows启动开始经过的毫秒数。最大值为2的32次方

2016-07-18 10:10:34 644

原创 GetTickcount函数

GetTickcount函数:它返回从操作系统启动到当前所经过的毫秒数,常常用来判断某个方法执行的时间,其函数原型是DWORD GetTickCount(void),返回值以32位的双字类型DWORD存储,因此可以存储的最大值是(2^32-1) ms约为49.71天,因此若系统运行时间超过49.71天时,这个数就会归0,MSDN中也明确的提到了:"Retrieves the number of

2016-07-18 09:40:02 517

原创 windows多媒体定时器例程—C语言篇

今天收获不少,一口气解决了实时仿真中时钟中断和CPU执行效率的问题。当然这一切要归功于多媒体定时器的应用。其实网上有不少关于多媒体定时器应用的文章和例子,只不过这些程序一方面都是用C++编的,另一方面没有一个能完全正确运行的。没办法,只好自己编。经过一番周折,总算得一个能正常运行的例子。下面就是这个例子的C代码: #include #include #pragma co

2016-07-18 09:19:29 1745

原创 on error resume next用法

VBScript语言提供了两个语句和一个对象来处理"运行时错误",如下所示:On Error Resume Next语句 On Error Goto 0语句 Err对象简单介绍一下On Error Resume Next,On Error Goto 0,Err这三者On Error Resume Next语句和On Error Goto 0语句指明了当出现"

2016-07-14 11:04:24 376

原创 VB如何调用dll函数

假如我有个DLL,名为 asdfg.dll 它里面有一个函数 zxc(参数1,参数2) 我要用这个函数,该怎么写?1.在工程-引用中将asdfg.dll引用过来 2.dim AAA as asdfg  'asdfg是类模块的名称   Private Sub Form_Load()    dim x   Set AAA = New asdfg    x = AAA.zxc(参

2016-07-14 10:53:12 1452

原创 VB6.0 调用第三方dll

Public Declare Function OpenCom Lib "PCBDll.dll" (ByVal bComId As Byte, ByVal bByteSize As Byte, ByVal bStopBits As Byte, ByVal bParity As Byte, ByVal dwBaudRate As Long) As Long    Public Declare

2016-07-14 10:45:29 3903

原创 VB 引用外部DLL 开发 Activex Dll

VB 引用外部DLL  开发Activex Dll,项目开发需要,自学VB开发dll ,废话少说,直接上图、上文字。例子中外部DLL 的名称DC_CARD_DLL32.dll,其中有rf_test_com()、rf_link_com()两个方法。首先把DC_CARD_DLL32.dll放到windows/system32 或者保存工程的路径下。打开VB,新建工程--Acti

2016-07-14 10:43:50 648

原创 【VB技巧】VB静态调用与动态调用dll详解

【【请注意】】:在以下语法格式中,请注意 [函数名] 的【大小写】!!!静态与动态比较: 静态调用简单,动态调用麻烦;静态调用占用资源多,动态调用占用资源少;正所谓鱼和熊掌不可兼得。静态调用定义: 就是常用的申明API,一个DLL库里有很多的函数可供调用,把要用的申明即可。 比如:Public/Private Declare Function [函数名] Li

2016-07-14 10:30:14 841

原创 sizeof(float)是()类型表达式??

sizeof()是测试长度的函数,得出来的结果应该是float占的字节数,所以应该是整型表达式·

2016-07-13 16:53:03 7707

原创 使用OPENGL绘制一个带轨迹的小球

[-]使用OPENGL绘制一个带轨迹的小球大概的思路代码及其注释使用OPENGL绘制一个带轨迹的小球     程序绘制一颗白色小球,通过按下 M/m 键,小球会不断的在窗口中左右移动,并显示出漂亮的尾迹。     因为这是一篇教程,主要为了帮助OPENGL初学者了解一种绘制轨迹/拖影的方法,所以接下来就直接把代码贴上来,大家可以边看注释便敲代码。

2016-07-13 16:50:44 3637

原创 vc++中->表示什么?

这个是指针运算符,定义一个指针对象可以用->来存取其成员变量,相当于一般对象(非指针型)的点操作符,即. 举个例子:定义一个CDialog类的对象dlg,调用其DoModal()方法 dlg.DoModal() 而如果定义一个CDialog类的指针型对像dlg,调用其DoModal()方法形式则为 dlg->DoModal()

2016-07-13 14:08:37 451

原创 OpenGL使用glColorMaterial设置材质

一句话glColorMaterial的作用是用来在绘图的过程中实时的设置材质。通常情况下设置一个物体的材质需要以下这么5个属性需要设置。  glMaterialfv(GL_FRONT, GL_AMBIENT, no_mat);   glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);   glMaterialfv(GL_FRONT, GL

2016-07-13 14:00:53 2360

原创 TCHAR与_TCHAR有哪些不同?

#ifdef    _UNICODE/* * Include  for wchar_t and WEOF if _UNICODE. */#include /* * Use TCHAR instead of char or wchar_t. It will be appropriately translated * if _UNICODE is

2016-07-13 12:22:48 1553

原创 如何使用微软提供的TCHAR.H头文件

如何使用微软提供的 TCHAR.H 头文件?            如果你现在写的代码使用的是SBCS (ASCII)字符集,但是过一段时间后某个客户跟你说他们现在的系统只支持Unicode (wide-character)字符集,你怎么办呢?问题的答案就在微软给我们提供的tchar.h头文件里面!        通过研究msdn知道,微软为了方便程序写出能够使用不同字符集的通用代码,

2016-07-13 12:21:35 826

原创 从char/wchar_t到TCHAR .

原文:http://blog.csdn.net/phunxm/article/details/5082618一.ANSI和UNICODE1.为什么要使用UNICODE? (1) 可以很容易地在不同语言之间进行数据交换。(2) 使你能够分配支持所有语言的单个二进制.exe文件或DLL文件。(3) 提高应用程序的运行效率。Windows 2000是使用UNICODE从头进行开发

2016-07-13 12:20:06 993

原创 OpenGL之GLEW安装

下载链接:  https://sourceforge.net/project/downloading.php?group_id=67586&filename=glew-1.5.1-win32.zip  点击上面的链接下载最新的GLEW(支持OpenGL 3.0),解压,将 /bin/glew32.dll 拷贝到 c:/windows/system32 下面,将 /lib/glew32.li

2016-07-13 10:33:50 980

原创 配置freeglut和glew

目录(?)[+]一 配置freeglutGLUT 代表OpenGL Utility Tookit。Mark J.Kilgard 为了使OpenGL应用程序结构能够真正独立于窗口系统构思了GLUT库。Freeglut是一个GLUT的开源实现。具体配置步骤如下: 下载freegluthttp://nchc.dl.sourceforge.net/pro

2016-07-13 10:12:25 370

原创 在Windows/Ubuntu下安装OpenGL环境(GLUT/freeglut)与跨平台编译(mingw/g++)

GLUT/freeglut 是什么? OpenGL 和它们有什么关系?OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用。如果需要在程序里直接使用OpenGL,会有很多非常恶心的预备工作要做,而且可能还要专门为平台的差异写一些代码。要跳过这些工作,可以用一个utility库,直接使用它提供的函数,就不用操心那些细节了。这样的库新一点的有GLEW,因为开

2016-07-13 09:59:08 1930

原创 第一个简单的 OpenGL 应用程序

OpenGL默认坐标系:我们再看一下glVertex*指定顶点的代码:glVertex3f(-0.5, -0.5, 0.0);glVertex3f(0.5, -0.5, 0.0);glVertex3f(0.5, 0.5, 0.0);glVertex3f(-0.5, 0.5, 0.0);    为什么上述就指定了一个矩形的四个顶点呢?需要说明的是,在OpenGL中

2016-07-10 16:11:43 488

原创 翻写Nehe的OpenGL教程

最近在重学OpenGL,之所以说重学是因为上次接触OpenGL还是在学校里,工作之后就一直在搞D3D,一转眼已经毕业6年了.OpenGL这门手艺早就完全荒废了,现在只能是重学.学习程序最有效的办法是动手写,光看书是不行了,因为看书的时候很容易陷入对人类两大难题的思考中,以至于进展缓慢.这两大难题是:这特妈是啥?那特妈又是啥?在重学的过程中,我翻写了Nehe所有的OpenGL教程DEMO.本来打算把

2016-07-10 16:08:53 747

FX三菱电机

程序 数据 格式

2016-05-20

空空如也

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

TA关注的人

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