自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

安柏霖的专栏

game developer

  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 VolumeParticle(2)

http://developer.amd.com/media/gpu_assets/ArtAndTechnologyOfWhiteout(Siggraph07).pdf 这个文章很全面,包含了很多东西,这里就做volume particle部分吧,效果很赞: 这里主要是集中在shadow上的内容。在lightview这个pass上记录particle的minz和maxz,两

2009-12-30 23:18:00 1439

原创 VolumeParticle(1)

关于VolumeParticle这个名词比较难以定义,有的号称在sprite的texture里面加入normal信息,光照信息根据方向结果不同也算是volume particle。在GPU Gems的Volume Rendering Technique里面:http://http.developer.nvidia.com/GPUGems/gpugems_ch39.html号称volum

2009-12-30 10:53:00 1553

原创 游戏开发者非常需要全面

这个和之前的关于不可唯技术系列blog有类似,但是最近在工作中有进一步的认识。几年做下来很大的一个感触就是,在没有经过实践的时候,太多想法真的就是想当然。 最近发现一些事情让我感到哭笑不得,一个做了年头很多的美工过来和我讲一些技术上不着边际的需求。之前遇到这种情况,或者读到类似的事情,我会想这个需要交流,他不懂那么你去解释清楚,这个就好了么,毕竟美术就是美术,不需要懂那么多技术。程

2009-12-30 00:18:00 1347

原创 ZOJ1115

很简单的题,但是仍旧错了好几回,关键是输入时候需要考虑int表示不了的事情,需要读入string,然后计算加成int。而且这个string buffer要开的够大,开始开char str[100];居然出现segmentation fault.备份下例程:#include int calc(int num){ int result = 0; do { resu

2009-12-29 23:25:00 1595

原创 Cache in action

cache这个东西在游戏开发中绝对是扮演超级巨星的角色。在处理器(cpu,gpu)发展如此神速的今天,几乎ALU计算很难成为瓶颈,而数据访问则常常成为问题所在。 cache是一个硬件上的结构(virtual memory则是由操作系统来控制),是对processor访问memory的一种优化。概率问题在软硬件设计中起了很大作用像cache这个依照space和时间上的重用高概率,像s

2009-12-29 09:43:00 1481

原创 原来要用IE写CSDN blog啊

原来用chrome,最近opera得了速度冠军转向opera,但是写起来那叫个痛苦,发布个东西频频失败,之前有敲了n久地东西都没了的痛苦经历。 最后一顿试看来还是IE比较好。

2009-12-28 23:35:00 1103

原创 VirtualMemory重温

呃,以前考过好几遍了,但是发现和具体问题结合起来仍旧会有认识不好的地方。在总结下吧。 总结时候就用ps3(其实就是linux,涉及到权限说一声,我赶紧删除,囧)来做实际结合(唔,不敢保证都正确,对照书,文档和自己理解来吧) virtual memory本质上属于一种抽象表示,让system可以脱离开硬件的限制(比如memory大小)来工作。所以cpu与之交互的是virtual

2009-12-28 20:35:00 2134

原创 单纯的算法练习和demo练习是非常必要的

之前对算法练习和一些图形或者物理的demo书写很不感冒。 原因是写类似图形算法或者demo,是没法拿到真正实用的数据也没法真正的测试,只有在实际项目中作出实现才能拿到实际的数据和测试结果(看看这个做法是不是够强力,来在最后产品中使用)。比较崇尚把大项目单独copy一份出来,作为codebase,在上面实现。 这个当然也可以,没问题,对于research性质的东西这么做也是比较合

2009-12-27 17:45:00 1423

原创 ZCull的小启示

哈哈,发现总结编程算法和实际生活的联系好欢乐啊。 发现自己读书和文章时候的方法其实就是zcull的算法(ps3上叫zcull,xbox360上是hierarchy-z,pc上好像叫early z)。 zcull算法就是在rasterization做完了之后即将进入pixel shader之前,要对每个fragment做一次检测,如果这个fragment会被遮挡,就直接扔掉。 

2009-12-26 20:32:00 1678

原创 DynamicProgramming&Greedy的小启示

