Diffraction Simulation
常见的光照模型(无论是局部光照模型还是全局光照模型)基本上都是基于几何光学的,对于大尺寸几何体和表面粗糙度较大的物体来说,还可以达到逼真的效果。对于几何尺寸和表面粗糙度接近于可见光波长的物体来说,由于会产生衍射(Diffraction)现象,就必须要考虑到光的波动性了。Stam Jos在其论文《Di...
[开源] 在pbrt里添加的bidirectional path tracing
以前上学时写的。现将源代码公布。 mljack.googlepages.com/bidirectionalpathtracing...
一种实时海水的实现(Impletention of ocean water based on projected grid)
这是2004年的一个海水实现,速度虽然不算快,但很漂亮,是用D3D写的,原网址:http://fileadmin.cs.lth.se/graphics/theses/projects/projgrid/ 自己用Ogre实现了一下,可以同时跑在OpenGL和D3D下了,但似乎D3D的效果要略好一点,精...
GTS连续布尔运算失败~
一直在关注和解决的问题是关于实体的布尔运算的问题,这是几何造型上面的一个大问题,也是切削加工仿真等等的核心。虽然有一些技巧性的方法能够模拟“布尔运算”,但是其效果都不好,最直接的还是进行真正的布尔运算,然而这并不是一件很容易的事情。 前段时间也不断的在网络上搜索开源的3D布尔运算库,当时觉得比较满意...
implementation of the particle levelset method
Just fall back from simulating water surface to correctly implementing the particle levelset (PLS) method itself. The test is the classic Zalesak's di...
终于把UNIX下的GTS移植到WINDOWS下面~难啊
最近一致在寻找一个很好的几何实体布尔操作的库,找到了小巧精致但特别功能要收费的的sgCore,强大的不知道怎么使用的openCASCADE,GNU开源UNIX系统的GNU Triangulated Surface Library(GTS),还听闻一些收费的HOOPS等。 最开始,sgCore非常让我...
《Cg Tutorial》中程序改进
《Cg Tutorial》的第四章介绍了场景转换的一些基本概念,并就此给出了一个程序例子,演示了在Cg顶点程序中执行从模型空间到剪切空间的转换。由于顶点程序的模型视点投影距阵参数是uniform类型,因此是通过在应用程序中先手动计算各矩阵(包括平移、旋转、视点以及投影距阵),然后按照转换空间的顺序相...
physically-based water simulation and animation
近几年,基于物理的流体绘制在好莱坞大行其道。其中,Particle Level Set是最具有代表性,也是最成功的一种方法。自从Nick Foster和Ron Fedkiw在2001年首次将之用于流体的模拟,各大特效公司 (ILM, PDI, PIXAR, DIGITAL DOMAIN, SONY...
OSG——选取和拖拽
物体的选取和拖拽算是GUI里面用得比较多的部分,特别是三维的选取和拖拽更是比较麻烦。最近钻研了一下,参考了osgManipulator的拖拽部分和osgPick的选取部分,实现了选取和拖拽。程序使用的方法不一定是最好的。给大家分享分享。如果大家有更好的例子,不妨拿出来一起讨论,谢谢:)注:VS200...