- 博客(27)
- 资源 (20)
- 收藏
- 关注
转载 OSG拾取对应的实体
#include "stdafx.h" #include #include #include #include #include #include class CPickHandler:public osgGA::GUIEventHandler { public: CPickHandler(osgViewer::Vie
2016-06-25 21:12:46 3123
转载 OpenGL显示文字--显示字符
OpenGL并没有直接提供显示文字的功能,并且,OpenGL也没有自带专门的字库。因此,要显示文字,就必须依赖操作系统所提供的功能了。各种流行的图形操作系统,例如Windows系统和Linux系统,都提供了一些功能,以便能够在OpenGL程序中方便的显示文字。最常见的方法就是,我们给出一个字符,给出一个显示列表编号,然后操作系统由把绘制这个字符的OpenGL命令装到指定的显示列表中。当需要
2016-06-25 14:04:19 25182 12
原创 osg学习函数用法addPrimitiveSet +模型操作
addPrimitiveSet函数用来设置绘制的几何图形。DrawArrays 类的构造函数为osg::DrawArrays::DrawArrays ( GLenum mode, GLint first, GLsizei count ) ,mode是几何图形的类型,有:osg::Box[盒子],osg::Capsule[胶囊形],osg::Composit
2016-06-24 18:14:14 4406
转载 fopen()和fclose()的用法
一定要养成打开文件到使用玩完后关闭文件,否则该文件后面不可用。1.fopen()函数的用法fopen函数用于打开文件, 其调用格式为:FILE *fopen(char *filename, *type);fopen()函数中第一个形式参数表示文件名, 可以包含路径和文件名两部分。如:"B:TEST.DAT""C:\\TC\\TEST.DAT"注意:如果将路径写成"C:\
2016-06-23 13:30:41 1510
转载 CString文件路径 使用fopen打开
一般文件都是通过文件打开对话框获得的,文件路径是CSTring类型。有些人比较钟爱C语言的File格式,因此希望使用fopen函数,而该函数的第一个参数(文件路径)是char *类型的,故没法直接使用cstring类型。如果将cstring转成char *貌似也不行,因为cstring中隐藏了一些特殊字符的转义,如‘/’,这样在转换后的char *里没法识别文件路径。本人尝试通过在每个‘/’之后再
2016-06-23 12:22:37 1698
转载 链表学习(C语言实现)
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+] 今天将给大家讲述链表的学习心得。学习数据结构,毋庸置疑链表必须学好,后面的栈、队列、树、图都是以链表为基础的;链表的种类很多,有单链表、双链表、循环链表、非循环链表;在此,我们以非循环单链表为例,来讲链表的创建、求长度、排序、插入和排序。1.什么是链表 链表我的
2016-06-22 22:17:07 272
转载 OpenGL学习笔记——雾
使用fog步骤:1. enable. glEnable(GL_FOG); // 使用雾气2. 设置雾气颜色。glFogfv(GL_FOG_COLOR, fogColor);3. 设置雾气的模式. glFogi(GL_FOG_MODE, GL_EXP); // 还可以选择GL_EXP2或GL_LINEAR4. 设置雾的密度. glFogf(GL_FOG_DENSITY
2016-06-22 17:23:10 1230
转载 glOrtho()函数和glViewport()函数的理解
glOrtho是创建一个正交平行的视景体。 一般用于物体不会因为离屏幕的远近而产生大小的变换的情况。比如,常用的工程中的制图等。需要比较精确的显示。 而作为它的对立情况, glFrustum则产生一个透视投影。这是一种模拟真是生活中,人们视野观测物体的真实情况。例如:观察两条平行的火车到,在过了很远之后,这两条铁轨是会相交于一处的。还有,离眼睛近的物体看起来大一些,远的物体看起来小一些。
2016-06-21 21:55:37 902
转载 MFC下OpenGL绘图框架
1, 建一工程文件,我这里命名为first,现在first工程里面我们没有添加任何东西,所有的东西都是MFC自动帮我们创建的。2, 添加链接库。这一步很关键。打开菜单栏下的项目->属性->配置属性->链接器->输入->附加依赖项里加入OpenGL32.lib GLu32.lib GLaux.lib,如图 3, 加头文件,在stdafx里面添加opengl的头文件
2016-06-20 11:30:00 332
原创 关于 不能从const char *转换为LPCWSTR
不能从const char *转换为LPCWSTR在VC 6.0中编译成功的项目在VS2005 vs2005、vs2008、vs2010中常会出现类型错误。经常出现的错误是:不能从const char *转换为LPCWSTR如使用MessageBox(hwnd,"TEST",NULL,0)就会报错,如果使用强制转换(LPCWSTR)"TEST",虽然能够通过,但是编码会出错
2016-06-20 11:28:01 1078
原创 View如何使用对话框中的变量
CSearDlg dlg;dlg.DoModal();//模态CString s=dlg.m_StrDlg;Search(s);//既然对话框的参数不好在view中引用,那么就直接在对话框里面利用view函数
2016-06-20 11:26:00 606
转载 MFC单文档窗口添加按钮控件
原文:http://blog.sina.com.cn/s/blog_6d0cbb0301018u1w.html单文档的添加按钮不能像对话框直接拖按钮,需要手动添加。在MFC中的文档窗口中,所有的控件是需要动态创建也就是需要自己手动写代码去加的,在窗口的视图区创建一个按钮,我们需要完成如下步骤:1.找到视图类(类名一般是“项目名+View”,如我的是“CIma
2016-06-20 11:22:40 8079
转载 osgEarth2.7+vs2010+win7编译方法
1、首先在osg3.2目录中新建一个osgEarth文件夹,将所有包都下载到此文件夹中。2、下载相应的源码包以及依赖包,可在:http://pan.baidu.com/s/1o70sB6E 密码:n9l6,下载,它包括以下包,如下图所示:3、首先解压curl-7.46.0.zip,然后在curl-7.46.0目录中新建一个build,如下图所示:4、打开CMake,将c
2016-06-19 21:44:51 2440 1
转载 osgOcean+VS2010+Win7编译方法
1、首先要下载osgOcean-Source-1.0.1包,以及依赖包osgOcean-Resources-1.0.1、fftss-3.0-20071031,可在:链接:http://pan.baidu.com/s/1qXlu8A4 密码:hdbx,下载2、下载好之后,在D盘的osg3.2文件夹下创建一个osgOcean文件夹,并将下载的源码放到该文件夹下,并解压,如下图所示:3、
2016-06-19 21:43:08 874 1
原创 osg3.2.1+vs2010++QT5.4.2+win7 64编译方法
1、首先要下载程序包,可到:链接:http://pan.baidu.com/s/1bnUPZnL 密码:s2ko,下载,它包括:OpenSceneGraph-3.2.1-rc3.zip、osg-data-master.zip、3rdParty_VC10_x86_x64.zip2、在E盘创建一个osg3.2文件夹,将这三个文件放入到该文件夹内并解压,将解压的文件夹分别改为:OpenScene
2016-06-19 21:41:51 3236
原创 MFC使用按钮控件,满足条件下可用或者不可用
如果是绑定的菜单,响应UPDATE_COMMAND_UI消息,响应函数中pCmdUI->Enable(控制变量);然后在按钮中修改控制变量就可以了。如果是自定义菜单,获取子菜单对应的MENUITEM指针,同样是Enable控制。void COpenGLView::OnUpdateWanderfly(CCmdUI *pCmdUI){ // TODO: 在此添加命令更新用户界面处理程序代码
2016-06-19 12:14:16 1423
转载 MFC读写文件CStdioFile,CFile
CStdioFile类的用法(除此之外还有CFile,CArchive,CMemFile等等)。 MFC中使用CStdioFile类封装了C++运行时刻文件流的操作,流文件采用缓冲方式,支持文件模式和二进制模式文件操作,默认方式为文本模 式。 CStdioFile类从CFile类继承,具有如下三个构造函数: 1、CStdioFile():建立一个CStdioFile类的对象,但不
2016-06-18 14:33:39 2815
转载 MFC 打开保存文件对话框
一、打开文件夹:1、CFileDialog实现CFileDialog hFileDlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_READONLY, TEXT("支持的图像文件 (*.jpg;*.gif;*.bmp;...)|*.jpg;*.gif;*.bmp|专用Tiff图像文件(*.tiff;*
2016-06-18 14:31:53 797
转载 CArray的类成员函数和使用方法详解
CArray基础C++并不支持动态数组,MFC提供了一个CArray类来实现动态数组的功能。有效的使用CArray类,可以提高程序的效率。MFC提供了一套模板库,来实现一些比较常见的数据结构如Array,List,Map。CArray即为其中的一个,用来实现动态数组的功能。一、CArray类的构造函数CArray是从CObject派生,有两个模板参数,第一个参数就是CArr
2016-06-17 10:11:20 1812
转载 OpenGL学习笔记:拾取与选择
在开发OpenGL程序时,一个重要的问题就是互动,假设一个场景里面有很多元素,当用鼠标点击不同元素时,期待作出不同的反应,那么在OpenGL里面,是怎么知道我当前鼠标的位置是哪一个物体呢?OpenGL有一套机制,叫做Picking, 里面涉及到几个核心概念:1. selection mode. 选择模式2. name stack. 名字栈3. hit
2016-06-16 20:29:52 3824
转载 C++ 中MessageBox的常见用
本文介绍Borland C++中通用消息框的几种用法,来源于网络,转载自http://www.douban.com/note/40199603/ ann的日志,感谢原收集者。一 函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer; hWnd:对话框父窗口句柄,对
2016-06-16 11:03:21 2767
转载 OpenGL坐标转换总结
前面整理过一个,不过后来感觉不是很对,这里重新写一下。先解释一下这个问题,在OpenGL编程中,经常会需要与用户的交互,比如对视图进行指定点旋转,获取模型坐标点等。而这些操作最方便的就是通过鼠标进行操作,但鼠标只能获得屏幕坐标,那么如何转换到OpenGL世界坐标就成了一个亟待解决的问题。一、理论基础主要需要的是一些OpenGL观察流程相关知识,但也不是十分必要,大致了解即可。
2016-06-15 19:40:10 642
转载 在MFC状态栏显示时间
在MFC状态栏显示时间 c/c++ vc 在mfc状态栏显示时间在VC的控件中有个Status bar可以在窗体状态栏中添加日期和时间。其实通过简单的代码,你就能创建一个有时钟显示的状态栏,并且还能设置时钟栏的显示方式。举例如下:首先,用MFC AppWizard按默认方式创建一个多文档界面的应用程序框架。然后,编写代码:1)在String Tabl
2016-06-10 21:26:26 1599
转载 OpenGL三维坐标与二维坐标:gluProject 和 gluUnproject 的详解
简介:三维空间中,经常需要将3D空间中的点转换到2D(屏幕坐标),或者将2D点转换到3D空间中。当你使用OpenGL的时候,简单使用gluProject()和gluUnproject()函数就可以实现这个功能了。但这两个神奇的函数是怎样实现的,一直困扰着我,经过一番仔细研究,将自己的思路写在这里:gluPorject()先通过看代码,来一步一步分析它的数学原理吧!(其
2016-06-10 20:39:20 3493
原创 OpenGL链接
OpenGL链接 OpenGL官方网站: http://www.opengl.org/Nehe教程网站:http://nehe.gamedev.net/周炜的NeHe中文教程 http://www.owlei.com/DancingWind/
2016-06-10 17:01:07 403
转载 MFC:在状态栏最左边显示鼠标当前的坐标
MFC:在状态栏最左边显示鼠标当前的坐标 在view里添加鼠标响应函数OnMouseMove即可:void C xxx View::OnMouseMove(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CString str; str.Format (_T("x=%d,y=%
2016-06-10 15:49:20 1892
转载 OPENGL纹理
原文:http://hi.baidu.com/xingzuzi/blog/item/6b5f7c3707c88ff61a4cffba.html1. 创建纹理图像OpenGL要求纹理的高度和宽度都必须是2的n次方大小,只有满足这个条件,这个纹理图片才是有效的。 一旦获取了像素值,我们就可以将这些数据传给OpenGL,让OpenGL生成一个纹理贴图: glGe
2016-06-07 16:19:23 1009
OpenGL编程指南(第八版).part5
2017-04-17
OpenGL编程指南(第八版).part4
2017-04-17
OpenGL编程指南(第八版).part3
2017-04-17
OpenGL编程指南(第八版).part2
2017-04-17
OpenGL编程指南(第八版).part1
2017-04-17
OpenGL超级宝典.(第4版)+源码
2016-10-10
基于OpenGL的Android+3D游戏开发技术详解与典型案例(源码)
2016-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人