记得doom启示录里写道carmack相信,生活里的任何问题都可以编程解决。 尽管这个我觉得有点夸张,但是今天看算法导论时候的确感觉有些启示。 比如就是动态规划和贪心就是比较有指导作用的做法。 在寻找最优解的时候,动态规划就是从最小的子问题,然后一步步逼近到最终问题,逼近的过程可以说考虑现在和将来,逼近结束了,最优解也就是出现了。 贪心则是总是选择现有的最佳解。

2009-12-26 19:39:00 1536

原创 和项目一样,公司大了就是会慢

之前看了原来微软现在google的道奇的采访,里面谈到ms做事更加慢,不如google快。比较希望他给出一些更细节和中肯的比较。公司大了就是变得更加复杂,这个过程中所谓的慢和快应该是指相对于他这个规模它的速度是怎么样的。要求熊和老鼠一样的转身敏捷是不合理的。但是比较熊和猩猩的敏捷倒是可以一说的。 话说回来,有时候觉得公司做事慢,屁大点事情搞半天,这个简直在搞笑么。这时候

2009-12-26 13:56:00 1387

原创 就是写注释版汇编

稍微有点标题党和偏激,但是此刻就是觉得写代码的态度就应该是写注释版的汇编。 用汇编的想法来理解c++/c/shader(hlsl,cg...),然后写代码是比较清晰的这些代码会变成什么东西。 非常清晰的这是什么。 在开始常常看汇编之前,是带给我非常好的编程感觉的一本书。 在了解程序是怎么在接下来编译和运行的时候,你可以写一些傻瓜代码,非常容易读懂,变量名和书写方式都

2009-12-26 13:31:00 1656

