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

隨筆 - 32  文章 - 94  trackbacks - 0
<2009年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用鏈接

留言簿(8)

隨筆分類

隨筆檔案

好友連接

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

這個問題在normal mapping階段就已經出現了,但是效果沒有用parallax mapping后明顯。具體癥狀如下:

當攝像機的z軸在正確角度時,上下左右旋轉相機,這時看起來parallax mapping是正確的。


但當攝像機沿z方向旋轉一個角度后,再上下左右旋轉相機,就會發現貼圖偏移的方向出現了錯誤,貼圖偏移的方向仍然按著攝像機z軸正確時的偏移方向偏移。

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



過后問了一個高手,他說轉換到tangent space算錯了,然后我再把那本《openGL shading language》normal mapping里面vs的轉換tangent space代碼直接拿過來,計算的結果卻更加不正確,畫面都不會有動態的偏移了,后來又去復習了向量旋轉的公式,覺得自己的應該還是沒有錯誤,又在網上找了別人寫過的代碼試驗,弄了半天還是不對,現在感覺仍然是原來的代碼最接近正確的,但找不到原因,望高手解決。
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    // 眼坐標系下的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;//光相對于點,在眼空間的位置
24    LightPos_pointTanSpace=TBN*pointLightPos;//光相對于點,在點的tangent坐標系下的位置
25    
26    vec3 eyePos=Pos_eyeSpace*-1.0;       //眼睛相對于點,在眼空間的位置
27    EyePos_pointTanSpace=TBN*eyePos;//眼睛相對于點,在點的tangent坐標系下的點位置
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) 閱讀(1433) 評論(2)  編輯 收藏 引用 所屬分類: 圖形學

FeedBack:
# re: 一個有問題的parallax mapping,望高手解決 2009-10-28 13:49 coloriy
幫你頂了  回復  更多評論
  
