CSDN博客

img BlackStorm1981

3D Link

发表于2004/10/15 16:12:00  2593人阅读

分类: 3D

厚积薄发

2004-10-13
最近一些链接

Doom III和MD5文件格式读取的代码(DX版本)
::URL::http://personal.telefonica.terra.es/web/codegarrofi/

图形学领域常用的多边形模型(强烈推荐)
::URL::http://www.cs.brown.edu/research/graphics/games/brown-mesh-set/index.html

Graphics Interface(里面的文章都可以下载)
::URL::http://www.graphicsinterface.org/

图形学会议日程
::URL::http://202.120.25.86:2000/_private/Resources.htm

SIGGRAPH papers 
Eurographics/SIGGRAPH Graphics Hardware Workshop Papers下载链接:
::URL::http://www.cs.brown.edu/~tor/

Physically Based Rendering官方网站:
::URL::http://www.pbrt.org


antsam 发表于 >2004-10-13 12:59:02 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-10-4
Radial Blur


这是上次Nvidiappt的一个关于radial blur的流程.

下面是我用土办法实现的,效果没有它的好:主要是blur的算法不好(或者说系数不好).


改进办法有两点:
1,改进blur的算法
2,移植到GPU上.

在nehe上有一个例子(第36个)是radial blur的,其关键是不断的blend,
其实效果是近似了高斯blur的效果.
nehe.gamedev.net

有什么关于blur的算法或链接可以留言或e-mail交流.

antsam 发表于 >2004-10-4 21:00:31 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-9-28
中秋快乐!!!

别忘了吃月饼,去年没吃搞得我很郁闷!
所以提前吃了很多^_^.


antsam 发表于 >2004-9-28 19:45:02 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-9-18
Material System 笔记

纹理,材质
texture、material、texture manager、material system
各自扮演的角色等等。

对于材质的定义我们引用half life 2中有趣的定义:

Materials System

- Instead of traditional textures, Source defines sets of materials that 
  specify what the object is made from and the texture used for that object.  
  A material specifies how an object will fracture when broken, what it 
  will sound like when broken or dragged across another surface, and what 
  that object mass and buoyancy are. This system is much more flexible 
  than other texture only based systems.

- Materials can interact with objects or NPCs such as mud or ice for 
  vehicles to slide/lose traction on.

纹理只是材质的一部分,现在基本上渲染的时候同时用到很多纹理,一般情况下用
Material来代表材质;用texture来代表一层纹理主要是filter的属性、mipmap、
混合方式等等;Material中不仅记录各层纹理的上述属性,还有一些diffuse等光照
属性,以及用到的vs 和ps shader的文件名等等。Texture manager和material 
system,则是用来控制这个场景中用到的Material,一般用脚本的形式进行保存。
还有就是DirectX和OpenGL中的纹理数据或接口还是通过Texture manager和Material
system统一进行管理的。


渲染过程中以Material为单位设置纹理,纹理属性,shader和shader相关属性。

那么pass怎么初始化,怎么进行渲染等等还没有想好,希望又兴趣的朋友交流。
AntsamCGD@hotmail.com

antsam 发表于 >2004-9-18 23:43:06 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-9-15
Team 3D Game Engine Feature(TODO) List

这是目标,虽然只是目标,但总比没有目标的好,大而全和细而精本身就是
一个矛盾,忧郁还不如step by step.

Team 3D Game Engine Feature(TODO):
Basic and Utility
  -- Math
  -- Debug
  -- Utility Function  
  -- FPS

Scene Graph
  -- Resource Manager
  -- Scene Manager
  -- Collide detection(Third Party lib supported) 
  -- BSP ...
  -- ...

Shader System(Render System)
  -- HLSL and shader 2.0 supported
  -- Shader Manager
  -- Transition Table
  -- Shaders
     -- NPR
     -- BumpMap
     -- Shadow
     -- Water
     -- ...

Material System

Animation System
  -- Key Frame animation
  -- Skeleton animation

Particles System
  -- Lightning
  -- Raining
  -- Snowing
  -- Cloud(fix me) 
  -- Fur(fix me)
  -- (Third Party)
  -- ...

Script System
  -- JavaScript

GUI and Message System
  -- Button
  -- Window
  -- Check Box
  -- Text Box
  -- Label Box
  -- Scroll
  -- List Box
  -- Drop List
  -- ...
  -- Message Despatch

