自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(235)
  • 资源 (24)
  • 收藏
  • 关注

原创 Ogre粒子系统简介

1、简介       粒子系统被用来作为在3D程序中产生多种视觉特效的基础。粒子系统特效在游戏中运用广泛,比如射击类游戏中的爆炸特效,烟雾特效,开枪时喷出的火焰,撞击时击出的火花等等多半由粒子系统实现。    粒子系统的基本单元是粒子,每个粒子一般具有形状、大小、颜色、透明度、位置、速度、加速度、方向、生命周期等属性。每一帧,粒子系统一般都会执行如下步骤:  (a)产生新的粒子,并赋予

2012-12-19 21:25:29 3051

原创 三维空间中的旋转变换

1、绕坐标轴旋转的公式:      (1)绕Z轴旋转       (2)绕X轴旋转       (3)绕Y轴旋转        以上的矩阵变换公式为 : P' = P * mat; 2、绕任意轴旋转的公式:      给定具有单位长的,则物体绕OA轴旋转变换的矩阵表示可确定如下: 3、绕任意轴旋转在Ogre中实现Ogre::Matrix3 I

2012-12-17 13:48:18 22095 2

原创 AABB轴向包围盒

AABB,Axis-Aligned Bounding Box,即通过两个三维向量作为对角点产生的与空间轴平行的长方体空间。在Ogre中通过类AxisAlignedBox来实现,该类中两个成员变量Vector3 mMinimum和Vector3 mMaximum是两个三维向量,分别表示长方体空间的对角点。    主要成员函数如下:1、提取最小角点和最大角点const Vector3& g

2012-12-11 22:48:31 2818

原创 碰撞检测

AABB(轴对齐包围盒)这个东西是碰撞检测的基础,和它类似的还有OBB(有向包围盒),由于OBB创建复杂,所以Ogre采用了AABB。最简单的碰撞检测:通过Ogre::SceneNode::_getWorldAABB()可以取得这个叶子节点的AABB(Ogre::AxisAlignedBox),Ogre::AxisAlignedBox封装了对AABB的支持,该类的成员函数Ogre::A

2012-12-11 14:06:46 987

原创 场景查询

场景管理的一个重要的功能就是场景查询,而ogre支持的场景查询方法包括:1、光线查询(Ray Queries);2、球体查询(Sphere Queries);3、边界盒查询(Bounding-Box Queries);4、边界平面查询(Bounding-Plane Queries);5、相交查询(Intersection Queries)。    光线查询: RaySc

2012-12-11 13:56:10 1033

原创 OpenGL多视口分割

OpenGL实现的多视口分割程序,同时也是OpenGL的一个简单的框架,可以根据自己的需要进行修改。        VS2008的环境配置,代码如下:// main.cpp#include #include "glFrame.h"int main(int argc, char** argv){ glutInit(&argc, argv); glutInitDisplayMo

2012-12-10 20:52:17 5278 2

原创 OGRE+VS2008环境搭建

最近在搞OGRE的学习,第一件事就是环境的搭建,遇到了很多问题,所以记录下来,为后来者借鉴。        下面分为四部分,介绍Ogre+Vs2008的环境配置:    1、下载软件并依次安装    2、配置环境    3、调试错误    4、个人遇到的问题 1、下载软件并依次安装。        下面的软件是我个人的版本,其他版本出现问题,不在本文讨论的内容之中。

2012-06-21 11:33:44 5506 4

原创 点关于直线的距离、垂足、对称点公式

下面通过两种直线方程的形式,求解点关于直线的距离、垂足、对称点公式。问题描述1:已知点的坐标(x0,y0),直线的方程为Ax+By+C = 0;求点到直线上的距离d、点在直线上的垂足(x, y)、点关于直线的对称点(x’, y‘)。解决方法:(1)距离:         d = ( Ax0 + By0 + C ) / sqrt ( A*A + B*B );         这个

2012-03-31 11:36:02 39012 3

