[問題] openGL運算後的材質

看板C_and_CPP (C/C++)作者 (東逼)時間11年前 (2014/07/03 20:10), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) embedded linux 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) openGL es2 問題(Question): 大家好~是這樣的 我利用openGL es2想要對某個材質加工運算後顯示出來 中間過程沒啥問題,最後顯示也是對的 但我想要進一步把顯示出來的結果取一部份放大 就不知道怎麼做了 囧 圖示類似這樣: ------------------------ | | | | | | | ------- | | | | | | | | | | ------- | | | | | ------------------------ 原本最後圖顯示大小為800*600 但我只對中心那塊有興趣想要放大來看 (ex: x=300~500; y=200~400) 但不是很清楚要怎麼放大 我的部分code如下: //fragment shader uniform sampler2D s_texture; //從C code讀到的原始材質 void main() { vec2 r_xy, s_xy; r_xy = (gl_FragCoord.xy); //取800*600上的每一點來做運算 ... ... s_xy.x = ... s_xy.y = ... //以上為運算過程 //材質根據s_xy的材質座標取點後並畫出來 gl_FragColor = texture2D(s_texture, s_xy); } 這樣的結果是對的 只不過我不知道要怎麼再取部分畫出來 我原本想法是把texture2D(s_texture, s_xy) 再另外存成一個sampler2D形式的材質 可是好像不能這樣用 sampler2D new_texture = texture2D(s_texture, s_xy) //錯誤? 爬一下文好像也沒看到類似的問題 所以就來請教大家了 希望大家可以幫忙提供想法@@" 在這也先謝謝大家的幫忙囉~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.179.30 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1404389406.A.439.html

07/03 23:32, , 1F
s_xy 做 transformation 就好啦
07/03 23:32, 1F

07/04 12:09, , 2F
貼圖座標s_xy乘以一個數字放大,再加上一個向量平移
07/04 12:09, 2F

07/04 12:10, , 3F
你就可以控制要放多大,還有要看哪裡
07/04 12:10, 3F

07/04 12:12, , 4F
感謝樓上大大們! 我再來試試看囉~~~
07/04 12:12, 4F
文章代碼(AID): #1JjKWUGv (C_and_CPP)
文章代碼(AID): #1JjKWUGv (C_and_CPP)