自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

转载 碰撞检测

碰撞检测在3D游戏中至关重要,好的碰撞检测要求人物在场景中可以平滑移动,遇到一定高度内的台阶可以自动上去,而过高的台阶则把人挡住,遇到斜率较小的斜坡可以上去,斜率过大则把人挡住,在各种前进方向被挡住的情况下都要尽可能地让人物沿合理的方向滑动而不是被迫停下。在满足这些要求的同时还要做到足够精确和稳定,防止人物在特殊情况下穿墙而掉出场景。       碰撞检测做得好了是应该的,不易

2014-06-26 10:26:02 3248

转载 辐射度算法

简介:这篇文章是一个经典的辐射度算法的教程,详细的讲述了如何通过辐射度算法为静态场景计算光照贴图。这也是大多数游戏所采用的技术。现在很多的论文和书籍都讨论了如何在实时渲染中应用光照贴图来产生逼真的光照效果,然而他们主要着重于如何组织光照贴图。而光照贴图究竟是怎样计算出来的,也就是全局照明算法,却极少有资料进行详细的解释。我在网上搜索到这篇文章,看了之后受益匪浅,于是决定将它翻译出来,让更多的人了解

2014-06-25 16:58:41 1908

转载 Python/Lua/Ruby 大PK

译者按:Python、lua和ruby在C/C++是日渐式微的情况下,在java/.net的围歼中努力抗争的三个当红小生。在TomGutschmidt的著作《Game Programmng with Python, Lua andRuby》一书中,介绍了三种语言在游戏中的应用,其中尤为了不起的是在书中最后一章中比较了三种脚本,作者没有说孰优孰劣,但是读者你认为呢?欢迎留言讨论。本文最初发表于恋

2014-06-25 16:39:29 621

转载 十大开发技术

能跟上关键技术的发展,是你在就业市场和未来保持优势的最佳手段。你对我们列出的十门技术精通吗?哪怕是大略精通?我不知道你的具体工作是什么。如果你是某冷门领域的专家而变得不可或缺,或者你们的公司十分稳固,以你现有的技术就足以安度你的职业生涯,那我不知道你是否有失业的危险。不管怎样,请你先不要急着寄出那些告诉我你们的公司对用VB3十分满意或你们除C以外永不用其它语言的信件,并保留起那些讲

2014-06-25 16:13:43 607

转载 可靠的UDP编程

大家都知道UDP这个东西太不可靠了,存在着乱序,丢包,包重复等缺点,但它的速度快,包有界等优点,但在实际编程中要自己处理乱序啊之类的问题会发疯的。也许大家说用TCP就得了,第一点TCP的速度比较慢,第二个TCP是一个数据流一样的东西,我们要传数据的话还得处理数据的分界问题,也挺麻烦的。    针对这个问题,ENET这个库实现了一个性能介于TCP与UDP之间,完成可靠(不丢包,按序),保持数

2014-06-23 14:01:20 767

原创 shimmer/空气干扰/空间扭曲