转载 sd卡受损怎么修复

转载自:http://jingyan.baidu.com/article/b0b63dbfa9e3a74a4830701f.htmlsd卡受损怎么修复|浏览:83038|更新:2012-12-09 13:271234567分步阅读        SD卡(Sec

2014-04-12 08:51:25 4393 1

原创 Ogre场景中管道透明之后为黑色的问题

---------------------------------------------------------------------------------------------depth_write 设置此渲染通路的深度缓冲写入的状态是打开状态还是关闭状态。 格式: depth_write 如果深度缓冲写入处于打开状态,无论何时一个像素想要写入画面缓冲,深度缓冲都会

2014-01-06 10:57:24 1803

转载 Ogre-渐变背景色(gradient background)的实现

转载自:http://blog.csdn.net/hefee/article/details/6287341背景色在ogre里面是通过ViewPort类中的setBackgroundColour()这个成员函数实现的,不过此类只提供给单一颜色的设置!! 不过,我们可以通过间接的方法去创建渐变的背景色,下面详细介绍: 1. 重构Ogre::Rect

2014-01-05 22:47:08 2404 1

转载 运行时错误检查(/RTC)编译选项及实现原理

转载自:http://blog.csdn.net/magictong/article/details/6306820环境:VS2005前因后果:debug居然编不过!!!这里准备说4个例子,都是为了说明debug版本对于调试是很重要的,很多问题在调试版本下都会提前暴露出来。 注意:随意调整优化,可调试选项可能会遇到下面的编译错误:Command line error D8016

2013-12-30 21:46:18 1638

转载 运行时和编译时的安全性检查

发布日期 : 8/17/2004 | 更新日期 : 8/17/2004Microsoft Corporation适用范围:Microsoft® Visual C++® .NET 2003Microsoft® Visual C++® Toolkit 2003Microsoft® Visual Studio® .NET摘要:说明 Visual C++ 编译器和库在帮

2013-12-30 21:40:18 1978

转载 (转)fatal error C1853: precompiled header file is from a previous version of the compiler, or the pre

预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收到 C1853 编译器错误:fatal error C1853: 'pjtname.pch' precompiled header file is fr

2013-12-27 10:59:07 3207

转载 连接OPC服务器

CString strError; HRESULT hr=CoInitializeEx(NULL,COINIT_MULTITHREADED); CString strNode = _T("172.16.2.68"); CString strProID = _T("Kingview.view"); if (strNode.IsEmpty()) // local server { CL

2013-12-13 16:19:58 3114 1

原创 VS2008没有调试信息

个人测试可行的方法,分三步:打开项目->项目属性页 ,然后1、选择 配置属性->链接器->调试->生成调试信息 改为 是 2、选择 配置属性->C/C++ ->常规->调试信息格式 改为 用于“编辑并继续”的程序数据库(/ZI) 3、选择 配置属性->C/C++ ->优化->优化 改为 禁用(/Od)然后重新编译运行,没有再跳出“没有调试信息”的错误!

2013-12-06 10:59:01 2438

转载 关于OPC Client 编写

昨天又有人问我 OPC Client 编写,实际是他们不了解OPC 客户端的工作原理,要想写客户端程序,必须知道OPC对象, OPC逻辑对象模型包括3类对象:OPC server对象、OPC group对象、OPC item对象,每类对象都包括一系列接口。    OPC Server对象    主要功能为:1、创建和管理OPC Group对象;               

2013-12-05 19:57:39 21785 8

原创 Ogre中导入Max烘焙的模型(4)——Ogre与MAX的坐标变化

经常遇到OgreMAX导出Scene文件之后,导入到Ogre中发现,很多物体位置都不对了。有人发表过文章,说是调整坐标系:http://0flyingpig0.blog.163.com/blog/static/9937055620102105326527;也就是通过“选中模型后--->层次--->点击仅影响对象--->变换  即可将轴坐标重置为OgreMax导出的正常Ogre轴”,来统

