随笔分类 -  转载

上一页 1 2
msvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义
摘要:转载 原文 链接打不开很需要补充的知识。 可惜网络阅读一直不是强项。 目前实在有点看不进去。 先保存下来吧。。。牛到连评论都是贼深奥滴!很久没有写程式设计入门知识的相关文章了,这篇文章要来谈谈程式库 (Library) 连结,以及关于 MSVC 与 CRT 之间的种种恩怨情仇。如果你使用的作业系统是 Linux、Mac 或其他非 Windows 平台,你可以忽略这篇文章;如果你使用的作业系统是 Windows 平台,但没有用 Microsoft Visual Studio C++(以下简称为 MSVC)软体撰写 C++ 程式的话,这篇文章对你的帮助可能很有限;但如果你的作业系统是 Window 阅读全文
posted @ 2010-12-29 20:27 minggoddess 阅读(15207) 评论(1) 推荐(4)
C++预处理指令
摘要:C++预处理指令#include#define#undef#pragma#import#error#line#ifdef#ifndef#if#else#elif#endif宏以#起始不以;结束一.#include文件包含预编译期发现#include后,将会寻找HeaderName并把其包含到当前文件中EG:#includeHeaderName常见形式:#includeiostream.h//#includeiostream//#include"iostream"//#include"TestHeader.h"//#include"..\TestHeader.h"//1.#inclu 阅读全文
posted @ 2010-12-27 16:41 minggoddess 阅读(531) 评论(0) 推荐(0)
_declspec(dllexport)与_declspec(dllimport)
摘要:我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类。但是,MSDN文档里面,对于__declspec(dllimport)的说明让人感觉有点奇怪,先来看看MSDN里面是怎么说的:不使用 __declspec(dllimport) 也能正确编译代码,但使用 __declspec(dllimport) 使编译器可以生成更好的代码。编译器之所以能够生成更好的代码,是 阅读全文
posted @ 2010-12-27 16:39 minggoddess 阅读(533) 评论(0) 推荐(0)
ogre scene_blend 透明
摘要:scene_blend: 此渲染通路与场景中现有的内容混合的方式这个混合是将此渲染通路的输出结果与当前渲染目标的内容相结合格式1: scene_blend add|modulate|alpha_blend|colour_blend 枚举参数示例: scene_blend addadd渲染输出的颜色被叠加到场景中,用在爆炸、闪光、闪电、鬼魂等地方效果很好。相当于“scene_blend oneone”modulate另一种将渲染输出加到场景内容中,一般用于给场景着色和加深场景颜色。对于浓烟弥漫的玻璃,半透明的物体等,有很好的使用效果。相当于“scene_blend dest_colour z 阅读全文
posted @ 2010-12-18 21:39 minggoddess 阅读(1560) 评论(0) 推荐(0)
ogre overlay 添加2d图片
摘要:收集的ogre 技巧如何设置透明在.material文件里,你可以设置scene_blend为add,modulate或alpha_blend.scene_blend add你可以使用JPEG 或 PNG文件为纹理图象全黑的地方为纯透明在爆炸,光晕,灯光等方面使用全白的地方是scene_blend modulate你可以使用JPEG或PNG文件为纹理, 纹理会根据背景进行想乘,通常它的颜色比图片要暗. 纹理黑的部分为透明.sene_blend alpha_blend你可以使用PNG图象文件为纹理,要在PNG文件里设置透明,你需要用Photoshop来处理它通过把背景层删除,并 在其他层使用橡皮 阅读全文
posted @ 2010-12-18 21:27 minggoddess 阅读(2570) 评论(1) 推荐(1)
Ogre overlay实现帧动画
摘要:ogre Dome上有动态纹理的效果演示,这里讲的不是移动或旋转纹理坐标产生的纹理动态效果,而是由几张图片更换显示产生的动画效果,这种效果在2d中指的是帧动画。首先要准备好一组图片,如animotion1.jpg, animotion2.jpg, animotion3.jpg, animotion4.jpg. ogre的材质的Texture-Uint中有anim_texture这个属性(可以参考ogre中文帮助手册),它是专门为作帧动画准备的。接着定义一个简单的overlay, 以下是我的简单定义:howlet/BigMapOverlay{ zorder 0 container Panel ( 阅读全文
posted @ 2010-12-18 19:58 minggoddess 阅读(1084) 评论(0) 推荐(0)
Display Lists在内存中的形式
摘要:OpenGL显示列表的设计能优化程序运行性能,尤其是网络性能。它被设计成命令高速缓存,而不是动态数据库缓存。也就是说,一旦建立了显示列表,就不能修改它。因为若显示列表可以被修改,则显示列表的搜索、内存管理的执行等开销会降低性能。  采用显示列表方式绘图一般要比瞬时方式快,尤其是显示列表方式可以大量地提高网络性能,即当通过网络发出绘图命令时,由于显示列表驻留在服务器中,因而使网络的负担减轻到最小。另外,在单用户的机器上,显示列表同样可以提高效率。因为一旦显示列表被处理成适合于图形硬件的格式,则不同的OpenGL实现对命令的优化程度也不同。例如旋转矩阵函数glRotate*(),若将它置于显示列表 阅读全文
posted @ 2010-12-17 00:10 minggoddess 阅读(392) 评论(0) 推荐(0)
四元数
摘要:a*quaternion 四元数quaternion 从(弧度m,轴v)获得 表示将a绕轴v旋转m得到的。。。quaternion *vector3   若vector3是个表示位移的向量 pos+=quaternion *vector3 quaternion表示朝向orientation    表示 vector3这个位移是被挪到朝向上了 这个v3本身是一个经过坐标原点的向量通过四元数旋转一个Vector quaternion*vector// 通过四元数旋转一个vector//当Vector表示一个位移时,. // 结果表示,将vector转化为相对于mOrientation方向上的 阅读全文
posted @ 2010-12-15 23:45 minggoddess 阅读(3052) 评论(0) 推荐(0)
quaternion 四元数
摘要:把矩阵转成四元数用于计算失去其原有的几何意义四元数统一表示了复数和矢量 可用来计算 平移,缩放旋转当四元数是一个单位四元数时(意味着n为单位向量)它的倒数等于他的共轭,那么四元数与旋转到底有什么关系?我以前一直认为轴、角的描述就是四元数,如果是那样其与旋转的关系也不言而喻,但并不是这么简单,轴、角描述到四元数的转化:w = cos(theta/2)x = ax * sin(theta/2)y = ay * sin(theta/2)z = az * sin(theta/2)其中(ax,ay,az)表示轴的矢量,theta表示绕此轴的旋转角度,为什么是这样?和轴、角描述到底有什么不同?这是因为轴角 阅读全文
posted @ 2010-12-15 21:56 minggoddess 阅读(511) 评论(0) 推荐(0)
ogre中使用hlsl
摘要:版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://stdsoft.blogbus.com/logs/36002820.html HLSL:高级着色语言。微软开发、用于在DirectX中编写在GPU上运行的程序的高级着色语言,与Cg语言非常相似。目录1在OGRE中使用HLSL2参数3采样器和纹理单元4顶点着色器5片断着色器6 Tangent-vectors7 Links在OGRE中使用HLSLHLSL着色器在Ogre中的使用非常像其它着色语言(比如Cg,GLSL)的使用情况,但是有一点小小的不同,我将针对这个不同点作出解释。首先,使用着色器的材质的声明应该像如下材质声 阅读全文
posted @ 2010-12-15 19:23 minggoddess 阅读(615) 评论(0) 推荐(0)
材质脚本属性
摘要:每帧进行渲染的时候 在一个technique里 有一个pass就渲染一遍 三个pass就是渲染三遍 每帧 这里的pass和硬件的 渲染通路对应顶层Material属性属性名 值的格式 描述lod_distances d1 [d2 ... dn] LOD的距离列表receive_shadows on|off 阴影是否会投在这个物体上(默认为on)transparency_casts_shadows on|off 透明物体是否投射阴影set_texture_alias alias_name texture_name 重命名纹理Technique 属性属性名 值的 阅读全文
posted @ 2010-12-15 19:20 minggoddess 阅读(288) 评论(0) 推荐(0)
ogre Animation Track
摘要:轨迹动画(Animation Track),是 OGRE 所支持的几种动画模式(包括骨骼动画)中的一种。通过让节点(node)沿着一条预设了关键帧(Key Frame)的轨迹移动来实现节点的动画。OGRE 中创建和实施轨迹动画的步骤大致如下:1. 在主程序类的 Application :: createScene ( ) 场景创建方法中进行以下工作:Animation * Ogre::SceneManager::createAnimation (const String & name, // 动画名称Real length // 动画长度(秒)) [virtual](2) 使用 createT 阅读全文
posted @ 2010-12-15 19:15 minggoddess 阅读(727) 评论(0) 推荐(0)
关于 Demo_DeferedShading 例子的分析
摘要:总结:1. 可以学会克隆一个实体的方法2. 可以根据雅典娜的材质得知顶点着色器的使用, 在事先构建的切线数据(buildTangentVectors)放置于 着色程序的属性 tangent中, 着色程序就可以直接使用该属性3. 学会如何创建一个曲面, 用MovablePlane.4. 实体调用setMeshLodBias设置LOD, 数值越小则越清晰.5. 实现如何创建一个只能拥有一个实例的类 class className : public Ogre::SingletonclassName;6. 设置GPU程序一致变量的方法: ptrProgram-getDefaultParamete 阅读全文
posted @ 2010-12-15 19:13 minggoddess 阅读(914) 评论(1) 推荐(0)
无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
摘要:一,问题描述MSVCRTD.lib(crtexew.obj) : error LNK2019:无法解析的外部符号_WinMain@16,该符号在函数___tmainCRTStartup中被引用Debug\jk.exe : fatal error LNK1120: 1个无法解析的外部命令error LNK2001: unresolved external symbol _WinMain@16debug/main.exe:fatal error LNK 1120:1 unresolved externalserror executing link.exe;二,产生这个问题可能的原因产生这个问题的真 阅读全文
posted @ 2010-12-15 19:11 minggoddess 阅读(18105) 评论(0) 推荐(1)
动态链接库中分配内存引起的问题-- windows已在XX.exe中触发一个断点
摘要:动态链接库中分配内存引起的本文主要是探讨关于在动态链接库分配的内存在主程序中释放所产生的问题,该问题是我在刚做的PJP工程中所遇到的,由于刚碰到之时感动比较诡异(这也是学识不够所致),所以将它写下来,大家一起分享.问题来由:由于该工程中要用到声音,所以我的分工之一就是用DirectMusic和DirectSound来开发声音播放的动态库,以提供给该工程的两个部分:仿真控制部分( 语音 )和三维部分( 场景声音 )使用,两个工程中的声音都以单独的线程播放,且两个线程几乎相同.,然而该动态库在以前的运行中一直没有出现过问题, 直到工程开发即将要结束阶段的前一个星期,我碰才到了这个问题,首先是三维部 阅读全文
posted @ 2010-12-15 19:10 minggoddess 阅读(11012) 评论(0) 推荐(2)
rtt
摘要:第八章 Ogre渲染目标在Ogre中,并没有要求你一定要把最终的显示画面渲染到图形显示设备上。换句话说,Ogre最终渲染到帧缓存的结果(颜色数据),既可以在显示器上面展示也可以输送到其他渲染目标。在这里,渲染目标的概念是一个用来保存渲染结果(二维信息)的存储区域,它既可以在显存中也可以在AGP[1]的共享储存区域中。最基本和普通的渲染目标当然是程序的主窗口。就是那个可以被你在操作系统中改变大小并通过Alt+Tab切换的那个窗口。如果你按照前面章节所介绍的那样初始化了Ogre渲染系统之后,你就拥有了这个渲染目标。不过,相当多的游戏需要额外渲染一些特殊的场景部分来实现有趣的效果。比如把一些看不见的 阅读全文
posted @ 2010-12-15 19:08 minggoddess 阅读(1246) 评论(0) 推荐(0)
DLL类库的加载和调用
摘要:动态加载动态连接库能更加有效地使用内存,这在大型项目中是非常有用的一项技术。DLL中的函数可以很容易的实现动态加载调用,网上也有很多相关的介绍,但DLL中类库怎样实现动态加载调用呢?这是我在实际项目中遇到的一个问题,可以采用类工厂方法,把对象的指针导出来的方法解决这个问题,如果需要对跨平台的支持还可以使用QT中的QLibrary代替LoadLibrary等函数。1)与动态库调用有关的函数包括:(1)LoadLibrary(或MFC 的AfxLoadLibrary),装载动态库。(2)GetProcAddress,获取要引入的函数,将符号名或标识号转换为DLL内部地址。(3)FreeLibrar 阅读全文
posted @ 2010-12-15 19:05 minggoddess 阅读(2800) 评论(0) 推荐(0)
OpenGL基本图元
摘要:OpenGL的辅助库可以提供一些较为复杂的几何体的绘制函数,如auxSolidTeapot可以绘制一个茶壶,如果用OpenGL基本库中的函数实现就困难的多。但是,除了教学等简单的环境外,在大型的OpenGL应用中,辅助库中的这些函数基本是没有任何用处的。而且,这些函数也因为受限于平台,很少被使用。在一些基于OpenGL的3D引擎中可以看到,仅仅使用OpenGL基本库中的图元函数就可以了。OpenGL的基本图元有点(Point)、线段(Line)、多边形(Ploygon)、三角形(Triangle)、四边形(Quadrangle)。线段又分为独立线段、不闭合的线(Line Strip)和首尾闭合 阅读全文
posted @ 2010-12-15 19:03 minggoddess 阅读(3212) 评论(0) 推荐(0)
节点的删除 - 同时删除所有绑定要节点上的对象
摘要:节点的删除 - 同时删除所有绑定要节点上的对象1.关于节点的删除:1.分析:0.SceneManager从节点列表中删除节点1.要从父节点中删除该节点.2.基于Ogre设计的设计.SceneNode没有提供销毁movableObject对象的函数.但是有解绑与遍历movable的能力.此问题简单为解绑movable3.节点上一般都拥有一系列的MovableObject对象.绑定在其上的MovableObject也应该被销毁.4.SceneNode上还可以有ChildSceneNode.因此.这些ChildSceneNode也应当被销毁5.内存的释放2.解析Ogre提供的功能:1.SceneMa 阅读全文
posted @ 2010-12-13 11:41 minggoddess 阅读(1352) 评论(0) 推荐(0)

上一页 1 2