FileSystem
  -- Various Animation Model Supported
  -- Various Scene Model Supported
  -- Various Texture format file Supported(May be Third party)
  -- Stream data 
  -- ...

Terrain 
  -- Lod
  -- Detail texture
  -- Infinite Terrain
  -- ...

Special Effect
  -- ...

Tool

Audio System
  -- Wave(DirectSound)
  -- Mp3(DirectMusic)
  -- Video(AVI, Mpeg)(DirectShow)
  -- 3D sound 
  -- ...

AI System (third party: DirectAI or Fear) 
Physic Lib (third party)
  -- Tokamak Game Physics Lib(Free) ::URL::http://www.tokamakphysics.com/

antsam 发表于 >2004-9-15 12:52:37 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-9-12
HL2 engine feature list

::URL::http://bbs.chinagamedev.net/showthread.php?t=7691

比较感兴趣的部分(特别是Material System,比较有趣):

Renderer

- Version 2.0 (and below) shaders, bump mapping, LOD on models and world
- Author shaders with HLSL
- Cube and environment mapping
- Dynamic lights, vertex lighting and light maps, many light types including 
  flickering, pulsing etc.
- High-Dynamic Range lighting
- Water with refraction and fresnel effects
- Advanced particle system that can emit sprites or models
- Projected shadows allow for a large number of characters per scene
- Occluder entities for visibility blocking
- Indoor/Outdoor environments
. Deformable terrain
. 3D skyboxes extend the horizon and add parallax on distant objects . 
  Dynamically rendered organics (grass, trees etc)
- Subdivision surfaces, diffuse & specular bump maps
- Real-time radiosity lighting
- Effects include but are not limited to: particles, beams, volumetric smoke, 
  sparks, blood, environmental effects like fog and rain
- Scalability
. Dx6-Dx9 hardware supported

Materials System

- Instead of traditional textures, Source defines sets of materials that 
specify what the object is made from and the texture used for that object. 
A material specifies how an object will fracture when broken, 
what it will sound like when broken or dragged across another surface, 
and what that object mass and buoyancy are. This system is much more 
flexible than other texture only based systems.

- Materials can interact with objects or NPCs such as mud or ice for 
vehicles to slide/lose traction on.

Advanced Characters

- Detailed and believable characters
- Realistic eyes
. Focus on player/object, not simply parallel views . Proper eye ulge?
  for realistic eye reflections
- Simulated musculature provides outstanding emotions, speech and body language
- Language independent speech, characters can naturally speak in many languages
- Skeletal/bone system for animation
- Layered animation system can synthesize complex animations out of several pieces

Physics

- More responsive world with realistic interactions
- Sounds & graphics follow from physics
- AI characters can interact with physically simulated objects
- Ropes/cables, machines, constraint systems, ragdoll physics
- Can be controlled by level design
- Kinematic animated bone followers
- Custom procedural physics controllers
- Vehicles
. Wheels slip and skid
. Realistic suspensions with springs on each wheel . Realistic leaning during 
acceleration/deceleration and turning . Individually tunable parameters such
as horsepower, gearing, max speed, shift speed, tire material, tire friction, 
spring tension/dampening etc.
. Multiple players in a vehicle in multiplayer . Hovercraft support for 
cheaper simulation

antsam 发表于 >2004-9-12 20:20:35 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-9-12
2004年NVIDIA开发者十全十美厨艺大会

这次参加NVidia开发着大会,收获不少,有不少内容是GDC2004的,也有几个是新的:

Secrets of the Demo Team

主要是讲6800的两个demo:Nalu和Timbury

做了一些笔记,对于Nalu:
1、头发阴影

主要是用多层shadow map进行阴影测试。 【OSM】

2、Volume Light
用的是Radial Blur,虽然好像是体绘制,其实用的是图像处理的方法。

3、头发模型
用到了计算几何中用控制点来创建曲线的。控制点则用Particle System来实现。
...

在Iron Developer 2004 Presentations中:
::URL::http://developer.nvidia.com/object/iron_dev_2004_presentations.html
可惜这个presentation是日文的。

Timbury则主要讲的是HDR的技术。

还有一篇非常好:
GPU Performance Analysis & Tuning
主要用是讲bottleneck的分类,以及用nvidia的工具来分析bottleneck所在的方法。

还有一个demo影响非常深,讲的主要是:
DX9 Instancing API

DX9SDK也有Instance的例子。

还有一些就是在GDC2004上的Presentation。