2013-11-27 19:13:16 1579

原创 Ogre中导入Max烘焙的模型(3)—— OgreMax导出Scene

本文记录了MAX中烘焙之后,如何利用OgreMax插件导出Scene文件,并利用OgreMax WinViewer插件查看导出的模型效果是否正确。

2013-11-25 21:03:51 3720 1

原创 Ogre中导入Max烘焙的模型(2)—— MAX中烘焙

本文主要记录MAX中如何利用”渲染到纹理“的技术,烘焙材质,并把烘焙之后的材质指定给对象。

2013-11-25 20:06:18 2240

转载 Ogre中导入Max烘焙的模型(1)—— 渲染到纹理

渲染到纹理3ds Max 中的“渲染到纹理”工具可以将各种场景元素渲染或“烘焙”到纹理中,包括照明和阴影。可以在实时 3D 应用程序(如游戏)中使用这些特殊纹理,以减少渲染器的负担,从而提高帧速率。在本课程中,将介绍这一功能的基本用法。注意:本教程的所有必需文件都可以在 3ds Max 附带的教程文件光盘上找到。在执行教程之前,请将 \tutorials 目录从光盘复制

2013-11-22 17:00:08 4257

转载 Run-Time Check Failure #2

Run-Time   Check   Failure   #2  一般是栈被破坏,代码可能有缓冲区溢出一类的问题。Run-Time Check Failure #2 - Stack around the variable 's' was corruptedThis problem is caused when you try to write too much data

2013-11-20 21:58:40 7671

转载 并行编译加快 VS C++ 项目的编译速度

最近编译的项目都比较大,话说自己的电脑配置还行,但编译所花的时间还是很长,遇到需要重新编译整个项目的时候真的有回宿舍睡一觉的冲动。昨天一不小心被我发现了一款软件Xoreax IncrediBuild 今天用了一下,实在是太爽了,我把我们办公室的机器都连了起来,其中还有一台工作站,总共加起来22个CUP核,我试了一下实在是太拉风了。其实这款软件已经推出很久了,只是之前接触的项目都比较小,

2013-11-20 15:47:47 1448

转载 Cg编程

在计算机图形学领域,用计算机处理图形信息我们最先接触的通常是使用opengl和d3d这些图形编程接口,这些通常称为固定管线的编程,也就是程序员不直接操纵可编程的GPU,在常见的opengl的编程管线中,底层为我们设定了固定的渲染过程,程序员控制的只是这个过程中的各种参数。但是在有些情况下,尤其是硬件性能突飞猛进的今天,为了得到更好的效果,得到对图形计算更好的控制,就需要自己对GPU进行编程,这也就

2013-11-19 20:55:47 1338

转载 Ogre:render to texture

