- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 Bicubic Interpolation (双三次插值)
在Wikipedia (http://en.wikipedia.org/wiki/Bicubic_interpolation) 上找到了bicubic的描述,不过它只给出了知道导数情况下的公式。后来在CSDN上找到了C语言的算法描述(http://topic.csdn.net/t/20021118/15/1186136.html),改造了一下做了个测试。他没有给出插值样条,通常使用sin(x *
2007-08-29 22:14:00 12664 6
原创 RichEdit打造完美语法着色器
由于不需要显示Outline内容,使用RichEdit来制作语法着色器成为大多数人的首选。但这中间也有很多问题需要一个一个的解决:1、解决闪烁使用LockWindowUpdate是不能完好解决这个问题的,必须用SetRedraw。2、处理Tab键缺省的Tab键处理不会在编辑框中插入/t,有人使用PreTranslateMessage来截获WM_KEYDOWN。这个方法可行。我使用的方法是重
2007-08-28 16:20:00 2230 1
原创 分形专用语言开发完毕
FMF的嵌入式DSL的核心基本上开发完毕了,正如以前所设想的,语言运行的时候是直接在语法树上执行的。流程控制语句只有if/else if/else以及while循环,break和return等。程序的语法类似javascript,只支持复数类型,输入的浮点数和整数都会被当成复数处理。用关键字var来定义临时变量,一条语句只能定义一个变量,定义变量的时候允许赋值。可以用[real_part_ex
2007-08-17 23:54:00 1450
原创 实现了一个简单的语法分析器
今天实现了一个简单的语法分析器,支持的数据类型只有double,流程控制有if、while、break、return。支持一些内嵌的API,如cos、sin等。允许C++风格的双斜杠注释以及C风格的/* */注释。可以在函数内部定义局部变量,不一定要在函数开始的地方。/* This is a test script */double func1(double arg1) { return
2007-08-16 21:46:00 1496
原创 学习编译理论,实现DSL
准备为FMF实现一个脚本插件,可以通过编写脚本的方式来实现各种分形组件。以前做过一个,用的是Microsoft Script Control结合javascript,但速度慢得让人无法接受。由于分形是计算密集型的,打算实现一个嵌入式的DSL (Domain-Specific Language)。以前从来没有接触过这方面的内容,上学的时候也没有学过相关的课程,对程序语言和编译理论的了解几乎为零。要
2007-08-15 13:37:00 1275
原创 双线性插值(Bilinear Interpolation)
在图像放大算法中,双线性插值简单而有效,可以让结果图像显得平滑而不是呈现锯齿状。它的原理很简单,把临近四个点的像素值与相应的贡献系数相乘后加起来就可以了。 //bilinear interpolationint x1 = ((int)x) % bp.bmWidth;int y1 = ((int)y) % bp.bmHeight;int x2 = (u1 + 1) % bp.bmWidt
2007-08-12 21:08:00 5030 1
原创 纹理映射
做纹理的时候主要涉及到几方面的问题。一是加载外部的图片文件,我用OleLoadPicture。另外是通过纹理坐标得到纹理的颜色值,我用的是双线性插值。还有就是计算交点处的UV值了。等这些都完了后,用材质本身的颜色调制一下得到最终的颜色值。本文属Span Zhang(张友邦)原创,转载请注明出处。中国原创分形艺术、中国原创分形软件第一站
2007-08-06 23:48:00 981
原创 基于Perlin Noise的法线扰动
Perlin噪声有很广泛的应用(http://freespace.virgin.net/hugo.elias/models/m_perlin.htm),特别是在生成漫无边际的地形方面。由于它的连续性以及在给定点处的噪声恒定的特点,用在光线追踪里面可以作为法线扰动的好方面。不仅如此,它还可以作为凹凸映射的函数用来影响UV坐标。本文属Span Zhang(张友邦)原创,转载请注明出处。中国原创
2007-08-05 07:49:00 1337
原创 Renderosity关于FerryMan Fractal的介绍文章
前段时间因为Siggraph的东西优先级太高了,FerryMan Fractal的介绍被推后了。现在终于放出来了:http://www.renderosity.com 本文属Span Zhang(张友邦)原创,转载请注明出处。中国原创分形艺术、中国原创分形软件第一站
2007-08-04 17:44:00 1178
原创 体积光和软阴影(Volume Light and Soft Shadow)
把点光源扩展了一下,允许指定体积。在体积光模式下,需要指定采样范围以及采样模式。float radius;int volume;int samplingMethod;其中的volume是采样密度,也就是相当于体积的一个系数。radius指定了采样范围,samplingMethod指定了采样范围。下图是使用stochastic采样10个点,外部使用Adaptive Grid作自适应采样的结果
2007-08-04 11:20:00 2221 1
原创 采用树形bounding box渲染的图片
对场景组织作了调整,采用树状的包围盒来分隔空间。Primitive被做成了recursive的结构,整个场景就是一个Primitive。每一个场景都有自己的一个包围盒,子场景也有自己的包围盒。intersect的时候从顶向下逐级过滤。对底层的单个三角形的intersect仍然采用包围球来计算,球体的intersect也一样不采用包围盒判断,因为考虑到一个球体和它的包围盒之间差别不大。结合分形迭
2007-08-03 14:07:00 1119
原创 三角形边界球的一次测试结果
为三角形带中的每一个三角形都加上一个bounding sphere,在一次测试中比不加包围球的情况要快2.06倍。测试中用了2600个三角形,边界球直径比三角形主分量长度大0.02倍。本文属Span Zhang(张友邦)原创,转载请注明出处。中国原创分形艺术、中国原创分形软件第一站
2007-08-01 10:28:00 819
适合Ruby 1.9.1的Ruby-FCGI源码包
2009-10-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人