- 博客(30)
- 资源 (17)
- 收藏
- 关注
转载 木棒问题
描述XX有n根长度不同的木棒,有一天它把所有的木棒排成一行,用S1,S2,S3,...,Sn表示.量出每个木棒的长度Sk(1现在给出每个木棒的长度,你需要找到满足上述条件的两个木棒Si和Sj,使得j-i最大. (请使用分治法解此题)输入输入含有多组数据.每组数据包括两行. 第一行:一个正整数n(n第二行:n个不同的正整数(不超过100000),表示木棒的长度序列S1,S2,S3,...,Sn输出输出最大可能的j-i值,如果这样的i和j不存在,输出-1例子输入45 4 3 646 5 4 3例子输出1-1解答
2011-01-19 11:02:00 1605
转载 马云观点:做人做企业不能生活在昨天
<br /><br /> 我先告诉大家一个坏消息,原材料的涨价和人工费的增加只会越来越严重,依靠原材料、靠低廉劳动力的时代已经过去了。然后再告诉大家一个好消息是:这个问题不是一家公司碰到,是所有的公司都碰到这样的问题。做人做企业不能生活在昨天。<br /> 相对来讲,你的企业已经做了8年了,比别人有优势,既然这个行业那么难做,为什么会有不断的新兴的公司会进来,你想过这个问题没有?如果大家都倒下了,你还站着,你就活了。<br /> 所以只有2条路,你熬到大家都倒掉,你还活着,你会越来越累。<br
2011-01-17 20:05:00 1512
原创 在VS2010中添加Flash
<br /> <br />一、准备工作<br />第一步:下载并安装Adobe Flash Player。<br />从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的FlashPlayer(大约为2.66M),并安装。对于Windows 32位系统,其默认安装目录为:C:/WINDOWS/system32/Macromed/Flash/;对于64位系统,为:C:/Windows/SysWOW64/Macromed/Flash。<br /> F
2011-01-17 17:51:00 10283 7
转载 C内存对齐详解
<br /><br />一、什么是对齐,以及为什么要对齐:<br /><br />1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。<br /><br />2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况, 但
2011-01-17 14:31:00 673
转载 面试经典70题
<br /><br />1、请你自我介绍一下你自己,<br /> 回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”。企业喜欢有礼貌的求职者。<br /> 2、
2011-01-17 14:29:00 878
转载 一个脚本让 Ubuntu “变成” Windows 7
<br /><br />之前 OwnLinux 有介绍将Ubuntu Hardy 打造成 Mac OSX Leopard 主题的文章,操作还是算比较复杂。如果你足够闲,蛋足够疼的话,你可以把你的 Ubuntu “ 变成” Windows 7 ,而这个操作也就是运行一个Shell 脚本而已,非常简单。基本上不需要什么技术就可以搞定。<br /><br /><br />把 Ubuntu 改造成 Windows 7 的效果图<br />Ubuntu 下执行以下安装命令可让 Ubuntu “变成” Windows
2011-01-13 19:49:00 1002
原创 C++ 归并排序实现(算法导论)
<br />#include <iostream>using namespace std;void merge(int *data, int p, int q, int r){ int n1, n2, i, j, k; int *left=NULL, *right=NULL; n1 = q-p+1; n2 = r-q; left = (int *)malloc(sizeof(int)*(n1)); right = (int *)ma
2011-01-10 14:47:00 5631 1
原创 多边形游戏(POJ 1179)
<br />问题描述多边形游戏是一种在一个具有n个顶点的多边形上进行的游戏。如图1是一个n=4对应多边形,每个顶点上都有一个整数,每条边都有一个运算符+或者*,所有边按从1到n进行编号。 <br /> <br />游戏都首先移除一条边,接下来可以进行如下操作:选择一条边E和与之相关联的点V1和V2,用一个新的点替换它们,新点上的整数为V1,V2上的整数用E上的操作符运算后的结果。 <br />没有边时游戏结束,游戏得分就是最后剩下的那个顶点上的整数。 <br />对于图1中的多边形,如果游戏者首先去掉3,然
2011-01-07 17:57:00 3628
原创 Battle City(POJ 2312)
<br />问题描述 <br />许多人都玩过坦克大战这个游戏,我们现在来考虑一下这个游戏的简化版本: 给出一个地图,这个地图上只有空地,河流,金属墙和砖墙,你的目标是从你当前的位置尽快地获得Bonus(不考虑敌人),如下图: <br /> <br />你的坦克不能穿过河流和墙,但是它可以开炮摧毁砖墙.如果你打中砖墙的话,那个位置就会变成空地.如果你击中了金属墙面,你不会对它造成任何损坏. <br />在你行动的每一步,你可以选择移动,或者是不移动而向某个方向开炮,炮弹会向前直行直到击中某一面墙或者飞出地图
2011-01-07 17:26:00 1591
原创 Triangle War(POJ 1085)
<br />问题描述:<br />Triangle War is a two-player game played on the following triangular grid: <br /> <br />Two players, A and B, take turns filling in any dotted line connecting two dots, with A starting first. Once a line is filled, it cannot be filled agai
2011-01-07 17:18:00 1380
转载 Ogre 分析系列完全篇
<br />OGRE分析之设计模式(四) <br /> 摘要: Iterator Observer Strategy Template Method <br /> 阅读全文 OGRE分析之设计模式(三) <br />摘要: OGRE分析之设计模式: Chain of Responsibility <br /> 阅读全文 OGRE分析之设计模式(二) <br />摘要: 分析OGRE用到的设计模式: Adapter Bridge Proxy <br />阅读全文 OGRE分析
2011-01-07 11:15:00 815
原创 Ogre中Mesh的加载与渲染流程
如果新开始写一个3D渲染引擎,Mesh应该是一个很好的切入点。当一个看似简单的Mesh渲染到窗口时,说明引擎的架构已经确定,并验证了。想了解Ogre内部的机制, 可以先看看Mesh的加载过程,这里主要涉及到Resource是如何管理的,Material是怎样处理的,Resource和HardwareBuffer是如何关联的。对于前面教程代码的执行过程做一下分析:创建一个Entity(加载Mesh及其相关的Material)的调用流程如下: SceneManager::createEntity()->Sc
2011-01-07 11:06:00 2337 1
转载 Ogre、 Shadow Map、和其他-评说
<br /><br />Ogre的影子分为两类:模版阴影和基于纹理的阴影。<br />(1)模版阴影 SHADOWTYPE_STENCIL 分MODULATIVE,ADDITIVE两种。 不过模版阴影我不太care,没有太仔细看。大致基于闭合多边形的影子,我猜可能类似于Shadow Volume的实现(d3d sdk的那个例子我就没看懂过,干), 但是奇怪的是, Ogre的这种模版阴影的效率居然还相当高。 <br />目测市面上一些Ogre引擎的网游,都采用过这种影子。缺点是边缘比较尖锐,也无法做模糊。<b
2011-01-07 11:03:00 1111
原创 OGRE笔记
<br /><br />之前看了两天OGRE结果就没看了,现在重新开始,边用边研究源码,写点笔记,多吸取点引擎的东西,有写的不对的麻烦指出: )<br />概念:场景管理器,场景节点和实体<br />OGRE最基础的框架 SceneManager, SceneNode, Entity<br />SceneManager管理渲染到屏幕上的东西,记录所有物体的位置,摄象机位置。<br />Entity可以理解为场景中渲染的任何一个3D模型,和Instance差不多吧,OGRE中渲染的对象是节点,不能将Entit
2011-01-07 11:02:00 1243
转载 Ogre中实现换装系统
<br /><br />换装系统是每款网游中都必须实现的东西,原理说白了也很简单,就是把装备(通常是Mesh)挂接到人物的骨骼上,根据角色需要可选择不同的装备替换,Ogre中的骨骼动画系统中可以直接把一个Object挂接到骨骼上,但问题是Ogre中一个Object只能挂到一块骨骼上去,对于一些覆盖面广的装备(如衣服)则不那么适用,所以Ogre中不能通过这种直接的方式实现换装,目前一般用以下几种方法实现.<br /><br />一.对于可选装备比较少的游戏,用这种方式实现非常简单实用:一开始做人物模型的时候就
2011-01-07 11:01:00 1493
转载 MaterialSystem分析
<br /><br />MaterialSystem分析<br />最近以为写引擎,需要研究ogre,以下是研究材质系统的结果。部分内容参照了《Pro.OGRE.3D.Programming》中文版。<br />1. Mesh 、SubMesh、SubEntity和Entity<br />所有的Mesh对象是由SubMesh构成的,每个SubMesh代表了Mesh对象的一部分,该部分只能使用一种Meterial。如果一个Mesh只采用一种Material,那么它可能只包含一个SubMesh。<br />当基
2011-01-07 11:00:00 813
转载 Ogre 材质
<br /><br />“材质(material)”,材质是一个很基本的术语,表示你的物体对光的反射方式。但是对它的实现并不像其解释这样简单,我们会用这一章节进行详细地介绍Ogre中相关的技术。<br /><br /><br /><br />我们刚才提及过,材质定义了物体对光线反射的处理方法。这里暗示了材质的表现与光源的类型相关:聚光(Spotlights)、点光源(point lights)以及有向光(directional lights)对材质的表现有着完全不同的影响。简单来讲,它们都是对物理世界真实光
2011-01-07 10:59:00 2936
原创 OGRE资源相关分析
<br /><br />Resource<br />Resource的类继承体系如下:<br /> Resource代表着一类可以被载入的资源,比如Mesh,Texture等。每个资源有其唯一的Name,根据Name可以定位到某个资源,这样也确保了资源只能被载入一次。并且Resource必须在一段时间不使用的时候要被删除。<br />要实现为Resource子类有以下要求:<br />1. 构造函数和Resorce有相同的参数。子类构造函数不允许有其它的参数传入,如果
2011-01-07 10:58:00 651
转载 开源游戏引擎KlayGE简介
KlayGE是一个开放源代码、跨平台的游戏引擎。它是用C++开发的,并使用Python作脚本语言。KlayGE在GPL协议下发行。KlayGE是用于下一代游戏的一个完整的游戏开发框架。它是API无关的插件是结构,提供了很多先进技术,并确有无限的扩展性。KlayGE的设计目的非常明确,用最先进的技术武装引擎。它所提供框架使游戏的开发、测试、移植得到简化。KlayGE的目标平台是今年发布的最高硬件到上一年发布的最低硬件。视觉特效完全支持可编程流水线。多条渲染流。各种不同的数据可以放在不同的流中渲染,需要跟新数据
2011-01-07 10:55:00 1391
原创 Ogre材质脚本属性
<br />顶层Material属性<br /> <br />属性名 值的格式 描述<br /><br />lod_distances <d1> [<d2> ... <dn>] LOD的距离列表<br /><br />receive_shadows <on>|<off> 阴影是否会投在这个物体上(默认为on) <br /><br />tr
2011-01-07 10:40:00 761
转载 OGRE疑问解答
<br /><br />1. 缓冲(buffered)输入方式和非缓冲(unbuffered)输入有什么区别? <br /> unbuffered:不断的响应按键信息,直到按键放开。例如,按下上下左右,使得角色持续移动。 <br /> 一般来讲适合于3D场景漫游过程,当在每帧渲染之前,系统捕获输入设备状态,并根据这些状态对场景中的物体和摄象机进行控制。 <br /> buffered:在一个按键放开之前,只处理一次输入信息。 <br /> 例如呼出
2011-01-07 10:39:00 557
转载 修改ETM,用Ogre实现《天龙八部》地形与部分场景详解(附源码)
<br /><br />本文主要讲的是《天龙八部》游戏的地形和一部分场景的具体实现,使用C++, Ogre1.6,我摸索了段时间,可能方法用的并不是最好的,但好歹实现了。文章可能讲得有点罗嗦,很多简单的东西都讲了。我是修改了ETM(Editable Terrain Manager)实现的地形,其实单单实现天龙八部的地形场景等的载入根本不需要使用ETM,直接用Ogre的顶点->索引->纹理就可以搞定地形,但我要做的是可以实时编辑的,所以用了ETM,场景其由于很重要的粒子和model等部分我还没去看,所以等以后
2011-01-07 10:37:00 2016 3
原创 天龙的地形实现技术
<br /> 天龙的地形实现技术 1 收藏<br /> 天龙的场景主文件为.Scene文件,其中定义了一个场景的灯光,天空,地面,以及所有的实体<br />偷了两张图片来说明文件格式:<br />;<br />scene文件的实际格式<br /><br />terrain是由和Scene文件同名扩展名为.Terrain的文件定义的<br /><br />地形的信息保存在heightmao中,实际上是一个193X193的raw格式的文件;前八位标识版本号,后八位中,前四位为宽,后四位为高;<br />FI
2011-01-07 10:34:00 935
原创 用Ogre实现《天龙八部》场景中水面(TerrainLiquid)详解
<br /><br />本文主要讲的是《天龙八部》游戏中水面(TerrainLiquid)的具体实现,使用C++, Ogre1.6 。 <br />天龙的水面做的比较简单,虽然没有倒影,但动态纹理+深度图做出的效果还行,看着不是特别假。<br />一般情况下,TerrainLiquid有一层动态纹理,有的还会有一层1D深度图纹理,深度图纹理用来控制不同深度水面的透明度。另外还会给出一个坐标,可以称之为种子坐标,通过这个坐标可以填充整个水面。总的来说要实现天龙的水面只要搞清楚两个问题<br />1.如何利用种
2011-01-07 10:32:00 838
原创 从3DS MAX建模到Ogre实时动画的制作过程
<br /><br /> 3DS MAX是一个强大通用的建模工具,能方便的制作骨骼动画。Ogre是一个开源的图形引擎,在骨骼动画方面支持Vertex blending,它也提供了对多种模型的导入,当然少不了3DS MAX模型。<br /> 在此我将叙述从3DS MAX建立模型,到最终利用此模型在OGRE中制作实时动画的全过程。本文只给出各个步骤,对每个步骤的实现细节不予叙述。<br /> 首先当然是安装3DS MAX和OGRE SDK,另外特别值得一提的是需要安装OGRE为导出.MA
2011-01-07 10:28:00 1225
转载 浅谈Ogre的四元数与旋转
<br /><br />简介:<br />如果你在Ogre中处理完对象,发现它们不像你想象的那样旋转。那么,此时阅读这篇文章,大概会有些勉强。当我刚接触Ogre时,我用了很长的时间才理解了向量(vector)。在学习矩阵(matrix)时,那时我还不懂四元数,矩阵的某些知识点搞得我非常迷茫。这篇文章是针对Ogre中四元数旋转的实际运用,其中没有介绍相关的数学知识。<br /> <br />必备知识:<br />在学习四元数之前,让我们回顾一下欧拉角、矩阵和向量数学这些基础知识。在这篇文章和Ogre中,我们使
2011-01-07 10:23:00 891
转载 Ogre源码剖析 - 场景管理之Octree
<br /><br />由于本人的引擎ProjectGaia服务于08年创新杯的游戏项目 – 3D太空游戏,所以理所应当加入Octree(八叉树 – 已经周宁学长发帖介绍过)场景管理器.参考了无数Octree的代码,发现还是我们可爱的Ogre写的最好,于是狂看n千行代码,把精髓提取出来给大家共享.<br />鉴于我们游戏版教程又n久没有更新了,今天发一篇我对Ogre场景管理器之Octree源代码分析的笔记.<br />所有代码采用伪代码.<br />首先回顾一下Ogre场景管理的架构<br /><br />
2011-01-07 10:18:00 1391
转载 Ogre源码剖析 -FrameListener.frameRenderingQueued
<br /><br />新版Ogre的帧监听器(FrameListener)新加了一个方法,frameRenderingQueued,查看例子后发现,原先的frameStarted基本都被这个方法所代替了,决定打开源代码看看Ogre的意图。<br /> 我们从renderOneFrame开始分析,这个方法只有三句话。 1 bool Root::renderOneFrame(void)<br /> 2 {<br /> 3 if(!_fireFrameStarted())<br
2011-01-07 10:10:00 968
转载 Ogre源码剖析 – 可扩展性&插件机制
<br /><br />Ogre是一个跨操作系统平台的开源3D引擎,既支持DirectX,也支持使用OpenGL,支持可替换的场景管理算法(BSP, OCT)。为Ogre提供这些灵活可扩展性的基础之一就是其面向插件的设计。<br />很多常用的软件大都提供了插件接口,用以扩展应用程序设计者最初未想到的功能,比较常见的譬如PhotoShop的滤镜,After Effect中的各种插件(最有名的比如shine),3dMax的插件譬如渲染器,魔兽世界的辅助插件等等。<br />通常,插件本身通常也需要实现主应用程
2011-01-07 09:51:00 1019
转载 Ogre中的碰撞检测(完整版)
<br /><br />Ogre中的碰撞检测(完整版)<br />原创UI动力 韩举<br />http://www.uipower.com/<br />请注明转载地址<br />Ogre是开源的封装了DirectX和OpenGL的3D引擎<br />Ogre的下载和安装见http://www.uipower.com/bbs/dispbbs.asp?boardID=24&ID=225&page=1<br />此主题相关图片如下:<br />http://www.uipower.com/bbs/UploadF
2011-01-07 09:37:00 1002
Ogre通过OpenCV实现视频纹理
2011-09-08
最简单的Ogre系列之三——添加自定义鼠标(不使用任何GUI)
2011-05-11
Numerical Simulation in Fluid Dynamics-A Practical Introduction
2011-03-29
VS2010中加入Flash
2011-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人