Ogre中可以渲染到纹理,这如同渲染到屏幕上一样,具体的使用方法是:1 先创建一个纹理,用于接受渲染的内容TexturePtr renderTexture=TextureManager::getSingleton().createManual("RT",ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,TEX_TYPE_2D,win

2013-11-19 20:12:19 1059

转载 Ogre:Animation(Ogre中的动画)

在Ogre中Animation是一块非常重要的部分,但是笔者在学习Ogre的动画时遗憾的发现关于Ogre中动画的资料非常的少,Ogre的sample中只有最简单的导入一个骨骼动画的例子,在网上也很少有人谈及,Ogre Wiki中的教程也是边边角角,不知这么重要的部分为什么不做一个全面的tutorial。我从网上的仅有的一些资料和自己的亲自试验总结了一下基本的Ogre动画的使用,当然Ogre的动画模

2013-11-19 19:42:54 975

转载 剖析ifstream打开含中文路径名文件失败的原因

最近写程序的时候遇到了使用ifstream打开含中文路径文件时失败的问题,在网上翻了一下,发现这是一个普遍遇到的问题,在很多人的博文中也都给出了一些解决技巧,但大多是转载的东西,很少对这个问题引发的原因有一个清晰、全面的解释。因此,我觉得有必要对该问题引发的原因作一个详细的剖析,希望对遇到同样问题的朋友们能有所帮助。首先,用一个简单的例子来重现一下我所遇到的问题:(1)在VS2008的“P

2013-11-19 09:37:58 1019

转载 Opengl中导入obj文件

首先,我们需要知道obj文件格式是什么样的,他的内部是如何储存模型的.利用ultra edit打开bunny.obj文件观察可以看到如下数据:我们猜想,这应该是顶点数据组,拖动滚动条后看到出现了左图的数据. ¨分析这些数据,不难猜想obj文件由若干行组成,每行开始有一个字母,用来标注改行数据所表示的意思,v应该是顶点,g应该是一个名字,观察到,f后紧跟着三个整数,由

2013-11-17 19:40:30 4805

原创 开源库的代码行数

1、Ogre源码:36万行左右,核心库16万行左右;2、Voreen源码:28万行左右,核心库23万行左右;3、VTK源码:好像是80万行左右,待测试;

2013-11-16 11:26:54 1752

原创 Ogre与MFC结合时的内存泄漏问题

转载自:http://hi.baidu.com/monboy/item/5e06ccefaa50a80c65db0091刚开始使用Ogre时总是碰到内存泄露,而且往往是一泄千里,等半分钟才能打完日志,我想这和Ogre中的大量大对象很有关系。下面就来分析一下内存泄露的产生原因。1. MFC中使用Ogre时发生的内存泄露这个问题比较有意思,其实并没有发生泄露,而是MFC自作主张的认为发生了

2013-11-16 11:10:31 798

转载 SPH算法简介(五):表面张力的计算

SPH算法简介(五):表面张力的计算2011年04月22日 |本网站遵守CC版权协议 转载请注明出自www.thecodeway.com    所谓表面张力,正如前面所讲,就是由于流体“试图减小表面积”而产生的力,这种力产生的效果非常有趣,它会使肥皂膜紧绷,使水滴变成球形,但在大部分SPH应用场合中,和其他力相比,表面张力产生的效果其实是微乎其微的,所以常常忽律表面张力的计算。  

2013-11-06 15:17:40 6874

转载 SPH算法简介(四):Hello,SPH

SPH算法简介(四):Hello,SPH2011年04月2日 |本网站遵守CC版权协议 转载请注明出自www.thecodeway.com    上几节,我们推导出一大推复杂无比的公式,似乎有点纸上谈兵,这节来点真的,写一个可以运行的SPH系统,下面就是SPH基本的运算流程初始化粒子,为每个粒子赋上初始位置根据公式3.7计算每个粒子的密度根据公式3.10计算每个粒子的压强根据公

2013-11-06 15:12:05 5510 5

转载 SPH算法简介(三): 光滑核函数

SPH算法简介(三): 光滑核函数2011年04月1日 |本网站遵守CC版权协议 转载请注明出自www.thecodeway.com    和其他流体力学中的数学方法类似,SPH算法同样涉及到“光滑核”的概念,可以这样理解这个概念,粒子的属性都会“扩散”到周围,并且随着距离的增加影响逐渐变小,这种随着距离而衰减的函数被称为“光滑核”函数,最大影响半径为“光滑核半径”。

2013-11-06 15:09:44 5921 1

转载 SPH算法简介(二): 粒子受力分析

SPH算法简介(二): 粒子受力分析2011年03月31日 |本网站遵守CC版权协议 转载请注明出自www.thecodeway.com    SPH算法的基本设想,就是将连续的流体想象成一个个相互作用的微粒,这些例子相互影响,共同形成了复杂的流体运动,对于每个单独的流体微粒,依旧遵循最基本的牛顿第二定律(2.1)    这是我们分析的基础,在S

2013-11-06 14:51:42 4967 1

转载 SPH算法简介(一): 数学基础

SPH算法简介(一): 数学基础2011年03月30日 |本网站遵守CC版权协议 转载请注明出自www.thecodeway.com    SPH(Smoothed Particle Hydrodynamics)算法是一种流体模拟算法,他的特点是简单快速,可以用在例如游戏这样的实时的交互软件中。SPH算法虽然简单,但要完全搞明白其中的原理和实现方法,也不是易事,写这个系列希望能全面介绍

2013-11-06 14:37:07 7600 2

原创 计算机图形学的论文检索网站

1、http://kesen.realtimerendering.com/主要包含了一下世界顶尖会议:SIGGRAPHSIGGRAPH AsiaEurographicsSymposium on Interactive 3D Graphics and GamesEurographics Symposium on RenderingACM

2013-11-04 11:16:45 2689

转载 基于SPH的流体模拟实践和一些技巧总结

转载自:http://blog.sina.com.cn/s/blog_6f638fb60100shw0.html SPH的流体模拟是目前大多数游戏所采用的模拟流体方法,特点是简单,十分容易实现,相比与基于Grid的Eulerian方法更加简单和高速,本文主要介绍一下使用SPH的流体模拟中一些常用的技巧和数据结构。目前流体模拟中常用的2类方法,分别代表了从2种不同的方面来解释

2013-10-27 18:11:21 3460

原创 MAX中制作空心圆柱/管道

MAX中制作空心圆柱/管道1、  创建自定义线条,并转换为实心圆柱2、  把实心圆柱转换为空心圆柱/管道 1、创建自定义线条,并转换为圆柱a)    以多线段为例,创建­->图形->线,按照如下设置创建多线段b)    选择角点,作圆角处理,选择->顶点->圆角c)     转换为可编辑多边形d)    修改径向属性,修改->渲染->径向完成后如下图