Step1.         ClearNormalMap( 128, 12

2014-06-20 17:54:25 751

转载 Anti-Alias

http://blog.csdn.net/codeboycjy/article/details/6312758  前两天在浏览游民星空的时候,小编居然在文章中挂了一篇技术文章,是关于SRAA的。对于AA的了解很少,正好入职之前还有几天的空闲时间,所以就这个机会把AA的一些基本算法简单学习了一下,不过也只是学习到了一点皮毛而已。 本文将简单介绍四种反走样算法,他们分别是:

2014-06-18 15:36:49 1092

转载 [nvidia]显卡底层知识

原文是由nv的技术总监cem cebenoyan在cgdc12上带来。非常好的介绍了很多显卡底层,从硬件到driver,到windows os的一些知识,受益匪浅。nvidia在cgdc上一直保持着高水平的presentation,赞!5个常常会造成图形性能卡顿的原因:shader编译显存用光了->使用system memory->paging资

2014-06-17 19:21:56 1085

转载 根据深度图重建物体位置

第一种方法: 存储 投影后z/w,并结合x/w,y/w, 通过 乘以投影矩阵的逆矩阵 再除以w得到物体的位置;[c-sharp] view plaincopy// 深度pass的顶点shader代码:  output.vPositionCS = mul(input.vPositionOS, g_matWorldViewProj);  output.vDepthC

2014-06-17 18:57:45 887

转载 SSAO实现

by José María Méndez 原文链接: http://www.gamedev.net/reference/programming/features/simpleSSAO/ 绪论 全局照明(global illumination, GI)是一个计算机图形学术语, 它指的是所有表面之间相互作用的光照现象(光线来回跳动, 折射, 或者被遮挡),

2014-06-12 14:46:06 994

转载 LightMap 生成

为了增加场景的表现力,在渲染中添加光照效果必不可少。首先用某种算法对整个场景生成光照渲染效果,然后再将光照渲染效果以纹理的方式来存储,将场景中各个多边形所对应的光照效果存于光照贴图中,这样的话在实时渲染时,只需要对场景在原有纹理渲染的基础上添加多纹理的融合即可渲染出光照效果。然而这样得到的光照贴图是和场景中每个单一多边形相对应的,因此若场景中有N个多边形就需要对应N个光照贴图,这样在渲染时就需要对

2014-06-12 11:48:36 1201

转载 KD-Tree

Kd-树 其实是K-dimension tree的缩写,是对数据点在k维空间中划分的一种数据结构。其实,Kd-树是一种平衡二叉树。举一示例:假设有六个二维数据点 = {(2,3),(5,4),(9,6),(4,7),(8,1),(7,2)},数据点位于二维空间中。为了能有效的找到最近邻,Kd-树采用分而治之的思想,即将整个空间划分为几个小部分。六个二维数据点生成的Kd-树的图为:

2014-06-12 11:08:26 612

转载 AS3实用库

下文内容转自http://www.eoocy.com/article.asp?id=3下面是非常有用的类库,找到他们的时候我兴奋的不得了APIs、Libs、Components1、as3ebaylibhttp://code.google.com/p/as3ebaylib/2、as3youtubelibhttp://code.google.com/p/as3you

2014-06-12 10:56:07 742

转载 NPR-卡通渲染

(一)卡通渲染卡通渲染是一种特殊的非真实感绘制技术,它要求帖图由不明显的渐变色块夹杂一些不复杂的纹理组成。它强调粗细线条和简单色块,忽略细节。利用这些很简单很纯粹的线条和色块,就能渲染出设计师所要求的质感很强的卡通效果,从而营造出互动的二维动画世界。 采用该技术的游戏:《网络急速赛车》    卡通绘画中,包含:勾边、卡通光影、边缘光晕、头发高光等技术,如下:

2014-06-12 10:47:11 1102

转载 NPR-Hatching素描渲染

Hatching(素描)渲染——通过光照的强弱,用不同深浅的纹理,实现一种类似素描效果。  Hatching的实现原理是:通过N.L计算点受光的强弱,将该值分成不同的段,不同的光照强度对应不同深浅的素描贴图 算法对应的VS如下:[cpp] view plaincopyVS_OUTPUT vs_main( VS_INPUT In

2014-06-12 10:45:54 785

转载 Cascaded Shadow Map(CSM)

Cascaded Shadow Map(CSM)是目前引擎中主流的阴影技术,效率与效果均不错。它与传统的单张Shadow Map的区别主要在于将视锥体进行了层次的分解,每一层单独计算相关的SM,这样在渲染大场景的阴影就可以避免传统的SM的各种缺点。典型的CSM原理基本上如下图所示:虽然看起来原理简单,但是在实际中想实现一个健壮的CSM并不容易,涉到各种问题,其中一些是这种方法本身就

2014-06-12 10:37:29 1122

转载 Ambient Occlusion(AO)

AO(Ambient Occlusion)是图形学领域近来较为流行的用来获取较为真实的全局光照效果的一种方法。这种方法针对要渲染的全局场景,利用每个渲染像素点周围的几何体分布的遮挡信息来确定当前点的AO效果。基于AO的渲染方法可以有效地增强人类视觉系统对场景全局的认知能力[Luft06]。它提供了很好的一种质量和速度间的均衡。1. AO的理论基础    传统的实现方法,通常使用光线

2014-06-12 10:35:15 734

转载 Screen Space Ambient Occlusion(SSAO)

1. 简介AO(Ambient Occlusion)是全局光照中(Global Illumination)中一个很重要的概念,主要用来描述物体间的相互遮挡关系 以及漫射光线之间相互作用的效果。AO的主要方法是在每个采样点上计算它被其它几何体元遮挡的程度,进而得到在一个统一的光照强度下场景中的软阴影效果的图形算法。一般的3D处理软件中均有该算法提供,但是所有这些都是基于离线的渲染,直到在Cr

2014-06-12 10:34:17 975

转载 Deferred Decal

Decal渲染是一个引擎中重要的一部分,记忆中印象最深刻的就是以前CS中的弹痕与爆炸痕迹了。目前来说,Decal的实现方法也比较多,而且感觉还跟游戏类型有关,比如子弹乱飞的射击类FPS游戏中对贴花系统的要求就比较高,因为本来Decal的变化就比较丰富。一般来说贴花渲染主要有两种实现方法:Texture projection关于投影纹理的原理网上也有很多文章,基本就是需要对地形渲染两遍,一遍

2014-06-12 10:27:25 880

转载 各种光照的算法原理 菲涅尔法则

光照与物体表面的相互作用可以通过将一些数学公式应用于基于per pixel(区别于基于顶点)的着色,从而模拟出真实生活中的各种材质效果。比如浮雕效果,波浪效果,油漆效果等。在这个教程中,我们有如下假定:第一,我们讨论的是基于像素着色(per-pixel basis),每个pixel有它自己的位置向量,法线向量以及表面颜色(Surface color,在这里可以是来自纹理的颜色,

2014-06-12 10:18:06 1156

转载 法线变换

在图形学中,同样的一个模型视图变换矩阵可以用来变换点、线、多边形以及其它几何体,也可以变换多边形表面的切向量。比如:posEyeSpace = ModelViewMatrix * posModelSpace。但是,同样的方式通常却不能够用于法线的变换(注意:在有些情况下是可以的)。一、法线和顶点坐标的区别顶点坐标表示缺省的,而法线向量的表示缺

2014-06-11 18:03:56 632

转载 光照数学模型

1。Lambert光照模型,也就是漫反射光照模型。它考虑的是ambient光和diffuse光对物体的综合影响。下面是我写的shader程序:  matrix WorldMatrix;matrix ViewMatrix;matrix ProjMatrix;matrix WorldMatrix_IT; //世界矩阵的逆再转置,为了把顶点法向量变

2014-06-11 14:14:26 1541

转载 游戏开发者眼中的Unity 3D网页游戏测评报告

目前,能够实现3D页游的主流技术有Silverlight.XNA、Flash、HTML5和Unity3D。其中,Unity3D作为一款专注于3D游戏的浏览器插件,近期在国内外页游产品线骚动异常;本人从多方收集到可注册的Unity3D页游测试发现,当下的Unity3D技术应用尤其在国内正遭遇着尴尬而无奈的窘迫境地,原因为何?大伙不妨先看看其中7款游戏测试数据:《骑士的远征》(国产)类

2014-06-06 11:57:21 1651

转载 RTMP协议概述

介绍:RTMP协议是被Flash用于对象,视频,音频的传输.该协议建立在TCP协议或者轮询HTTP协议之上.RTMP协议就像一个用来装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV中的视/音频数据.一个单一的连接可以通过不同的通道传输多路网络流.这些通道中的包都是按照固定大小的包传输的.网络连接(Connection)一个Actionscript连接并

2014-06-06 10:17:01 480

原创 06年写的粒子编辑器

最近在研究Flash 3D, 发现几个框架的粒子系统都

2014-06-06 09:53:16 790

转载 perlin 噪声

(转)perlin噪声函数  http://freespace.virgin.net/hugo.elias/models/m_perlin.htm许多人在他们的程序中使用“随机数产生器”,以使得物体的运动行为更加自然,或者用来生成纹理。随机数产生器在一些情况下很有用,但是它们生成的结果和自然结果相比,往往显得比较粗糙和生硬。这篇文章介绍使用广泛的Perlin函数,它常用在模拟自然物体的

2014-06-04 19:01:45 909

转载 Instance渲染技术

引言:      最近刚好有个项目要用到这个技术,就学习了下DXSDK的Sample里面的Instancing10。      实例化的技术是利用多个顶点缓冲区有效的合并,减少Draw Call的次数,从而有效的提高程序的性能。实例化比较适合于相同物体的重复渲染,例如粒子系统,草被模拟等等。      本文实现了一个非常简单,甚至简陋的实例化的Demo。虽然Demo非常简单,但是实例化

2014-06-04 16:29:51 2425

转载 RGB和HSV颜色转换

RGB和HSV颜色转换分类: 图像处理2008-07-21 21:50 2979人阅读 评论(2) 收藏 举报integer算法工具c360 H参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别相隔120度。互补色分别相差180度。 纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率。S=0时,只有灰

2014-06-04 15:51:52 699

转载 抛弃MFC, 转向.Net

现在我们的工具全是MFC的, 维护起来那叫一个郁闷一直在找一个C++中好用的UI库, 看过Qt(看起来到不错, 懒得学), wxWidgets(跟MFC一个样), 剩下的就不说了......前段时间发现了Xtreme ToolkitPro, 里面那些Samples很强大, 也有过用它来做界面的冲动但是想想, 这东西还是基于MFC, 一样还是要手动写........很

2014-06-04 15:48:12 697

转载 HDR效果

HDR, High Dynamic Range, 高动态范围三项处理:1.       Glare, 即Bloom/Glow, 一种发光的效果, 包括曝光处理2.       Streaks, 即Star-like glow, 星光效果3.       Ghosts, 即Lens Flares, 镜头光晕通常情况下, 只做第一种处理, 这样的HDR效果上并没有差

2014-06-04 15:20:52 715

转载 径向模糊

最先在这里看到:http://www.gamerendering.com/2008/12/20/radial-blur-filter/这效果在鬼泣4中切换场景时见过, 极品飞车12的运动模糊也有这种感觉.原理:    确定一个中心点(如0.5, 0.5), 跟当前像素连一条线. 以当前像素为中心, 在线上的附近像素进行采样, 最后取一下平均值.代码翻译成HL

2014-06-04 15:19:34 1009

转载 C++与Flash交互

研究Flash嵌入游戏中的可行性.......渲染问题已解决事件响应已解决下面是C++与Flash AS的交互, 以MFC为例:1. 新建一个MFC Dialog程序2. 添加一个Flash控件 3. 把Flash控件添加一个变量 4. 在OnInitDialog()中添加载.swf文件

2014-06-04 15:16:58 678

转载 STL容器比较

在STL中基本容器有: string、vector、list、deque、set、mapset 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了string、vector、list、deque、set 是有序

2014-06-04 15:13:51 459

转载 3D游戏中显示网页

在游戏中显示网页? 为什么要这么做呢?其实可以做不少的应用:嵌入帮助文档, 比如技能介绍, 可以做得很漂亮, 各种排版方式用传统UI做起来很费劲活动公告页面直接在游戏中查看游戏内的BBS/社区玩家的个性展示/资料等等最重要的是, 所有的这些内容都可以扔到web服务器上, 不用打包进客户端最早是用LLMozLib 实验过, 编译这玩意儿费了我老大劲儿, 最终发

2014-06-04 15:11:53 643

转载 传统3D游戏引擎的Web化

最近floh大神的blog又复活了, 现在n3的主要发展发向是web化其实也是跟PC和主机平台的衰落有关, 各种移动设备正在逐渐取代PC的地位而做为一个3D游戏引擎, 想要适应这个潮流却不是很容易先不考虑其它, 光技术上面临的问题就很棘手:C++目前无法直接用于web开发, 必然要面临老代码转换/移植的问题3D硬件加速的渲染在浏览器这边, 没有一个统一的标准

2014-06-04 15:07:25 543

转载 战争迷雾

说到战争迷雾(Fog of War, FOW), 其实还是非常普遍的一项技术, 在RPG, RTS等游戏中得到了广泛的应用 但是关于这方面的资料非常少, 经常会有人问怎么做, 所以就有了写这篇文章的想法从应用上来说, 有两种:探索范围: 通常在RPG游戏里, 用于标记走过的地图区域视野范围: 通常在RTS游戏里, 用于标记友方单位可以看到的区域当然, 在魔兽

2014-06-04 15:06:12 742

转载 几款常用物理引擎比较

1. Havok:  老牌的君王,支持功能如下:  · Collision Detection - including Continuous Physics?  · MOPP? Technology - for compact representation of large collision meshes  · Dynamics and Constraint So

2014-06-04 14:52:51 5829 1

转载 深入理解Direct3D9

深入理解D3D9对图形程序员来说意义重大,我把以前的一些学习笔记都汇总起来,希望对朋友们有些所帮助,因为是零散笔记,思路很杂,还请包涵。其实只要你能完美理解D3DLOCK、D3DUSAGE、D3DPOOL、LOST DEVICE、QUERY、Present()、BeginScene()、EndScene()等概念,就算是理解D3D9了, 不知道大家有没有同感。有如下几个问题,如果你能圆满回

2014-06-04 14:40:35 579

转载 左右手坐标系的区别

左右手坐标系的转换问题。左右手坐标系的差别在于几个方面:1. 首先左右手坐标系的摄像机坐标系的构造方式是不同的,区别在于右手坐标中摄像机坐标系的负Z轴方向代表了,摄像机的方向也就是。而左手坐标系中的正Z轴代表了摄像机方向。因此在左手坐标系中摄像机坐标系的Z轴是(Look at - eyepos)而右手坐标系中摄像机的Z轴则是(eyepos - Look at )因为右手坐标系中

2014-06-04 14:38:40 1463

转载 Uniform Grid , KD-Tree , BVH 性能比较

Ray tracing中,每条光线都需要和场景中所有的图元求交(这里我们假设所有的图元都是三角形)。Brute force的方法就是一点一点的遍历每个图元,然后找出与光线交点距离光线起始点最近的图元,当然这种方法的算法复杂度是O(N)的,对于少量的图元还可以,如果图元数量很多,光线跟踪的过程将非常慢。事实上,大部分的图元距离光线都是非常远的,只有一小部分的图元有可能与光线相交,所以没有必要遍历

2014-06-04 14:30:23 1886

空空如也

空空如也

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

TA关注的人

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