国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

3DS模型Bump Map(凹凸貼圖)渲染器

2019-11-17 04:48:59
字體:
供稿:網(wǎng)友
     這是我最近寫的一個東東,支持BMP、JPG、TGA格式,支持Height map和Normal map,現(xiàn)貼幾張截圖與大家共賞,順便鼓勵自己一下,呵呵!     先講一下實現(xiàn)原理和思路:     Bump Map一般分2種:一種是Emboss Bump Map(浮雕凹凸貼圖),它使用的是Height map,原理是在原始圖像的基礎(chǔ)上,對高度場圖像進行復(fù)制、稍微平移、差操作。但它存在很多嚴(yán)重的局限性,它只能用于漫反射表面,對于鏡面高光來說是不可能的。當(dāng)光源直接照射在物體表面時,假如沒有偏移,那么物體表面就不會出現(xiàn)任何凹凸現(xiàn)象。
    另外一種是DOT3 Bump Map(點乘凹凸貼圖),它使用的是Normal Map,這是目前圖形硬件中使用的主要方法,它不需要存儲高度,只需要將表面的實際法線作為(x,y,z)向量存儲在法線圖中,然后可以將含有法線的凹凸紋理和經(jīng)過插值的光源向量在每個象素點結(jié)合起來,可以使用點乘。它的一個優(yōu)點就是可以直接用來計算凹凸塊上的鏡面高光。
    本程序使用DOT3 Bump Map,使用Sobel-PRewitt filter將高度圖(Height Map)轉(zhuǎn)換為法線圖(Normal Map),使用的光照方程是:
        Color = ambient + (N•L)×DifuzeColor + (N•H)^SpecEXP × SpecularColor
    其中點乘使用GL_ARB_texture_env_dot3來實現(xiàn),高光指數(shù)SpecExp使用blend來實現(xiàn)。
   本程序沒使用Shader,純粹是用OpenGL固定渲染管道來實現(xiàn)的,使用GL_ARB_multitexture,GL_ARB_texture_env_combine,GL_ARB_texture_env_dot3擴展,紋理單元使用了2個。 3DS模型Bump Map(凹凸貼圖)渲染器(圖二)
點擊查看大圖
3DS模型Bump Map(凹凸貼圖)渲染器(圖三)
點擊查看大圖
3DS模型Bump Map(凹凸貼圖)渲染器(圖四)
點擊查看大圖
我的QQ是:175910174,BLOG是:http://blog.csdn.net/skyman_2001,歡迎交流!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 通河县| 洪湖市| 襄城县| 罗平县| 云梦县| 赣州市| 耿马| 青铜峡市| 崇明县| 阿拉善左旗| 新安县| 姚安县| 太仆寺旗| 浏阳市| 望城县| 陵川县| 莫力| 阜新| 开化县| 综艺| 青岛市| 瓦房店市| 河南省| 吴堡县| 宣化县| 巫溪县| 香河县| 北辰区| 长海县| 高台县| 张北县| 新源县| 堆龙德庆县| 马关县| 兴业县| 泰兴市| 手机| 富源县| 永顺县| 桂林市| 定西市|