噪声纹理

现在学习到了“噪声”部分,感觉书上讲解地比较浅显,我对Perlin噪声的原论文比较感兴趣。下面是原文的连接: http://freespace.virgin.net/hugo.elias/models/m_perlin.htm 由于众所周知的问题,国内无法访问这个地址。:( 于是,我又辗转找到了這篇论文。 ...

聚光灯

今天根据第6章的介绍,实现了聚光灯的着色器。教材上有很多写错的地方,我在实现这个着色器时遇到了不少坑,好在是搞定了。 上图中,变量 uAngle 表示聚光灯的角度;uLeftRight 变量用于调整聚光灯的投射焦点,进一步改变光照的方向;uWidth 用于调整聚光灯边缘的模糊程度。当 uWidth = 0.0 时,聚光灯的边缘会显得非常锐利。 ...

着色器和纹理

现在开始学习“第9章 片源着色器中的表面纹理”。 先粗略浏览了一下本章的内容,发现一个关键问题:我还是不太明白到底什么是Texture(纹理)。 我在学习jMonkeyEngine3时,也曾使用AssetManager加载过Texture对象,它们似乎只是普通的Image(图片)。我的疑问是:Texture与Image有什么异同点呢? 在jME3中,Texture对象有一些特别的参数,比如 WrapMode、WrapAxis、MinFilter、MagFilter。 ...

理解着色器

这几天,陆陆续续学完了“第7章 顶点着色器”和“第8章 片元着色器和表面外观”。基本上理解了什么是渲染管线,也明白了GPU编程与一般程序开发的差异。最让我高兴的是,终于明白了“平滑(Gouraud)着色”与“Phong着色”是什么意思,并且自己动手实现了一次ADS光照模型。 另外,为了弄清楚自己电脑支持的OpenGL和GLSL版本, ...