国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: SHOW| 阳朔县| 神农架林区| 临沧市| 浦县| 绥阳县| 麻城市| 普兰店市| 阜平县| 佛教| 长宁县| 镇宁| 霍城县| 安新县| 冕宁县| 托里县| 沙洋县| 兴文县| 阿鲁科尔沁旗| 平武县| 新宁县| 安泽县| 自治县| 昌黎县| 弥勒县| 军事| 同心县| 宜黄县| 望城县| 洪雅县| 疏附县| 东港市| 合阳县| 云安县| 襄汾县| 安西县| 桂平市| 富川| 盖州市| 建昌县| 宝应县|