2013-10-25 11:47:35 5137

转载 C++为什么用引用

转载自:http://hi.baidu.com/chen_767/item/bf580c87c3d7bd28100ef3c3引用类型通常被用于主子函数间需要互相传递大量数据的设计之中, 从而减少大量数据经过堆栈的复制.在C语言中, 主子函数要对非全局变量实施写操作时, 只能通过传递实(形)参的指针(地址)来实现.直接使用指针很容易造成地址溢出的错误, 而用C++语言编制的同类程序中

2013-10-20 21:58:14 1326

转载 C++ 线程安全的单例模式

C++ 线程安全的单例模式废话不多说,常用的代码积淀下来。一、懒汉模式:即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety.使用double-check来保证thread safety.但是如果处理大量数据时,该锁才成为严重的性

2013-10-20 21:16:33 644

基于MFC实现简单的绘图

基于MFC实现简单的绘图,包括圆、椭圆、三角形、直线等简单的图形。在编写的过程中,主要熟悉MFC的DOC-VIEW机制。

2012-04-25

高斯函数、龙贝格算法、梯形算法的实现

完成了一点高斯函数、两点高斯函数、龙贝格算法、梯形算法的实现。环境是VS2008,基于控制台的可以和用户进行简单交互的程序。

2012-04-25

拓扑排序的实现

数据结构中拓扑排序的实现,基于控制台的输出,环境是VS2008.

2012-04-25

Huffman编码

1、借助Huffman树,实现Huffman编码,能够压缩和解压缩各种字符,包括中文; 2、实现了压缩的比例计算和和压缩性能分析,以及解压缩之后的文件与原文件的对比分析压缩的正确性; 3、实现过程中涉及了文件头和文件尾的处理,实现了堆的实现、Huffman的实现; 4、代码注释非常详细,尤其是Huffman编码和解码的流程以及解决方法的选择。

2012-04-25

求点关于直线对称点坐标的一种简便方法

求点关于直线对称点坐标的一种简便方法,绕过了求垂足的方法,直接求对称点坐标。形式简单,容易记忆。

2012-04-03

Qt最佳学习路线

Qt学习之路,网上别人整理的Qt的学习资料~讲的很详细,适合入门和提高~