antsam 发表于 >2004-9-12 20:03:58 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-9-8
Edge detect

边界的种类可以分为三种:

(1) silhouettes(轮廓线)
(2) crease edge
    (a) ridges(类似山脊)
    (b) valleys(类似山谷)
(3) intersection


现在给出他们的定义:
silhuettes是指front face同back face的交界线。
crease ridges是指两个front face面的夹角小于某个阀值的时候的交线
crease valleys是指两个front face面的夹角大于某个阀值的时候的交线
intersection则是两个front face的交线,但是必须是能反应模型信息的face。

勾边的方法:
1. M$的方法,用AlphaTest,V*N取边上的顶点,问题是要求模型顶点数量、曲面,效果不好(千里马肝)。
    把v*n的值作为alpha值,然后用appha test,通过控制阀值来控制线的粗细.

2. 2pass,backface线框,设置线宽,问题是D3D不支持线宽,仅能在OpenGL上实现,效果好(千里马肝)。
-这个方法d3d确实不行,我用每条线一个quad的方法来,但是由于quad的朝向问题没用实现
  (billboard),有些方向的效果不行。
  不过可以在勾边时候选择cullmode为相反的 ,设置一个depth bias.绘制线框模式(sevecol)
   进行改进.

3. 2pass,放大modleview,backface纯黑,三个轴缩放比不易控制,效果一般(千里马肝)。
-是直接放大position.w,当时随手试的;或者matrix放大。效果是3个轴上缩放不好控制
  这个方法不是很好,很多边找不到(因为吧zbuffer给关掉的缘故)
  
4. nvidia的方法,用normal map(千里马肝)
-其实就是ps的方法.

5. 预处理模型,计算边(千里马肝)
-这个方法同第二个方法结合起来,试过一下,计算量挺大的,outline需要每帧都计算。

6. 2pass,沿法线放大(千里马肝)
-是正确的放大方法,沿normal扩大back face,使用2pass
  1pass画正面,阴影
  2pass画背面,逐vertex += normal * 0.2,color只取diffuse = 0 
  这也是只用vs的最佳效果和方法,但是需要2pass,face上去了,不过也没办法,XIII也是这种方法
  这个方法不是很好,很多边找不到(因为吧zbuffer给关掉的缘故)


7. PS
-利用normal map和depth map分别找出边界,合并,效果比较好。当然可以只用
normal map 或 depth map,可能会少一些edge。


这里介绍一下ps的流程:
计算depth map和normal map(参考[3])

 depth map                    normal map

对这两张图进行图像处理(参考[3][4]), vertex 和pixel实现方法参考[5]

depth map处理结果        normal map处理结果

最后叠加的结果(边如果有锯齿是图片缩小的结果,可以点击图片):


下面是用per vertex 和quad处理的结果,可以对比一下.



Thanks to :
千里马肝
sevecol


Reference:
M$方法:
[1]::URL::http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndir3d/html/dxvertex.asp

CGD关于NPR的讨论:
[2]::URL::http://bbs.chinagamedev.net/showthread.php?t=6812&page=1&pp=15

放大模型的可以在nvidia网站上找到资料

ps的方法:
[3]Cartoon-looking rendering of 3D- scenes.pdf
[4]Comprehensible Rendering of 3-D Shapes.pdf

[5]Non-Photorealistic Rendering with Pixel and Vertex Shaders 
::URL::http://www.ati.com/developer/shaderx/index.html

[6]Hardware Support for Non-photorealistic Rendering

[7]A Non-Photorealistic Lighting Model For Automatic Technical Illustration


antsam 发表于 >2004-9-8 13:47:27 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-9-4
lightning

闪电的模拟

参考资料:
Visual Simulation of Lightning(到google上搜索一下)

这片文章的模拟不是基于物理原理的,而是通过随机函数来模拟的,
所以的效果不一定符合物理意义。

所以这个过程中随机函数的好坏直接影响模拟的效果。我们尽量控制
branch和main stroke的概率符合物理规律。

boost里面有一个random的专门的库(thx 千里马肝),不过我没有去用过。


下面是一些模拟的效果:
(不是每一次模拟都符合物理意义的,我截了一些好的)








antsam 发表于 >2004-9-4 23:23:57 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-8-28
JavaScript Embedding (2)

对于JavaScript Embedding 的理解还有偏差,希望大家交流。
因为关于JavaScript Embedding 的结构的文档不是很多,所以
这些理解不一定正确。

