五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

shader 畫圓變橢圓

2022-10-07 11:43 作者:櫻桃般大的丸子  | 我要投稿

如題這是在學(xué)習(xí)的過程中遇到的一個(gè)問題,應(yīng)該是個(gè)很常見的問題,但網(wǎng)絡(luò)上看了一圈卻沒發(fā)現(xiàn)別人遇到過這個(gè)問題。

問題背景:

在學(xué)習(xí)shader畫圓的過程中,采用點(diǎn)到原點(diǎn)的距離相等的辦法來畫圓,結(jié)果出來的是個(gè)橢圓,再三確認(rèn)自己的代碼沒問題,如下所示。

代碼塊 1

對應(yīng)圖案:

代碼塊 1

檢查了下代碼,判斷應(yīng)該是?vec2 position = gl_FragCoord.xy / u_resolution; 這句出了問題,到原文章中再看一遍解釋。

參數(shù)解釋
參數(shù)解釋2

看了一眼我的畫布大小,1280X720,那問題就出在了這個(gè)地方,寬高比不同,最后計(jì)算出的position比例也不同。于是想著辦法怎么去解決這個(gè)問題,并且還能繼續(xù)使用0.5來表示圓心的位置。但是在網(wǎng)上看了一圈,別人都是方形的分辨率,找不到與我同樣的問題。直到看別人的源碼時(shí),看到了一句話如下。

這句話好像有那么點(diǎn)意思,但是沒看懂,于是拿過來,放到自己的代碼中再次運(yùn)行,咦,真的就成了自己想要的,很是奇怪,到現(xiàn)在也還沒看懂這個(gè)偏移量,比例如何計(jì)算的,先記下來,后續(xù)繼續(xù)理解。

最終代碼一:

最終圖像

歐卡,我來了,現(xiàn)在理解了這句話,來解釋一下。我們看代碼可以看出,y的范圍為0-1,但是x卻可能大于1或小于0,比如我們找出x大于1,小于0的范圍,如下。

左右兩邊黑色不在0-1范圍內(nèi)

從圖上看出,X的取值范圍0-1是一個(gè)正方形,那它的分辨率是多少呢?沒錯(cuò),就是720X720。

視乎明了了一些,我們將原始的代碼(代碼塊一)第一句更改為下面這句看看。

是我們想要的結(jié)果

哈哈,看到這里,我們把上面兩句和下面這句比較一下,一模一樣。

嗯,一切都明了了,我們把X軸與Y軸做了等比例處理,偏移量將中心固定在了屏幕的正中心。

最后的代碼:

完結(jié),撒花。

剛在公園溜達(dá),看見一個(gè)小女孩在原地轉(zhuǎn)圈圈,然后對她奶奶說:“奶奶,你猜我在哪個(gè)方向?”

哈哈,太可愛了。

shader 畫圓變橢圓的評論 (共 條)

分享到微博請遵守國家法律
偃师市| 兴山县| 泰州市| 衡东县| 铜鼓县| 清丰县| 灵寿县| 乌鲁木齐县| 金沙县| 随州市| 建昌县| 义乌市| 河北区| 宜川县| 石首市| 运城市| 南江县| 信宜市| 霍林郭勒市| 黔南| 南乐县| 大渡口区| 监利县| 永川市| 松潘县| 中卫市| 清流县| 万山特区| 江阴市| 二连浩特市| 合水县| 萝北县| 宁强县| 赤峰市| 乳山市| 剑阁县| 图木舒克市| 酒泉市| 和硕县| 景谷| 彭水|