青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 32  文章 - 94  trackbacks - 0
<2012年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用鏈接

留言簿(8)

隨筆分類

隨筆檔案

好友連接

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

這個(gè)問題在normal mapping階段就已經(jīng)出現(xiàn)了,但是效果沒有用parallax mapping后明顯。具體癥狀如下:

當(dāng)攝像機(jī)的z軸在正確角度時(shí),上下左右旋轉(zhuǎn)相機(jī),這時(shí)看起來parallax mapping是正確的。


但當(dāng)攝像機(jī)沿z方向旋轉(zhuǎn)一個(gè)角度后,再上下左右旋轉(zhuǎn)相機(jī),就會發(fā)現(xiàn)貼圖偏移的方向出現(xiàn)了錯(cuò)誤,貼圖偏移的方向仍然按著攝像機(jī)z軸正確時(shí)的偏移方向偏移。

比如說,攝像機(jī)沿z旋轉(zhuǎn)180度后,上/下旋轉(zhuǎn)相機(jī),物體的模型改變當(dāng)然是隨著顯示俯視/仰視,但是貼圖偏移卻反過來,變成了仰視/俯視;這時(shí)左右旋轉(zhuǎn),貼圖也會出現(xiàn)相反的左視/右視.....
而攝像機(jī)沿z旋轉(zhuǎn)90度或270度時(shí),上下旋轉(zhuǎn)相機(jī),貼圖偏移卻是沿左視、右視改變
攝像機(jī)沿z旋轉(zhuǎn)其它角度時(shí),這些改變也隨著變化,感覺上就是:貼圖的偏移效果仍然認(rèn)為你的眼睛還在攝像機(jī)z軸的正確角度處看。



過后問了一個(gè)高手,他說轉(zhuǎn)換到tangent space算錯(cuò)了,然后我再把那本《openGL shading language》normal mapping里面vs的轉(zhuǎn)換tangent space代碼直接拿過來,計(jì)算的結(jié)果卻更加不正確,畫面都不會有動態(tài)的偏移了,后來又去復(fù)習(xí)了向量旋轉(zhuǎn)的公式,覺得自己的應(yīng)該還是沒有錯(cuò)誤,又在網(wǎng)上找了別人寫過的代碼試驗(yàn),弄了半天還是不對,現(xiàn)在感覺仍然是原來的代碼最接近正確的,但找不到原因,望高手解決。
RenderMonkey源文件:parallaxMapping.rar
有問題的代碼:

 1uniform vec3 LightPosition;
 2
 3varying vec3 EyePos_pointTanSpace;
 4varying vec3 LightPos_pointTanSpace;
 5
 6attribute vec3 Tangent;
 7//uniform vec3 Tangent;
 8
 9void main()