# re: 一個有問題的parallax mapping,望高手解決 2010-06-19 00:27 陳昱(CY)
問題已經在這一篇解決http://www.shnenglu.com/jedi-CY/archive/2010/06/19/118207.html
居然是RenderMonkey的相機導致  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              欧美在线国产精品| 欧美成人免费大片| 亚洲伊人一本大道中文字幕| 国产精品久久久久久妇女6080| 一本色道久久综合狠狠躁篇的优点| 亚洲精品1区2区| 欧美精品乱人伦久久久久久| 亚洲视频播放| 性做久久久久久久久| 一区二区三区在线视频播放| 亚洲高清资源| 欧美性色综合| 久久午夜电影网| 欧美电影在线免费观看网站| 亚洲综合三区| 久久久999国产| 久久人91精品久久久久久不卡| 久久福利资源站| 亚洲区免费影片| 亚洲午夜电影在线观看| 国产一区清纯| 亚洲精品五月天| 国内视频精品| 亚洲看片一区| 精品91视频| 在线综合亚洲欧美在线视频| 影音先锋亚洲电影| 一区二区三区波多野结衣在线观看| 国产日本欧美一区二区| 亚洲国产综合91精品麻豆| 国产精品一区久久久久| 最新国产成人av网站网址麻豆 | 浪潮色综合久久天堂| 欧美日韩精品免费观看视一区二区| 欧美专区在线观看| 欧美日韩你懂的| 亚洲福利视频一区| 黄色国产精品| 亚洲欧美日韩一区二区三区在线| 亚洲精品欧美| 久久精品亚洲一区二区| 亚洲欧美成人精品| 欧美日韩1080p| 欧美激情亚洲综合一区| 国产亚洲欧美一区在线观看| 一区二区三区日韩欧美| 亚洲毛片网站| 免费成人在线视频网站| 久久人人看视频| 国产欧美va欧美不卡在线| 一级日韩一区在线观看| 亚洲最黄网站| 欧美人与性禽动交情品| 亚洲激情影院| 亚洲精品在线免费| 男人天堂欧美日韩| 欧美mv日韩mv国产网站app| 国产一区二区av| 亚洲欧美日韩精品久久亚洲区| 亚洲一区欧美二区| 欧美日韩在线直播| 一本色道久久99精品综合| 在线亚洲+欧美+日本专区| 欧美精品videossex性护士| 亚洲第一毛片| 99精品久久| 欧美日韩影院| 亚洲一二三区在线| 欧美在线观看视频在线 | 欧美在线|欧美| 久久久国产精品一区二区三区| 国产欧美日韩视频一区二区| 欧美一区午夜精品| 蜜桃av一区二区| 亚洲日本成人网| 欧美日韩福利在线观看| 在线亚洲精品| 久久精品最新地址| 亚洲第一中文字幕| 欧美肥婆在线| 亚洲一区精品视频| 久久全球大尺度高清视频| 亚洲激情另类| 中文在线一区| 国产精品久久午夜| 久久精品国语| 亚洲激情国产精品| 在线视频中文亚洲| 国产一区二区你懂的| 美女精品网站| 在线一区二区三区四区五区| 久久电影一区| 亚洲精品无人区| 国产精品美女一区二区| 久久久久久网站| 9久re热视频在线精品| 久久免费黄色| 亚洲少妇诱惑| 黄色精品一区| 欧美特黄一区| 久热国产精品视频| 这里只有视频精品| 欧美黑人在线观看| 欧美自拍偷拍| 一区二区高清在线| 有码中文亚洲精品| 国产精品欧美激情| 欧美韩日一区二区三区| 亚洲欧美日韩久久精品| 亚洲精品午夜| 欧美韩日一区| 久久亚洲精品一区二区| 亚洲综合视频1区| 亚洲精品免费一二三区| 国语精品一区| 国产欧美在线| 国产精品久久久久77777| 欧美高清在线视频| 久久另类ts人妖一区二区| 亚洲免费视频一区二区| 亚洲精品欧美| 亚洲国产精品久久久久婷婷老年| 久久久久久成人| 性欧美超级视频| 亚洲一区二区在线免费观看视频 | 国产欧美日韩91| 欧美日韩一区二区三区免费| 欧美1区2区3区| 久久一区二区三区av| 久久狠狠婷婷| 欧美一区二区三区喷汁尤物| 亚洲一级在线观看| 亚洲图片自拍偷拍| 亚洲色诱最新| 亚洲先锋成人| 亚洲一区二区三区高清不卡| 亚洲最新中文字幕| 一本色道久久综合精品竹菊| 亚洲人成在线影院| 亚洲精品少妇| 亚洲巨乳在线| 9l视频自拍蝌蚪9l视频成人| 99国产精品久久| 在线综合欧美| 亚洲欧美一区二区三区久久| 亚洲欧美国产毛片在线| 亚洲综合首页| 欧美一区综合| 久久久久久色| 欧美黄色网络| 欧美色欧美亚洲另类七区| 欧美午夜精品电影| 国产精品资源| 影音先锋在线一区| 亚洲国产精品一区制服丝袜| 亚洲理伦在线| 亚洲综合精品| 久久综合五月| 亚洲精品国产视频| 在线视频一区观看| 亚洲最新合集| 亚洲电影中文字幕| 亚洲破处大片| 国产精品99久久久久久www| 亚洲深夜影院| 久久激情久久| 欧美激情区在线播放| 欧美日韩在线电影| 国产欧美一区二区色老头| 国自产拍偷拍福利精品免费一| 影视先锋久久| 亚洲素人在线| 蜜桃久久精品一区二区| 亚洲精品国产精品久久清纯直播 | 午夜精品久久久久久久白皮肤| 欧美在线视频全部完| 欧美精品久久久久久久久老牛影院| 欧美午夜精品理论片a级大开眼界| 国产欧美一级| 亚洲激情在线| 久久久.com| av不卡免费看| 久久综合中文| 国产嫩草影院久久久久| 亚洲欧洲一二三| 欧美专区日韩视频| 亚洲人体大胆视频| 久久精品男女| 国产精品久久久亚洲一区| 亚洲高清在线精品| 性久久久久久久| 亚洲乱码视频| 久久亚洲精品一区二区| 国产精品自在线| 9久re热视频在线精品| 蜜桃久久av一区| 欧美在线视频二区| 国产精品视频一二三| 夜夜夜精品看看| 亚洲第一综合天堂另类专|