Application同Javascript的交互分为:
1、在Application中调用Javascript中定义的脚本函数
2、在Javascript中调用Application中定义的函数和全局变量。
3、在Application中运行脚本。


在上面所提到的各种交互中,实现场景的一级结构是比较简单的,
但是如果需要实现场景的树的结构就比较复杂了。

要建立一棵树型结构目前为止的一个解决方案是通过Jval作为两个一级
结构的桥梁,最终实现树型结构的目的。

区别:
Var
Object
Element
Property
Data slot

Var Object的区别在于Prototype和instance的区别,Object是定义Class或struct,
而Var则是定义一个实例。

所以建立一棵Object Tree的问题就同C++中类似,先定义一些类和结构,然后把一些
类或结构作为其他类或结构的成员变量。这就是为什么前面所说的object好像只能是
一个二级结构而不能是树结构,有了成员变量以后就能达到树的结构了。

而Element、Property都是为了定义成员变量:
JS_SetElement
JS_SetProperty

JS_DefineElement
JS_DefineProperty

注:如果想把某个object同c++中的变量连接起来用
JS_SetPrivate


最后一个Data slot的作用就是把Object Tree中的每个节点同Application中的文档
的树型就构挂钩起来,这样对Object Tree中的操作(函数调用、变量引用等等)就
映射到Application中文档就构相应节点的操作。


注意Define系列函数、Set系列函数和New系列函数的区别:
JS_DefineElement  JS_SetElement 
JS_DefineFunction  JS_NewFunction 
JS_DefineObject  JS_NewObject 
JS_DefineProperty  JS_SetProperty 

Define系列函数针对某一个具体的Object定义一些属性
New系列函数则是生成一个空的属性,不依附于其他Object,类似于c++中的New等
Set系列这是将空的属性挂到某一个Object上


//摘录,对SM的术语理解有一定的帮助
multiple levels of abstraction.
jsvals represent JSObjects, 
which have private data that 
points to an interface to the 
object I am representing


实现树型就构有两种办法:
一是:在初始化的时候就建立全部的Object Tree

优点: 1、在以后的运行过程中不需要在建Object Tree,在运行速度上会有一些优势
缺点: 1、可能占用比较大的内存控件,所以一般只适合场景较小的情况
2、场景结构的变动对Object Tree的影响较大,所以一般只适用静态场景的情况

二是:进行动态的创建,只有到调用的时候才建立相应的场景树

有点: 1、使用较大的场景
2、使用动态场景
缺点: 1、在速度上会有一定的影响

对第一种方法举下面一个例子:
JSObject* const sceneobj = JS_NewObject(ct, &generic_object_class, 0, 0);
JS_SetPrivate(ct, sceneobj, &scene);

JSObject* nodeobjs = JS_NewArrayObject(ct, 2, NULL);
JS_DefineProperty(ct, sceneobj, "nodes", OBJECT_TO_JSVAL(nodeobjs), NULL, NULL, JSPROP_ENUMERATE);
JS_DefineFunction(ct, sceneobj,"print",&print, 0, 0);

JSObject* nodeAobj = JS_NewObject(ct,&generic_object_class,0,0);
JS_SetPrivate(ct,nodeAobj, scene.m_nodes[0]);
JS_DefineFunction(ct, nodeAobj,"print",&printinfoA, 0, 0);

JSObject* nodeBobj = JS_NewObject(ct,&generic_object_class,0,0);
JS_SetPrivate(ct,nodeBobj, scene.m_nodes[1]);
JS_DefineFunction(ct, nodeBobj,"print",&printinfoB, 0, 0);

JS_DefineElement(ct, nodeobjs, 0, OBJECT_TO_JSVAL(nodeAobj), NULL, NULL, 0);
JS_DefineElement(ct, nodeobjs, 1, OBJECT_TO_JSVAL(nodeBobj), NULL, NULL, 0);

jsval scene_value = OBJECT_TO_JSVAL(sceneobj);
JS_SetProperty(ct, globalObj, "scene", &scene_value);

这样就可以执行下面的脚本:
scene.nodes[0].print();
scene.nodes[1].print();
scene.print();


antsam 发表于 >2004-8-28 11:36:26 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-8-27
【引用】我所理解的Monte Carlo Ray Tracing