10{
11    gl_Position = ftransform();
12    gl_TexCoord[0= gl_MultiTexCoord0;
13    
14    vec3 eyepos=(0,0,0);
15    vec3 Pos_eyeSpace = vec3(gl_ModelViewMatrix * gl_Vertex);
16    
17    // 眼坐標(biāo)系下的TBN
18    vec3 n = normalize(gl_NormalMatrix * gl_Normal);
19    vec3 t = normalize(gl_NormalMatrix * Tangent);
20    vec3 b = cross(n, t);
21    mat3 TBN = mat3(t, b, n);
22
23    vec3 pointLightPos=LightPosition-Pos_eyeSpace;//光相對于點(diǎn),在眼空間的位置
24    LightPos_pointTanSpace=TBN*pointLightPos;//光相對于點(diǎn),在點(diǎn)的tangent坐標(biāo)系下的位置
25    
26    vec3 eyePos=Pos_eyeSpace*-1.0;       //眼睛相對于點(diǎn),在眼空間的位置
27    EyePos_pointTanSpace=TBN*eyePos;//眼睛相對于點(diǎn),在點(diǎn)的tangent坐標(biāo)系下的點(diǎn)位置
28
29
30}

 

 1uniform sampler2D BumpTex;
 2uniform sampler2D BitMapTex;
 3uniform float HeightFactor;
 4
 5varying vec3 EyePos_pointTanSpace;
 6varying vec3 LightPos_pointTanSpace;
 7
 8void main() 
 9{
10    float height = (texture2D(BumpTex, gl_TexCoord[0].xy)).a;//獲得高度
11   height =(height *2.0)-1.0;
12   
13    vec3 LightDir=normalize(LightPos_pointTanSpace);//光方向
14    vec3 viewVec=normalize(EyePos_pointTanSpace);//眼睛方向
15    
16    vec2 texCoord2=gl_TexCoord[0].xy+viewVec.xy*height*HeightFactor;
17    
18    vec3 BumpNorm=vec3(texture2D(BumpTex, texCoord2));
19    
20    BumpNorm=(BumpNorm *2.0)-1.0;
21    
22    vec4 Co=(texture2D(BitMapTex, texCoord2));
23    
24    float diffuse = max(dot(BumpNorm, LightDir), 0.0);
25    
26    
27    vec3 reflectVec=reflect(-LightDir,BumpNorm);
28    
29    float spec = max(dot(reflectVec, viewVec), 0.0);//反射光 
30    spec = pow(spec, 8.0);
31
32    float color=spec+diffuse;
33    
34    gl_FragColor = Co*color;//vec4(color,spec,0.0, 1.0);
35}


 

posted on 2009-10-24 13:36 陳昱(CY) 閱讀(1435) 評論(2)  編輯 收藏 引用 所屬分類: 圖形學(xué)

FeedBack:
# re: 一個(gè)有問題的parallax mapping,望高手解決 2009-10-28 13:49 coloriy
幫你頂了  回復(fù)  更多評論
  
# re: 一個(gè)有問題的parallax mapping,望高手解決 2010-06-19 00:27 陳昱(CY)
問題已經(jīng)在這一篇解決http://m.shnenglu.com/jedi-CY/archive/2010/06/19/118207.html
居然是RenderMonkey的相機(jī)導(dǎo)致  回復(fù)  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              久久一综合视频| 亚洲国产美国国产综合一区二区| 亚洲桃花岛网站| 亚洲六月丁香色婷婷综合久久| 亚洲国产精品va在线看黑人 | 免费在线观看精品| 美女主播视频一区| 亚洲国产高清高潮精品美女| 亚洲大胆女人| 在线综合亚洲| 欧美在线视频在线播放完整版免费观看 | 欧美高清视频免费观看| 欧美精品亚洲| 国产精品成人观看视频国产奇米| 国产日韩欧美自拍| 在线播放日韩| 一区二区三区日韩欧美| 久久爱另类一区二区小说| 久久一区中文字幕| 亚洲乱码国产乱码精品精天堂 | 欧美成人tv| 国产精品99久久久久久久女警| 欧美一区二区免费观在线| 另类激情亚洲| 国产精品美女久久久| 亚洲高清视频一区| 亚洲女与黑人做爰| 国产日韩精品一区二区三区 | 亚洲第一精品夜夜躁人人爽| 99精品视频免费观看| 久久精品水蜜桃av综合天堂| 欧美视频免费在线| 亚洲国产精品激情在线观看| 午夜免费久久久久| 亚洲欧洲另类| 久久国产主播| 国产精品资源| 洋洋av久久久久久久一区| 久久精品日韩一区二区三区| 日韩亚洲精品视频| 麻豆精品视频在线观看视频| 国产欧美一区二区三区在线老狼 | 99精品欧美| 美女精品一区| 精品成人在线视频| 久久国产天堂福利天堂| 国产精品99久久久久久久久久久久| 久久亚洲精品网站| 韩日欧美一区二区| 久久不射2019中文字幕| 正在播放亚洲| 欧美午夜激情视频| 亚洲午夜日本在线观看| 亚洲日韩中文字幕在线播放| 久热精品视频在线免费观看 | 欧美在线啊v| 亚洲一区二区网站| 欧美午夜视频一区二区| 亚洲午夜电影网| av成人免费| 国产精品v欧美精品v日本精品动漫 | 亚洲欧美日本伦理| 99精品视频网| 欧美网站大全在线观看| 亚洲一区二区成人| 亚洲图片欧美一区| 国产精品你懂的在线| 欧美在线观看网站| 欧美一级久久久| 精品成人一区二区三区四区| 美女黄网久久| 欧美激情综合网| 一本色道久久综合狠狠躁的推荐| 亚洲伦理精品| 国产精品三级久久久久久电影| 国产精品yjizz| 亚洲永久在线| 欧美一区二区三区男人的天堂| 国产午夜精品一区二区三区视频 | 亚洲欧美制服另类日韩| 亚洲网站在线播放| 国产在线精品一区二区夜色| 麻豆成人91精品二区三区| 欧美va天堂在线| 免费精品视频| 亚洲午夜在线观看视频在线| 亚洲一区二区3| 亚洲成色777777在线观看影院| 亚洲国产日日夜夜| 国产精品日韩高清| 老鸭窝91久久精品色噜噜导演| 欧美成年人视频网站| 中文精品视频一区二区在线观看| 亚洲一区二区三区精品动漫| 久久久欧美一区二区| 亚洲精品在线三区| 亚洲欧美乱综合| 亚洲另类视频| 校园春色综合网| 亚洲一级片在线看| 久久精品免费电影| 亚洲影视在线播放| 美女图片一区二区| 欧美一乱一性一交一视频| 欧美1区3d| 欧美一区二视频在线免费观看| 久久久久久尹人网香蕉| 亚洲制服丝袜在线| 欧美国产第一页| 久久综合中文字幕| 国产精品视频观看| 亚洲免费精品| 在线成人欧美| 午夜日韩在线| 午夜精品在线看| 欧美精品久久久久久久久老牛影院| 久久精品91久久香蕉加勒比| 欧美日韩免费网站| 欧美风情在线| 韩国v欧美v日本v亚洲v| 亚洲欧美日韩中文播放| 亚洲一级特黄| 欧美日韩亚洲一区二| 欧美成人精品在线| 狠狠色综合网| 欧美在线日韩精品| 欧美在线网址| 国产麻豆一精品一av一免费| 亚洲乱码国产乱码精品精| 亚洲精品麻豆| 欧美精品免费在线观看| 欧美激情一区二区三区不卡| 在线不卡中文字幕| 久久一区二区三区国产精品| 久热精品视频在线免费观看| 国产一区二区三区精品欧美日韩一区二区三区 | 午夜日本精品| 国产精品日韩一区| 亚洲一区二区视频| 欧美亚洲在线| 国产亚洲精品aa午夜观看| 亚洲欧美激情在线视频| 性娇小13――14欧美| 国产精品视频1区| 性欧美18~19sex高清播放| 午夜精品久久| 国产日产欧美精品| 久久久久99精品国产片| 免费久久99精品国产自| 亚洲电影免费观看高清完整版| 久久蜜桃av一区精品变态类天堂| 欧美成va人片在线观看| 99视频日韩| 国产精品久久久久久久久久久久 | 欧美视频亚洲视频| 亚洲在线一区| 另类激情亚洲| 夜夜狂射影院欧美极品| 欧美视频精品在线观看| 午夜精品久久久久久99热| 久久久免费精品| 亚洲精品视频在线看| 国产精品成人观看视频国产奇米| 亚洲欧美视频在线观看| 美女网站在线免费欧美精品| 最新成人av网站| 国产精品久久久久一区二区三区| 久久精品国产清高在天天线| 亚洲国内精品在线| 欧美诱惑福利视频| 亚洲人成网站999久久久综合| 欧美日韩成人网| 久久精彩视频| 一本一本a久久| 欧美成人亚洲成人日韩成人| 亚洲在线电影| 91久久精品www人人做人人爽 | 美女在线一区二区| 亚洲香蕉网站| 亚洲国产日韩欧美在线图片| 久久成人一区二区| 一本色道久久| 在线播放精品| 国产欧美日韩三级| 欧美日韩免费观看一区二区三区 | 久久精品国产一区二区三区免费看| 亚洲精品你懂的| 国产一区二区三区四区| 欧美日本不卡高清| 久久性色av| 欧美伊人影院| 亚洲一区二区三区在线播放| 亚洲精品国产精品国产自| 久久久久久久91| 国产欧亚日韩视频| 欧美日韩国产小视频在线观看| 久久久久久穴| 久久精品女人的天堂av| 亚洲一区三区电影在线观看| 亚洲精品欧美日韩专区|