原创 ShaderModel3里面的条件判断

 ShaderModel3里面的if真是让我有些小意外。  Attribute&默认情况 dx sdk里面提到if可以有两个[attribute]可以用: float result;if(k){ result = 1.0f;}else{ result = 2.0f;} 或者:float result;[flat

2009-12-25 21:36:00 2607

原创 项目随笔

 做事情都有其客观的内在规律,遵循这个规律,就可以接近或者达到其最好的速度进行。如果脱离规律,希望按照自己主观去引导,就会发生揠苗助长,大跃进这样的事情。 做项目也是一样。 随着游戏工业持续高速发展,其规模越来越大,做事的深度复杂度在不停地前进,里面很多东西不是看起来那么简单。很多书本上奉为真经的东西在实际应用时候需要新的解读。这方面做的不好,就会潜移默化的伤害

2009-12-25 01:36:00 1233 2

原创 Ambient Occlusion Volumes

http://graphics.cs.williams.edu/papers/AOVTR09/AOV-tr.pdf 看到大概意思这一步,已经觉得这个方向没有前途了呃。 基本算法是类似shadow volume的一种构建对object的bounding volume,只是这个需要考虑到AO的影响范围。 shadow是影响物体在光照方向的延伸,所以就edge detection

2009-12-24 15:24:00 1858

原创 Lockless Programming Considerations for Xbox 360 and Microsoft Windows

dx sdk里面的technical article的文章,比较赞。   Programming with locks 用lock做多线程编程是很直接的一个事情。一个getlock(); 一个releaseLock();就可以保证中间代码执行是线程安全的。 实际情况中比较有问题的还是等待锁时候所花费的时间。这篇文章也正是讨论这种减少锁等待的情况。 

2009-12-23 23:21:00 1579

原创 使用授权引擎的危害

像unreal这种引擎的确带给很多游戏公司很多机会,让它们得以以低成本低风险,有机会开发出高水平游戏。 但是长远看来,觉得使用授权引擎作为起步是合情合理的,如果公司计划比较长远,则需要把脱离授权引擎走自己路列入计划之中。 1,价格昂贵 可能开发一个游戏的引擎授权费并不贵,但是如果n年下来做m个游戏,这个花费就很恐怖了。每个新游戏都伴随着一笔的授权费,这比随意的使用自有引

2009-12-23 22:24:00 1741

原创 IrradianceVolumesForGames

这里就是处理高效存储scene里面的irradiance信息的事情了。就是用空间分割(各种树,比如8叉树,或更加adaptive的8叉树)来做一个irradiance的cache。树的节点存的是irradianc投射在SH上的系数,使用的时候就是一顿lerp,得出需要的点的SH 系数,然后用就可以了。

2009-12-21 20:09:00 2575

原创 Precomputed Radiance Transfer for Real-Time Rendering

全称真长:Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting Environments". DX9 sample里就有demo什么的。 这个文章真的比较喜欢,作者也牛,来自发siggraph最多的Max-Planck-Institut和Microso

2009-12-20 23:42:00 2540

原创 深入浅出才是真高杆

恩,继续之前的火候,唯技术而技术的话题。我想厚积薄发之后应该是深入浅出的编程。尤其是在3D编程这一块,而且这一块做到高端就是在理解图形学,编程和游戏视觉这一块有很好的积累。 深入浅出这一块,首先要求非常理解这一块是怎么回事。比如说室外全局光照,一棵树会反射出一些地面的颜色,这个反射怎么回事,我们是知道的,indirect lighting,场景静态的就预计算的走irrand

2009-12-20 22:53:00 1311

原创 编程就是要讲求个火候

总归是恰如其分最好,设计实现,算法的选择,总归是恰如其分最好,过繁过简都是不合适的。有些像做菜,油盐讲求的恰如其分,才做出来好吃么。 另外就是具有前瞻性的设计,现在看来,编写代码并不是一个很难很耗时的事情,也就是说有些东西推倒重来也没什么。但是把东西做对做好,稳定高效,结构简单易读这个就难了。 所以在我看来,写出来代码就是要可以测试的,如果QA组没法测试你的代码,提前写出来

2009-12-19 14:14:00 976

原创 SIMD to SSE5

SIMD:http://baike.baidu.com/view/188706.htmSSE指令集:http://baike.baidu.com/view/65687.htm 细节了解对于我来讲还不是那么必要,就集中这个指令集进化的核心部分稍微总结下。SIMD指单指令多个数据,比如MMX这种有64bit寄存器,可以放两个int32进去,然后可以一次加两个。在很多处理器,

2009-12-18 09:42:00 1061

原创 SmartCache

http://www.intel.com/technology/architecture-silicon/core/ 就是可以根据实际情况动态分配cache。比如4M L2 cache share给2核,会根据实际需求来动态分配,一个核用的多,可能全占。

2009-12-18 06:42:00 1588

原创 积累可以唯技术,做事不可

一直很喜欢把高杆挂在嘴边,做事喜欢做技术含量高的,这样才好。 最近一些事情让我感觉,放下那点偏执和虚荣,厚积薄发,脚踏实地的根据事情来选择最佳解决方案,才是正道。 做事时候唯技术则犯了本末倒置,绝不可为了技术而技术。 当然积累学习的时候,唯技术是好的。

2009-12-15 19:51:00 1393

原创 ZOJ 1024 Calendar Game

数学秒杀型。。http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=24 自己想的算法很土鳖,然后一搜下好的答案,被秒杀。。。 ********************************************************ZOJ 1024 Calendar GameTips:这是一道博弈题,活的胜

2009-12-14 00:18:00 1926 4

原创 GI中一些基本概念

之前头疼在很多基础概念似懂非懂,很是不爽。今天同事推荐了个文章很好:http://www.cs.ucl.ac.uk/staff/A.Steed/book_tmp/CGVE/slides/radiance_equation.ppt 直接进入主题:flux : 通量,指单位时间通过某个平面的光能,单位是瓦。raddiance : 在单位面积,单位角度上离开一个平面的flux。

2009-12-12 20:39:00 2196

原创 An Efficient Representation for Irradiance Environment Maps

An Efficient Representation for Irradiance Environment Maps link: http://www.eecs.berkeley.edu/~ravir/papers/envmap/envmap.pdf 主要讲针对irradiance environment map计算的优化。 1, irradiance environme

2009-12-10 17:24:00 2472

原创 Light Propagation Volumes in CryEngine 3

http://www.crytek.com/technology/presentations/ Kaplanyan, A.: Light Propagation Volumes in CryEngine 3这个,有PDF,PPT,video   个人感觉是今年siggraph上对游戏业界贡献最高的。这之前典型的UE3里面带的基于静态场景预计算的irradiance

2009-12-09 23:42:00 6812

原创 Lighting and Material of Halo3

[关键东东]:lightmap存的是incident radiance in SH coefficient预计算cook torrence BRDF  个人觉得这个文章非常赞。近期看了一些GI的文章,大多数就是集中在indirect lighting上,这个则从更基础的(也就是更本质,而不是更简单)角度出发,去看lighting和material 的

2009-12-09 20:47:00 2591

原创 设计师应该尊重技术的限制

今天看个gamasutra上的feature文章,感觉不错, link :http://www.gamasutra.com/view/feature/4209/the_designers_notebook_bad_game_.php?page=2 尤其是里面这一点比较有共鸣:设计师应该尊重技术的限制 游戏开发有着多重身份,既是艺术品也是软件,好的设计美术和好的程序是必要条件,但

2009-12-09 18:19:00 1127

原创 Point-Based Approximate Color Bleeding

地址:http://graphics.pixar.com/library/PointBasedColorBleeding/paper.pdfhttp://graphics.pixar.com/library/PointBasedColorBleeding/SlidesFromAnnecy09.pdf 这个来自pixar的论文,本来是用来给CG电影做效果好效率好的lighting的:

2009-12-06 22:07:00 2318 2

原创 Spherical Harmonics lighting

http://www.research.scea.com/gdc2003/spherical-harmonic-lighting.pdf 这个blog只是接触到非常有限的SH的内容,因为里面很多数学的确看起来比较头疼,所以看到够用就停了,理解也比较直白和山寨。 GI讨论的问题,从某个角度看来,可以看作是空间一个点它受到的光照,这个光照来自周围360度,也就是个球面。 其中一

2009-12-06 21:02:00 3949 3

原创 Reflective Shadow maps

http://www.vis.uni-stuttgart.de/~dachsbcn/download/rsm.pdf 先上图:  内容是全局光照,不是shadow,名起的真纠结,囧! 上来先介绍两大全局光照方向----光线追踪和辐射度,都太费! 然后就是间接光照没必要特别准确,差不多就可以让玩家很high了,准不准谁也看不出来,该忽悠别犹豫。 这篇文

2009-12-06 16:29:00 6979 3

原创 Instant Radiosity

呃,写完没法发布。。。辛苦敲一堆字都没了,杯具! RealTime global illumination尺度就到一次间接光照,这个已经是很多电影CG所做的事情,足够了。 Radiosity使用热力辐射来模拟间接光照,这里有一些假设,就是材质的BRDF是diffuse的,也就是漫反射的。 原本的radiosity巨费,是把每个surface分成居多的patch,每个patc

2009-12-06 15:57:00 3527

原创 靠,论文怎么都这么罗嗦

其实很直白的几句话就可以把事情说清楚了,非得写的巨麻烦,然后就是无穷多的数学推理。abstract里面写的又不够全面。个人觉得是不是为了中论文,就要写的要让人不能一下子看懂,否则就太肤浅了。 后来发现个比较有趣的方法,就是看别的论文对这个论文的简述,例如Instant Radiosity An Approach for Real-Time Global Illumination

2009-12-05 23:36:00 1408 1

原创 仍旧是积累造成的不同

《异类》这本书很不错,里面比较科学的分析了怎么成为牛人,以及牛人在什么情况下转化成成功者。 这里仍旧是让我感到积累造成的不同,话说东亚这里的,尤其是中国人的小孩在数学,计算机上面成绩非常棒,但是到了业界,却普遍落后西方很多。 这里在我看来很重要的一个原因还是积累,大家小的时候比较简单,考试考好了,然后xxxx,那么这个时候社会的影响,大家所提倡的等等,导致的就是大家非常的肯吃苦,很

2009-12-05 22:13:00 846

原创 Crytek的积累

最近一直看crytek的关于light propagation volume的东西。顺便也翻出crytek之前的东西来看,真是感叹积累和专注的力量。cryengine从1代farcry开始一直积累,到cryengine2算是站在业界视效的前列,现在更是在理论上达到非常高的高度。达到这一点的一个必要条件就是时间的积累和专注。 看看cod6mw2, uncharted2, assa

2009-12-05 20:14:00 1061

FamilyShowSrc

很赞的WPF open source project,学习的好东东。

2010-01-29

空空如也

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

TA关注的人

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