一篇Monte Carlo Ray Tracing理解的文章
::URL::http://www.blogcn.com/user2/sevecol/index.html?id=3318146&run=.09D4C2F
我所理解的Monte Carlo Ray Tracing 

--------------------------------------------------------------------------------

对于Monte Carlo Ray Tracing不是很了解,理解可能有些偏差和错误.

传统的光线跟踪算法不能计算diffuse->diffuse之间的光线传递,也就是没有diffuse-diffuse之间的color bleeding.另外一种全局光照技术辐射度可以完成diffuse之间的光能传递,但是没有办法实现镜面反射和折射.现在有两种技术能比较好的结合上面的那种方法的优点,那就是photon map和Monte Carlo Ray Tracing.

Monte Carlo Ray Tracing故名思意就是在光线碰到面时候反射的时候使用Monte Carlo积分的方法计算真实光照效果.这里有一个比较需要注意的地方就是采样的分布,我们知道我们不可能完全模拟,所以说符合分布的采样就能在较少的采样情况下表现出较好的图像质量.我们知道反射需要遵循BRDF,也就是说使用BRDF pdf是我们的采样的概率分布函数.我们通过一些技术能将按照[0,1]X[0,1]的均匀分布的采样,转换到半球上,符合BRDF pdf.

一般我们的处理过程是:
我们从eye射出一条光线,和场景作碰撞检测,如果有碰撞,如果是光源,返回,如果深度大于阀值,返回,否则根据碰撞面的BRDF pdf,我们产生采样点,根据Monte Carlo积分法求出光照信息(产生的光线递归)

对于最终的图像质量我们一般采用prefliter来改善,使用分层的非均匀采样,对于每个象素点,然后在结合.

欢迎大家拍砖

不知道有没有同样对这个技术感兴趣的朋友,大家可以交流交流  
我的MSN:sevecol@sina.com


antsam 发表于 >2004-8-27 21:17:30 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-8-19
一些好书出中文版了,大家有福了^_^



原书名: Real-Time Rendering,Second Edition [原书信息]  
原出版社: AK Peters, Ltd.  
作者: Tomes Akenine-Moller,Eric Haines  
译者: 普建涛  
书号: 7-301-07105-1 
::URL::http://www.china-pub.com/computers/common/info.asp?id=20566




Cg教程:可编程实时图形权威指南(预订)  期书 

作者:[美]Randima Ferrnando,Mark J.Kilgard
译者:洪伟 刘亚妮 李骑 丁莲珍
出版社:人民邮电出版社
ISBN书号:7-115-12430-2 出版日期:2004年7月
::URL::http://www.dearbook.com.cn/book/viewbook.aspx?pno=TS0023227




游戏开发物理学(预订)  期书
Physics for Game Developers 

阅读数:243
作者:David M.Bourg
出版社:电子工业出版社
ISBN书号:7-xxxx 出版日期:2004年8月
::URL::http://www.dearbook.com.cn/book/viewbook.aspx?pno=TS0023373

 
大家祈祷吧,不求同原版一样,但求翻译过得去,有点专业知识。

antsam 发表于 >2004-8-19 14:02:46 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-8-13
JavaScript Embedding (1)

1、Javascript是什么?
   Javascript是Netscape开发的一款脚本语言,在网页的客户端和服务器端应用
非常广泛。
   简单的讲,Javascript是一种支持原型和对象构造的动态的脚本语言,在语法
上同Java和C++非常的相似,例如语言的结构上,if、for、while、switch以及
try……catch等都是一样的。
   Javascript的函数可以是面向过程语言,也可以是面向对象的语言。在
Javascript中对象首先被创建,然后赋予不同的函数和属性,达到同Java和C++在
编译期间定义类相同的效果。这样我们就可以在Javascript通过这种方式定义具
有相同属性的一系列对象。具体的语法可以参看Javascript的参考手册。

2、Javascript的实现方式。
   那么Javascript怎么在浏览器客户端和服务器端实现的呢?在Netscape的
mozilla浏览器中有两种办法实现,一种是由Brendan Eich实现的Javascript 
Engine,被称为SpiderMonkey,是用C语言编写的;另外一种是由Norris boyd
的用Java编写的,被称为Rhhio。

3、Javascript engine embedding overview。
   Javascript engine的作用就是使应用程序支持Javascript,用更通俗的说法
