随笔分类 -  转载

1 2 下一页
Fillrate
摘要:http://xionggf.com/articles/graphic/misc/mobile_gpu_term.html IMR TBR TBDR Unified Shader Discrete Shader GFLOPS 像素填充率 纹理填充率 显存带宽 返回首页 阅读全文
posted @ 2018-01-31 11:30 minggoddess 阅读(784) 评论(0) 推荐(0) 编辑
什么是 .manifest 文件
摘要:恩,为了大家都能很方便的理解,我将尽量简单通俗地进行描述。[现象]对这个问题的研究是起源于这么一个现象:当你用VC++2005(或者其它.NET)写程序后,在自己的计算机上能毫无问题地运行,但是当把此exe文件拷贝到别人电脑上时,便不能运行了,大致的错误提示如下:应用程序配置不正确,请重新安装程序……或者是MSVCR80D.dll 没有找到什么的(我记得不是很清楚,不过大致是这样的)[分析]看到这样的提示,当然不会傻到重装咯。第一反应应该是什么配置有问题、或者是缺少了什么依赖的库文件;于是我就根据以前Windows缺少库文件的经验,把所有库文件(××.DLL)统统一股脑地复 阅读全文
posted @ 2011-12-03 15:52 minggoddess 阅读(870) 评论(0) 推荐(0) 编辑
CEGUI 动态生成 texture imageset image
摘要:unsigned long* CMD_GUI_GetSmallMapBuf()// render small map{DWORD color[6] = { D3DCOLOR_RGBA( 0, 0, 255, 255 ),D3DCOLOR_RGBA( 255 , 0, 255, 255 ),D3DCOLOR_RGBA( 0, 255, 255, 255 ),D3DCOLOR_RGBA( 0, 255, 0, 255 ),D3DCOLOR_RGBA( 255, 255, 0, 255 ),D3DCOLOR_RGBA( 255, 0, 0, 255 )};int i = 0;int j = 0;st 阅读全文
posted @ 2011-11-30 10:24 minggoddess 阅读(344) 评论(0) 推荐(0) 编辑
cegui 汉字 处理
摘要:CEGUI中文如何显示这个就不说了,改下字体就OK了。对于中文加载的优化,网上最流行的说法是用一张或二张纹理保存,当新的汉字没有在纹理上的时候,清空纹理重新添加。对于这种方法如果汉字使用率少的话还不错,但是如果对于不同汉字出现频率较高的话,那么这种方法,会出现界面一卡一卡的现象,那就是临时清空重绘纹理的原因。CEGUI根据汉字内码的编码顺序,为每256个字符分配一张纹理(例如编码0-255存放在纹理一,编码768-1023 存放在纹理四)。英文很容易搞定了,那么几个字符一张纹理就够了,对于中文,中文的编码数值太大,CEGUI原本的方法要是加载的话,最少也要上百张纹理。对于以上2种方法,我觉得都 阅读全文
posted @ 2011-11-22 17:56 minggoddess 阅读(331) 评论(0) 推荐(0) 编辑
ftplib使用小记
摘要:http://hi.baidu.com/ankang1986/blog/item/5b28d6dca50edda9cd116648.html使用ftplib时发现几处不近人意的地方,不知道是不是只有我遇见了,因为没有在网上查到相关的信息1.下载.bmp文件时会失真,下载下来的.png图片无法打开出现原因:这个bug找了好半天,最后发现是这个库中在第1083行,创建本地文件时用的是w(文本文件)格式打开文件,以这种方式打开会把写入的特殊字符(比如:\n回车换行等等)会以文本格式转换,而.bmp文件和.png文件中有一些信息与之特殊字符相冲突,所以就造成了'失真'解决办法:改成以w 阅读全文
posted @ 2011-11-15 10:02 minggoddess 阅读(2008) 评论(0) 推荐(0) 编辑
调试 DirectX
摘要:转自:http://www.cnblogs.com/graphics/archive/2011/03/14/1984200.html之前未标明出处 非常抱歉。如果安装了DirectX SDK,就可以通过SDK中的DirectX Control Panel来设置调试选项,这个工具位于开始-程序-Microsoft DirectX SDK(June 2010)-DirectX Utilities中,也可以在SDK的安装目录下找到,在我这里是C:\Program Files\Microsoft DirectX SDK (June 2010)\Utilities\bin\x86。运行后如下图。由于我机 阅读全文
posted @ 2011-06-16 18:18 minggoddess 阅读(3437) 评论(4) 推荐(1) 编辑
SPEED TREE技术分析
摘要:[转]SPEED TREE技术分析speed tree技术分析 两年前第一次下载speedtreedemo运行时,立刻被精美的画面所震撼,场景中大片的树木尤其吸引我的眼球,speedtree使用何种技术来渲染大范围的植物一直令我不解。因为在很多游戏中对树木的渲染都可以很明显地看到多边形的痕迹,而在speedtree中你几乎看不到任何破绽,繁茂的树叶、精确的光照、shadow、self-shadow,这些元素构造起了一个完美的树木。 直到前几个月无意中玩完美世界时发现它使用了speedtree来渲染树木,由于洪恩丑陋的美工得以使我发现了其中的端倪。我立刻又拿起以前下载的demo仔细研究了几天,终 阅读全文
posted @ 2011-05-03 16:11 minggoddess 阅读(1087) 评论(0) 推荐(0) 编辑
切线空间
摘要:1、 什么是Tangent space? Tangent space和world space,view space其实是同样的概念,均是代表三维坐标系。在这个坐标系中, X轴对应纹理坐标的U方向,沿着该轴纹理坐标U线性增大。Y轴对应纹理坐标的V方向,沿着该轴纹理坐标V线性增大。Z轴则是UXV,垂直于纹理平面。 阅读全文
posted @ 2011-04-07 11:11 minggoddess 阅读(3245) 评论(0) 推荐(0) 编辑
智能指针(Smart Pointer)
摘要:主题索引:一、剖析C++标准库智能指针(std::auto_ptr) 1.Do you Smart Pointer? 2.std::auto_ptr的设计原理 3.std::auto_ptr高级使用指南 4.你是否觉得std::auto_ptr还不够完美?二、C++条件,寻找构造更强大的智能指针(Smart Pointer)的 策略 1.支持引用记数的多种设计策略 2.支持处理多种资源 3.支持Subclassing 4.支持多线程条件下,线程安全的多种设计策略 5.其它多种特殊要求下,再构造三、Generic Programming基础技术和Smart Pointer 1.回首处理资源中的T 阅读全文
posted @ 2011-03-02 16:06 minggoddess 阅读(542) 评论(2) 推荐(0) 编辑
OGRE小记
摘要:1,entity是没有getPosition的2,node的默认position是原点3,材质脚本中定义的程序段中的source文件名后缀必须与定义的shader文件类型匹配。如:vertex_program Ogre/CelShadingVP1hlsl{ source Example_CelShading1.hlsl entry_point main_vp targetvs_2_0}注意target是hlsl中独占,cg中是profile,且参数不同4,Plugin_CgProgramManager_d.dll 插件一定要有cg.dll配合5,OGRE不支持的中文路径用下面解决:setloc 阅读全文
posted @ 2011-02-24 17:03 minggoddess 阅读(385) 评论(0) 推荐(0) 编辑
天龙客户端大致的结构划分和功能描述
摘要:天龙客户端大致的结构划分和功能描述说明UI系统 CEGUI UI基础系统 CEGUI渲染器 Expat XML解析器 CEGUI依赖,估计编写者不喜欢用 FreeType2 跨平台、开源的字体渲染器 用于绘制中文脚本 luaPlus3D显示引擎 Ogre 开源的高效渲染引擎 使用OGRE确实是很高的一步棋碰撞检测 Opcode 开源,占用内存少 我们可考虑用bullet,ODE,或其他(按实际要求)TinyXML XML的解析工具 游戏中使用的XML解析器,Code们熟悉的Music&Sound Effect FMOD SDK即可struct定义结构全部大写?WX编写系统 WXClie 阅读全文
posted @ 2011-02-24 17:00 minggoddess 阅读(671) 评论(0) 推荐(0) 编辑
ogre Mesh的渲染流程
摘要:首先一个Entity对象必须Attach到一个SceneNode。1.创建一个SceneNode:SceneManager::getRootSceneNode()(在SceneManager::init时会创建一个RootNode)àSceneNode::createChildSceneNode()àNode::createChild()主要的操作在这个函数中完成,首先调用虚函数SceneNode::createChildImpl(),此函数又会调用OctreeSceneManager::createSceneNode(),此函数会new一个SceneNode的派生类对象, 阅读全文
posted @ 2011-02-24 16:58 minggoddess 阅读(796) 评论(0) 推荐(0) 编辑
Mesh的加载
摘要:如果新开始写一个3D渲染引擎,Mesh应该是一个很好的切入点。当一个看似简单的Mesh渲染到窗口时,说明引擎的架构已经确定,并验证了。想了解Ogre内部的机制,可以先看看Mesh的加载过程,这里主要涉及到Resource是如何管理的,Material是怎样处理的,Resource和HardwareBuffer是如何关联的。对于前面教程代码的执行过程做一下分析:创建一个Entity(加载Mesh及其相关的Material)的调用流程如下:SceneManager::createEntity()->SceneManager::createMovableObject()->Movable 阅读全文
posted @ 2011-02-24 16:58 minggoddess 阅读(350) 评论(0) 推荐(0) 编辑
Ogre设计模式分析-观察者模式
摘要:观察者模式是游戏开发中十分常用的模式,Ogre也大量运用了此模式来监听,比如FrameListener.ResourceListener这种方式比常见的回调函数更好用,因为观察者模式是基于接口的,任何类只要继承这个接口,注册后就可以监听我们需要观察的对象。不想监听,取消注册就行了,具体实现原理,我们以为FrameListener为例子,然后再举一反三在自己的游戏中使用它,比如场景编辑器,我拖动了一个entity,改变了他的位置,那么显示对象属性的控件应该更新这个对象的位置,我们就可以设计一个监听类来监听任何对对象的操作,有变化就通知给显示面板。Ogre的帧监听怎么实现的呢1,先设计了一个基类, 阅读全文
posted @ 2011-02-21 09:48 minggoddess 阅读(747) 评论(0) 推荐(0) 编辑
Scaleform Gfx的Demo
摘要:新建一个Demo工程时,编译之前有一些VS的配置是必须的,在Debug和Release下,工程必须包括:$(GFXSDK)\Src\GRenderer$(GFXSDK)\Src\GKernel$(GFXSDK)\Src\GFxXML$(GFXSDK)\Include这里$(GFXSDK)环境变量指的就是你安装Gfx的位置,其实如果你能够有Gfx中的Lib何Include文件夹得话,你吧他们放到工程目录下,你就可以使用相对路径来指定这些路径,就不必为每个开发人员安装Gfx了。至于库文件,就是一些核心的内容,这部分是不会提供源码,所以我们也必须包含这些库文件来提供给应用程序。$(DXSDK_DIR 阅读全文
posted @ 2011-02-19 16:28 minggoddess 阅读(2386) 评论(0) 推荐(1) 编辑
在Ogre中加载自己的资源包
摘要:由于数据保护的需要,一款游戏一般都会有自己独有的资源包,这样做既有利于知识产权的保护,又减少了磁盘碎片的产生。Ogre本身是支持的Zip包的,但Zip包不具要资源保护的特性,随便用个winrar就可以把资源打开并导出,这样就失去了数据保护的意义。现在假设你的操作资源包的API已经完成,下一步需要集成到OGRE中去,那么该怎么做呢,大致我机械式的列出下面几步,照着做一般就不会错。1. 继承Ogre::Archive 派生出新的,假设派生出 Ogre::XXXArchive2. Ogre::XXXArchive 中实现下面的虚函数bool isCaseSensitive(void)void loa 阅读全文
posted @ 2011-02-19 13:14 minggoddess 阅读(1206) 评论(0) 推荐(0) 编辑
【转】让Ogre支持中文路径与中文文件名
摘要:Ogre中路径与文件名不支持中文,这是VS2005之后版本的std::fstream对中文路径处理不正确的原因,所以加载中文路径或文件名不成功,解决办法: 在主函数开始加入 setlocale(LC_ALL,"Chinese-simplified");例如:view plaincopy to clipboardprint?virtual void createScene(void){ setlocale(LC_ALL,"Chinese-simplified"); Entity* ogreHead = mSceneMgr->createEnt 阅读全文
posted @ 2011-02-12 11:18 minggoddess 阅读(540) 评论(0) 推荐(0) 编辑
汉字编码对照表(gb2312/unicode/utf8) 【转帖】
摘要:一、汉字编码的种类汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。 1、GB2312又称国标码,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。它是一个简化字的编码规范,当然也包括其他的符号、字母、日文假名等,共7445个图形字符,其中汉字占6763个。我们平时说6768个汉字,实际上里边有5个编码为空白,所以总共有6763个汉字。 GB2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示”,习惯上称第一个字节为“高字节”,第二个字节为“低字节”。GB2312中汉字的编码范围为,第一字节0xB0-0xF7(对应十进 阅读全文
posted @ 2011-01-10 09:23 minggoddess 阅读(9845) 评论(0) 推荐(0) 编辑
falagard cegui
摘要:声明:转自http://blog.csdn.net/powerkoria/archive/2008/03/31/2232283.aspx谢谢他What is the Falagard Skinning System什么是 falagard skinning system?falagard 皮肤系统是CEGUI基础库的一套组成部分,是一个编译于CEGUIFalagardBase “查看模样“模块的一部分。这些元素目的是为了似的创建自定义皮肤或看起来就是那样子的CEGUI或其他窗口部件falagard系统被设计成允许部件肖像定义,子部件布局和默认属性初始化,通过一个特殊的XML文件实现,不但在c+ 阅读全文
posted @ 2011-01-07 19:42 minggoddess 阅读(1456) 评论(0) 推荐(0) 编辑
CEGUI 动态生成 texture imageset image
摘要:CEGUI 动态生成 texture imageset image2010-05-13 13:22unsigned long* CMD_GUI_GetSmallMapBuf()// render small map{DWORD color[6] ={D3DCOLOR_RGBA( 0, 0, 255, 255 ),D3DCOLOR_RGBA( 255 , 0, 255, 255 ),D3DCOLOR_RGBA( 0, 255, 255, 255 ),D3DCOLOR_RGBA( 0, 255, 0, 255 ),D3DCOLOR_RGBA( 255, 255, 0, 255 ),D3DCOLOR 阅读全文
posted @ 2011-01-05 21:13 minggoddess 阅读(755) 评论(0) 推荐(0) 编辑

1 2 下一页

点击右上角即可分享
微信分享提示