ps濾鏡之旋轉扭曲演算法實現

2021-06-26 06:59:13 字數 1062 閱讀 7984

最近捕魚達人3的發布 ,人氣比較高,由於前2部作品已經有一大群「粉絲」,所以此次3代再發布就受到很多關注。就畫面3代是3d的效果,加上一些特殊效果,在畫面質量上有了一定的提公升。本文講述一下捕魚3的開場漩渦實現方法,它類似ps的旋轉扭曲效果,只是程式中可以動態改變引數,實現像漩渦一樣的效果。

首先,進入主場景的時候,將整個場景渲染到乙個節點中,然後執行shader操作,vert著色器將所有的點進行扭曲變換,在顏色著色器乘以乙個沿著中心點變化的因子,使得越靠近中心點,顏色逐漸變成白色或者透明。

為了將扭轉力具體化,這裡我將它看出角加速度,假設靠近中心點的距離在一定範圍內用百分比表示,比如在400個單位的範圍,距離中心點100的點就是100/400=0.25,將它用do表示。假如扭力在距離中心點100的地方是最大的,然後向兩邊越來越少,這樣就會形成旋轉扭曲的效果。

float d=sqrt(ja_position.x*ja_position.x+ja_position.y*ja_position.y);

float d0=d/400;

float w=0.1+(1-(do-0.25)*(do-0.25))*force;

float c=cos(w);

float s=sin(w); 

mat4 m1=mat4(c,s,0,0,-s,c,0,0,0,0,1,0,0,0,0,1);

gl_position =cc_mvpmatrix *m1* ja_position;

在以上的**中,m1是點的變換矩陣,將所有點左乘m1,最後就會出現扭曲的效果。

gl_fragcolor =dstclr*d0;

以上是將目標色乘以變化因子,這裡只是簡單將中心點附近的顏色變淺。

由於源**很多,還要建立網格,頂點索引等等,這裡就不一一貼上來啦~,需要的朋友可以聯絡,呵呵

效果圖:

變換前:

變換後:

Python實現PS濾鏡的旋轉模糊功能示例

from skimage import img as float import程式設計客棧 matplotlib.pyplot as plt 附 ps 濾鏡 旋轉模糊 這裡給出灰度影象的模糊演算法,彩色影象只要分別對三個通道做模糊即可。spin blur 旋轉模糊 逆時針 x1 x0 radian ...

千鋒重慶UI小編教你如何使用Ps濾鏡 扭曲小技巧

一,快速製作散射光效 1,新建檔案1000 1000px 解析度 72ppi,填充漸變顏色 找到濾鏡 扭曲 波浪 將波浪型別設定為 方形 並且設定生成器數 控制豎條的多少 波長 控制條狀間距 波幅 控制起伏變化 確定 找到濾鏡 扭曲 極座標,選擇平面到極座標 完成 1,新建檔案1000 1000px...

PS 濾鏡演算法原理 馬賽克

method 利用鄰域的任意一點代替當前鄰域所有畫素點 n 11 控制鄰域大小 image out image for i 1 n n height n for j 1 n n width n k1 rand 0.5 k2 rand 0.5 m k1 n 2 1 n k2 n 2 1 h floor...