就是我们可以在Javascript中调用应用程序的一些公共接口函数对应用程序的某
些变量属性进行修改,从而达到交互的效果。

   所以我们必须通过两个步骤:
   a、定义一些公共接口函数(SAI或者DOM)
   b、把这些函数通过Javascript engine定义
      一些在javascript中对应的接口。
这样javascript编写的程序通过Javascript engine编译运行,实际上就是调用
公共的接口函数。

4、DOM(SAI)
   DOM  的作用在于定义一些Javascript访问应用程序的接口,对于不同的应用
程序,根据需要自己设置,但是DOM本身由一定的标准,可以参考DOM的reference。

5、Embedding Javascript into your apprication。
   这个就下次再写吧,很有很多问题没有解决

6、Reference
Overview of the JavaScript C Engine
::URL::http://www.mozilla.org/js/spidermonkey/apidoc/jsguide.html

Tutorials:
::URL::http://www.mozilla.org/js/spidermonkey/tutorial.html
::URL::http://sourceforge.net/docman/display_doc.php?docid=10853&group_id=50913

Readme(里面有一些embed的示例代码)
::URL::http://lxr.mozilla.org/mozilla/source/js/src/README.html

Javascript engine (c edition) reference
::URL::http://www.mozilla.org/js/spidermonkey/apidoc/sparse-frameset.html

Source code
::URL::http://www.mozilla.org/download-mozilla.html

DOM reference
::URL::http://www.w3.org/DOM/DOMTR

Mail list(这里算是比较好的提问的地方了):
::URL::http://news.gmane.org/gmane.comp.mozilla.devel.jseng

antsam 发表于 >2004-8-13 19:17:53 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-8-12
3D Engines Database

Welcome to DevMaster's Game and Graphics Engines Database, 
your source for 3D Engines. This database is committed to 
providing you with the most accurate and up-to-date 
information for current engines around the web. Each 
engine contains a brief description as well as a list of 
supported features and general info (platform, API, etc.). 
In addition, you will find reviews/ratings from 
DevMaster.net staff or community members to help you 
decide which engine is right for you. Find out what 
other useful tools we've included to make this resource 
a fun and interesting one, guaranteed to increase your 
knowledge and understanding. This is a great way to know 
how your engine compares with others or to learn how 
engines use state-of-the-art technology.

::URL::http://www.devmaster.net/
::URL::http://www.devmaster.net/ engines/
网站上还有很多文章,不错的站点。

以前也有一个3D engine的list:
::URL::http://www.3dengines.net/


antsam 发表于 >2004-8-12 12:39:02 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

2004-8-8
Half life 2 的ShaderSystem

Half life 2 中把shader system 分为shadow和shaderapi两部分,其实它把
传统的quake系列的shader脚本用shadow来代替了。shadow通过第一次渲
染记录mesh渲染所需要设置的状态,然后同场景中所有的其他物体渲染状态
之间建立一张transition table,以减小状态的切换,达到提高渲染速度的目的。

antsam 发表于 >2004-8-8 10:58:45 保存该日志到本地 [全文] [评论] [引用] [推荐] [档案]

About

Computer Graphics
Game Programming

责任会使你觉得现在有事可做,
计划会然你发现以后还有很多事
情要做!


Entries

· 最近一些链接 (2004-10-13)
· Radial Blur (2004-10-4)
· 中秋快乐!!! (2004-9-28)
· Material System 笔记 (2004-9-18)
· Team 3D Game Engine Feature(TODO) List (2004-9-15)
全部档案文件





MSN:AntsamCGD@hotmail.com


Comments
· 比较全面的Radiosity文章:
这篇..
(2004-9-2)
· 哈哈!不好意思!先谢谢!
zheng_x..
(2004-8-30)
· COMPUTER ANIMATION: ..(2004-8-25)
· 能不能也给我一份?谢谢!(2004-8-22)
· 能不能发个清晰一点的:D(2004-8-16)
· 人与人的差别,绝大部分来自于行动力。

..(2004-5-31)

 

Links:

中国游戏开发者
sevecol.blogone.net
szlongman.blogone.net
Siggraph
Eurographics
NPAR
HWWS
SI3D

Books:

Texturing & Modeling: A Procedural Approach
GPU Gems
Non-Photorealistic Computer Graphics
Level of Detail for 3D Graphics

Categories
 
日 
 
 

Login
用户名

密 码

 
Blogs I read


 

 
RSS频道

power by Blogcn.com

模板修改说明(必读)

阅读全文
0 0

相关文章推荐

img
取 消
img