- 博客(45)
- 资源 (22)
- 收藏
- 关注
转载 游戏程序员成长
<br />注:本文来自CSDN博客<br />与玩游戏相比,写游戏要复杂上千万倍,除了需要掌握通用的编程技巧以外,还要有相当的图形学,物理,数学基础,特别是在国内,由于相关资料的缺乏,更是让初学者无从下手。下面总结了一些入门方法和比较容易入手的资料。<br /> 首先你要精通一门高级语言,比如C++或者C#,其次,要有良好的英文阅读能力。对游戏开发者来说英文阅读能力是最重要也是最基本的工具之一,因为你遇到的大部分资源都将是英文的,不要总等着别人为你翻译。慢慢尝试着阅读英文资料,你会发现其实
2011-05-25 15:51:00 2487 1
转载 Ogre中mesh共享顶点缓存的使用
<br />http://sxoo0305.blog.163.com<br /> <br />这几天在弄这些。学了不少,把这两天的学习成果贴出来:<br /> <br /> <br /> Ogre中submesh之间的共享缓存的使用<br /> 在ogre的app类中添加如下代码:<br />void createSphere(const std::string& strName, const float r, const int nRings = 16, c
2011-05-25 15:50:00 2149
转载 Ogre中手动创建mesh
<br />在一个可以正常运行的ogre程序里边,找到createscene函数,添加如下代码:<br /> <br />//定义对象并设置材质名称与绘制模式<br />ManualObject* manual = mSceneMgr->createManualObject("manual");<br />manual->begin("BaseWhiteNoLighting", nderOperation::OT_LINE_STRIP);<br /> booltest = false;<br /
2011-05-25 15:46:00 5199 1
转载 修改ETM源码,增加了平滑、澡波等地形编辑算法
<br />在etm的ETTerrainManager.cpp中增加以下函数即可,目前算法还很简单,以后可能会在丰富一些<br />//----------------------------------------------------------------------------- <br />// name: 推平 <br />// Desc: <br />//---------------------------------------------------------------------
2011-05-25 15:41:00 1793
转载 ogre1.7的工作队列的使用方法
<br /> 最近一直在研究1.7,有了一些心得,今天发下,以PagedTerrain为例子!!<br />类图:<br /> 序列图:<br /> 具体流程分析道这里,不保证完全正确,因为有源码,大家自己看看就明白了!!
2011-05-25 15:39:00 1348
转载 Ogre1.7SampleBrowser的插件结构分析
<br />上类图,插件机制的类图 <br /><br /> <br />序列图:<br /> <br />
2011-05-25 15:37:00 1361
转载 PagedGeometry笔记
PagedGeometry版本:1.1ONE.静态树a).创建PagedGeometry对象,用于管理草体的细节PagedGeometry *trees = new PagedGeometry(); 1 trees->setCamera(camera); //Set the camera so PagedGeometry knows how to calculate LODs2 trees->setPageSize(80); //Set the size of each page o
2011-05-25 15:27:00 2161
转载 关于SVN更新慢的解决方法
原因<br />SVN的cache监视消耗着时间<br />把所有状态信息缓存在一个独立进程中(TSVNCache.exe)。该进程监视所有驱动器的更改,并在工作副本中的文件被修改时重新获取其状态。该进程以最低优先级运行,所以其他程序不会被它挤兑。这同样意味着状态信息并不是实时的,因为它需要几秒钟时间处理图标覆盖的变化。<br /> <br />优点: 图标覆盖递归地显示状态,就是说,如果一个处在工作副本深处的文件被修改了,所有途径的文件夹包括工作副本的根目录都会显示出修改的图标覆盖。也因为该进程可以向Wi
2011-05-24 11:26:00 41056 1
原创 ogre 无法用incredibuild 联编的解决方法
打开 ogremain 项目属性页 将配置属性->C++->命令行->附加选项 的/Zm1000 改为 /Zm500 即可附上/Zm 编译选项介绍/Zm(指定预编译头的内存分配限额)Visual Studio 2010其他版本 Visual Studio 2008Visual Studio 2005确定编译器分配的用于构造预编译头的内存量。复制/Zmfactor参数factor一个比例因子,确定编译器用于构造预编译头的内存量。 factor 参数是编译器定义的工作缓冲区的默认大小所占的百分比
2011-05-23 14:47:00 6752
转载 地形渲染的动态LOD四叉树算法详细实现
地形渲染的动态LOD四叉树算法详细实现<br /> 作者:野草email:JerryLi@sina.com<br />声明:请将本文档和程序配合使用,旨在使读者费很少的时间和精力就能理解此算法。读者应该熟悉递归程序设计,以及基本的VC OpenGL编程.<br />渲染地形时,如果采用固定地形精度等级,则会随着地形面积的增大,渲染的三角形数量会
2011-05-19 17:30:00 3741
转载 CMD命令中空格的解决办法
有的时候产品容易被默认安装到c:/Program Files/这样包含空格的路径下,那么在命令行中输入一个带空格的file path作为参数往往会出错。所以大家都流传着这样一种说法:咱们公司的产品安装的时候选择的目录千万不要包含空格。<br /><br />但是,一个那么大的产品装好了,使用命令行配置的时候发现path带空格命令过不去,而卸载重装太恐怖了,怎么办?<br /><br />现在有两个办法来解决这个问题<br /><br />1)用缩写。比如c:/Program Files缩写为c:/Progr
2011-05-17 19:43:00 3651
转载 编译 boost
作者:我是小李,欢迎交流 来源:博客园 发布时间:2011-03-12 15:26 阅读:44 次 原文链接 [收藏] <br />理论上,本文适用于boost的各个版本,尤其是最新版本1.45.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等。先总结一下Windows系统。<br />一、下载<br />首先从boost官方主页http://www.boost.org/下载最新版boost安装包(目前最新版
2011-05-17 18:04:00 1513
转载 批次渲染
<br />其实,根据我最近研究发现,暴雪早在DX8时代就做了批量渲染这件事,所以一举占据了RTS老大的地位.很凑巧的时候我现在的项目也是个RTS类游戏.所以批量渲染就成了一个亟待解决的问题.<br /> Gamebryo是支持MeshInstancing的,就是模型的批量渲染。<br /> 哦,先介绍下DX9支持的几种Instancing的方式吧,一种叫HardwareInstancing,中文叫硬件批量渲染吧,其实是DX9提供了SetStreamSourceFreq这个接口,让你可以把一
2011-05-16 16:28:00 2579
转载 D3D 批次batch [Direct3D] 实现批次渲染、硬件 T&L 的渲染器和 D3DPipeline
Q: <br />“Batch, Batch, Batch:”<br />What Does It Really Mean?<br />A:<br />• Every DrawIndexedPrimitive() is a batch– Submits n number of triangles to GPU– Same render state applies to all tris in batch– SetState calls prior to Draw are part of batch<br /
2011-05-16 16:26:00 2412
转载 Direct3D的一些小贴士
GPU性能调试:通常来说,使用CPU时间事件来调试GPU是低效并且是不准确的。D3D API在多数命令下会阻塞,甚至是Draw函数。它会在一些时间片上做一些真正的工作,而这往往是不可预知的。因此,GPU的性能调试只能用PIX或者是其他专用产品,例如NVIDIA’s NVPerfHUD来进行。显卡所用的内存:显卡所用的内存可以分为两大类:本地的和非本地的(相对于显卡来说)。在
2011-05-16 16:24:00 1310
转载 DirectX 性能优化
1 只在必须的时候Clear。IDirect3DDevice9::Clear函数通常需要花费较多的时间,因此要尽量少调用,而且只清空的确需要清空的缓存。2 尽量减少状态切换。并且将需要进行的状态切换组合在一起设置。状态包括RenderState,SamplerState,TextureStageState等3 纹理尺寸尽可能小4 从前至后渲染场景中的对象从前至后渲染可以尽可
2011-05-16 16:22:00 3426 2
转载 浅谈三维场景的渲染优化
<br />浅谈三维场景的渲染优化初探<br /> 作者:rhett <br /><br />(一) 有效的性能评测 <br /><br /> 对于任何一个3D应用程序来说,追求场景画面真实感是一个无止尽的目标,其结果就是让我们的场景越来越复杂,模型更加精细,这必然给图形硬件带来极大的负荷以致于无法达到实时绘制帧率。因此,<br />渲染优化是必不可少的。在渲染优化之前,我们需要
2011-05-16 16:20:00 3702
转载 Terrain Splatting
<br />Terrain Splatting <br />spalatting技术指的是在terrain中给指定的tile贴纹理,并且所纹理之间是非线性过渡的.这种技术基本上不耗费CPU,通过显卡多次渲染同一个三角形,在帧缓存中合成纹理.<br />基础Splatting<br />把terrain分成若干个块,对每个块,找出影响它的所有贴图,即块中所有单元(一个或多个tile,取决于你的粒度)所用的贴图和紧邻这个块的单元所使用的贴图.这就是所谓的"splat块"和"splat纹理".为每个块创建顶点缓存
2011-05-16 16:17:00 2038
转载 次时代引擎技术一览
<br />API: Driectx 11.0 & 10 Driectx 9.0C<br />Texture Resolution(材质解析度) :16384*16384<br />Quadcore-Multithreading(多核心多线程) √<br />Tesselation(曲面细分) √<br />Deferred shading(延迟渲染) √<br />Live Create(编辑器动态创建) √<br />Ambient Occlusion (环境光遮蔽) √<br />Sof
2011-05-16 16:14:00 1957
转载 LOD地形演示
<br />名称:LOD地形演示 <br /> <br />作者:曾涛<br />Email:zengfengtao@163.com<br />下载:http://show.gameres.com/ztLODTerrain/ztLODTerrain.zip (执行程式+代码,2.5MB)<br />开发环境:WIN7 VS2003 DX9.0c C++<br />简介:这是学习LOD地形所做的一个演示程序,是根据潘李亮《largeLOD》一文中来实现的四叉树算法,当然还有Roam和其他的算法没有尝试,等空了
2011-05-16 15:23:00 3690 1
转载 3d游戏开发――辐射度算法
<br />Hugo Elias <br />何咏译<br />声明:本文原文由Hugo Elias 撰写,由何咏 翻译。本文仅供学习交流之用。<br />任何人未经本人同意不得私自转载,任何人不得将本文用于任何商业活动。<br /> <br /> 简介:这篇文章是一个经典的辐射度算法的教程,详细的讲述了如何通过辐射度算法为静态场景计算光照贴图。这也是大多数游戏所采用的技术。现在很多的论文和书籍都讨论了如何在实时渲染中应用光照贴图来产生逼真的光照效果,然而他们主要着重于如何组织光照贴图。而光照贴图究竟
2011-05-16 13:18:00 3216 2
转载 地形渲染--消除裂缝(Cracks) 跳点法和加点法和 “裙子”(Skirts )
由于是采用四叉树结构,不同级别的分块之间可能会出现裂缝(Cracks )。如上图所示,在点A ,B 处可能会由于两个分块不共享顶点而出现裂缝。目前有不少解决裂缝的方法,主要分为跳点法和加点法。跳点法就是在较高分辨率的分块的边界上跳过一些点不绘制,这样可以保持相邻分块的连续性。加点法就是在较低分辨率的分块边界上新增一些顶点以达到两个分块顶点保持连续的目的。无论是新增点还是去除点都需要对整个地形进行遍历并且对相关分块重新进行三角形剖分,而且丧失了分块的独立性,给我们利用分块的Cache 带来了难度,增加了问题的
2011-05-16 11:41:00 2963
转载 在OpenGL中实现Geometry Instancing
声明:本文仅供个人学习交流使用,版权归原作者所有。 译者:tyxxy Emial:tyxxyhm@hotmail.com。 如需转载请注明出处:http://tyxxy.spaces.live.com/原文地址:http://blog.benjamin-thaut.de/?p=29本人也在学习阶段,若有翻译得不准确的地方,请不吝赐教。也欢迎有相同兴趣的同仁前来探讨。为了保证原文原意不被曲解,特保留英文原文,若有翻译不清楚的地方,请参考原文。2008-5-11 Introduction 简介 To coinc
2011-05-16 11:38:00 2720
转载 Inside Geometry Instancing
<br />翻译:clayman<br />clayman_joe@yahoo.com.cn<br />仅供个人学习使用,勿用于任何商业用途,转载请注明作者^_^ <br />注:这篇文章是《GPU Gems2》中的第三章,本人水平有限,不清楚的地方请大家以原文为准<br /> 在交互式程序中,丰富用户体验的重要方法之一就是呈现一个充满大量各种有趣物体的世界。从数不清的草丛、树木到普通杂物:所有这些都能提高画面最终的效果,让用户保持“幻想状态(suspension of disbelief)”。只有用户相
2011-05-16 11:36:00 2573
转载 Ogre读取Ogitor的scene场景简介
<br />这几天在用Ogre读取Ogitor的场景,遇到了不少问题,在网上也找不到详细的说明,虽然读取Ogitor的场景对很多人来说太简单了,但对一些新手来说就有点难了,我刚开始就觉得是无从下手,因此简单的描述下读取过程和一些常见问题,希望对一些新手有所帮助,高手就可以跳过了O(∩_∩)O~<br />我简单的分为2大步:<br />1. 学会简单的使用Ogitor,新建自己的场景,然后导出为scene场景文件<br />Ogitor的简单操作我就不再详述了,直接引用网上的:<br /><br /
2011-05-10 20:36:00 1783
转载 Windows NT 错误代码
<br />Windows NT 错误代码<br /> <br />代码 名称 说明<br />--------------------------------------------------------------------------<br />-8 LZERROR_UNKNOWNALG 不识别压缩算法。<br />-7 LZERROR_BADVALUE
2011-05-10 19:58:00 4043
转载 OGRE 插件PagedGeometry 介绍
<br />http://code.google.com/p/ogre-paged/<br />Author: John (JohnJ) Judnich Current Maintainer: Thomas Fischer (tdev) Project: OGRE Add-on Project (forests) Bugtracker / Issue Ticket system / Support: http://redmine.rigsofrods.org/projects/pagedgeometrySu
2011-05-10 11:36:00 2695
转载 Ogre Paging as a core feature - design notes(ogre paging 设计相关说明)
<br />by sinbad » Tue Mar 03, 2009 7:39 pm Hi folks,<br /><br />Thanks to a co-operative project that I'm doing with a client, I'm going to have the opportunity to spend time doing 2 rather important things over the next couple of months:<br />1. Implement
2011-05-10 10:33:00 2003
转载 A*算法寻路之Ogre实践
<br />之前写过一篇Ogre里人物碰撞检测的文章碰撞检测工具类实现。上一篇写了A*算法的控制台程序。那么这篇文章就是2者的结合。这里将使用A*算法对地图里的一个机器人实现指示之后自动寻路的功能。<br /> 基本功能如下:1.利用鼠标点击指示目的地。<br /> 2.机器人收到指令后自己搜寻最优路径。<br /> 3.机器人需要绕开障碍物,并且随着路径转换自己的方向。<br /> 下面是几张效果图。<br /> <br /> <br /> <br />控制台输出的路径点坐标。<br />下
2011-05-09 20:09:00 2592
转载 OGRE 1.7.0 RC1的新功能和改进
<br />原文地址:http://blog.csdn.net/miaolinvip/archive/2010/01/08/5158979.aspx [翻译]OGRE 1.7.0 RC1 [爆燃者--克图格亚] 已经发布! <br />We said we’d try to get this out before the end of the year, and with only hours to spare we just about made it! OGRE 1.7 has been under d
2011-05-09 19:56:00 1905
转载 Ogre 1.7中使用多线程
<br />在Ogre 1.7中,对多线程的支持有三个选择:<br />要在Ogre 1.7中使用多线程:在OgreBuildSettings.h改写2行 OGRE_THREAD_SUPPORT 2 // 通过ResourceBackgroundQueue实现。 OGRE_THREAD_PROVIDER 3 // TBB library provides threading functionality <br />我采用C++的并行编程模板库Threading Building Blocks。采用CMak
2011-05-09 19:45:00 5129 3
转载 Ogre1.7的多线程分析
<br />在OgreConfig.h文件中有关于Ogre使用多线程的配置 <br />1. 多线程支持的级别 <br />/** Support for multithreading, there are 3 options <br />OGRE_THREAD_SUPPORT = 0 <br /> No support for threading. <br />OGRE_THREAD_SUPPORT = 1 <br /> Thread support for background
2011-05-09 19:44:00 1980
转载 Ogre的多线程同步支持
<br /><br /> 近来因为开发的原因,需要在多线程下使用Ogre,就对此进行了考察,这里简单的介绍一下如何正常的编译多线程版本的Ogre。<br /> 首先需要说明一点,Ogre对多线程的支持,其目的并不是为了提高渲染效率,毕竟对于以GPU为主的实时渲染而言,CPU负载的并行并不会带来什么实质的改善;更多的则是出于保证其在需要平衡CPU与GPU负载的多线程应用中的线程安全性考虑,比如在驱动与渲染线程间共享视点数据或对象的运动数据,以及资源的后台加载等等。所以,更确切的说,Ogre
2011-05-09 19:44:00 2534
转载 Mercurial与TortoiseHg使用入门教程
Mercurial与TortoiseHg使用入门教程(转)Mercurial与TortoiseHg使用入门教程文章来源:http://www.keakon.cn/bbs/thread-1865-1-1.html<br /><br />分布式版本管理工具当中,Git和Mercurial(意思为水银的,于是经常缩写为Hg)是最为流行的工具。大名鼎鼎的Linux就用Git作源码管理,而Python和Firefox则采用Hg(你可以在这找到一堆使用Hg的项目 )。<br />1.为何要用分布式配置管理<br /><
2011-05-09 19:31:00 1314
转载 Mercurial 1.5 和 TortoiseHg 1.0
<br />感谢aTang的投递<br />Mercurial 是一款跨平台的快速、轻量级的分布式源代码管理软件, 使用python开发,免费开源。高效的实现、简易的学习曲线使得它既适合于大规模项目,也适用于小项目的代码管理。目前很多著名项目都已经开始使用 Mercurial来管理代码, 如 Mozilla、OpenOffice、Python等。Google Code在09年早期也已经提供了对Mercurial的支持。<br />TortoiseHg为Mercurial集成了一系列图形化工具和Shell扩展
2011-05-09 19:29:00 1184
原创 OGRE 不再使用SVN做版本控制 改用 Mercurial
据https://svn.ogre3d.org/svnroot/ogre/trunk/SVN_NO_LONGER_USED.txt OGRE no longer uses Subversion for our core repository. We have as moved to a Mercurial repository hosted at http://bitbucket.org/sinbad/ogre/Please download Mercurial and clone our re
2011-05-09 17:41:00 3038
转载 Mercurial - 分布式版本控制系统
运 国莲 (yunguol@cn.ibm.com), 软件工程师, IBM运国莲,IBM China Systems & Technology Labs 的软件工程师,从事 CIM 管理软件的开发和虚拟化相关技术的研究。她对 Python 编程有浓厚的兴趣。李 振刚 (lizg@cn.ibm.com), 软件工程师, IBM李振刚,IBM China Systems & Technology Labs 的软件工程师,从事 CIM 管理软件的开发和虚拟化相关技术的研究。他之前从事过 IBM System z
2011-05-09 17:27:00 2435
原创 OGRE 所有版本(从0.1到1.7) (SDK 及 源码 及 扩展库) 下载地址
OGRE 所有版本 (SDK 及 源码) 下载地址http://zh.sourceforge.jp/projects/sfnet_ogre/releases/Latest 5 files Ogre_iOS_4.3_Dependencies_20110411.dmg application/octet-stream; charset=binary 45.7 MB 2011-04-12 23:06 4 OgreDependencies_OSX_20110208.zip application/zip; char
2011-05-09 16:38:00 5449
Real-Time Adaptive Scalable TextureCompression for the Web.pdf
2020-12-25
IMPROVED ENCODING FOR COMPRESSED TEXTURES.pdf
2020-12-25
Developer_Track_5_ASTC-The_Future_of_Texture_Compression.pdf
2019-10-28
PowerVR.Supported+Extensions.OpenGL+ES.EGL.pdf
2018-08-16
OpenGL Direct3D 撰写的各种3D图形算法演示
2010-02-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人