2012-03-18

PHP最佳学习路线图

这个不用多说了,就是要学习PHP的计划和安排~很详细,足够你学几年的~

2012-03-18

Java最佳学习路线图

这个不用多说了,就是要学习Java的计划和安排~很详细,足够你学几年的~

2012-03-18

Asp.Net最佳学习路线图

这个不用多说了,就是要学习Asp.Net的计划和安排~很详细,足够你学几年的~

2012-03-18

C&C++优秀书籍

个人整理的C&C++的优秀书籍,也是网络上很多人推荐的书籍~ 书籍包括: 1、Effective C++(侯捷译 - 第三版).pdf; 2、Effective STL中文版(2001).pdf; 3、More Effective C++(中文版2000).pdf; 4、高质量 C&C++ 编程指南(2001).pdf; 5、深度探索C++对象模型.pdf; 6、Visual C++ 6.0程序员指南.pdf; 7、VisualC++MFC入门教程.chm; 8、MFC深入浅出李进久.chm; 9、WINDOWS核心编程.chm;

2012-03-18

精通Qt4编程

本书详细介绍了qt的基础知识和gui编程应用,举例翔实,内容全面,基本涵盖了qt编程的各个方面。全书共分3篇25章,包括qt gui编程的基础知识(对话框、基础窗口部件、程序主窗口、布局管理)、中级编程(2d绘图、拖放操作与剪贴板、文件处理、网络编程、多线程、事件机制、数据库及qt风格)和高级应用(xml应用、模型/视图结构、高级绘图、进程间通信、qt插件和脚本应用、多媒体、浏览器、动画及状态机等)。同时,在相关章节也穿插了一些重要的知识点,包括元对象系统、属性系统、对象树机制、信号/槽机制等。

2012-03-18

Qt Model View框架

Qt中的Model和View的框架的详细描述~

2012-03-18

Qt 类层次结构图

Qt 4.2 的类层次结构图~最近在用Graphics View框架,所以看这个思路和结构清晰多了~

2012-03-18

acis在vc6.0下的配置

讲述acis系统在vc6.0环境下的配置。

2011-10-08

ACIS基础培训课程

共3个ppt,这是第一个,主要讲述了acis概述、主要功能、组织架构、scheme语言等。

2011-10-08

ACIS系统简介

讲述了acis系统的整体架构,模型的B-rap边界表示法,包含的几何信息和拓扑信息及其对应的几何类和拓扑类。适合acis初学者和对acis系统架构、模型的几何信息和拓扑信息等概念模糊不清的研究人员。

2011-10-08

Avi-Bmp源码 实现avi视频文件和Bmp图片序列之间的转换

基于MFC的对话框,实现avi视频文件转换为bmp图片序列,和bmp图片序列转换为avi文件的功能。

2011-05-10

AVIGenetator 源码 视频压缩和解压缩

基于VC++6.0环境下的MFC,能产生压缩的avi视频文件。整个框架已经写好了,也可以增加自己的代码。

2011-05-10

局域网技术(包括计算机网络的基础知识和局域网技术)

详细讲解了计算机网络的基础知识,又在此基础上详细讲解局域网技术,适合于初学者和想深入了解局域网技术的同学。

2010-06-25

LINUX_命令大全

详细讲解了Linux的很多命令,既适合初学者,又适合想要深入了解Linux的兴趣爱好者。

2010-06-25

Linux入门安装命令技巧等

讲解了Linux入门,安装,命令等,共六章!

2009-10-28

查找算法的多种方法的源文件集合

主要是查找的算法及其实例,如,折半查找,还有二叉排序树等。查找是软件设计中的最常用的运算,查找所涉及到的表结构的不同决定了查找的方法及其性能。二分查找是顺序表的查找中的最重要的方法,通过这些程序的运行,能充分理解其实现方法和有关性能,并能借助其判定树结构来加深理解。

2009-06-28

空空如也

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

TA关注的人

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