//邊框濾鏡
precision mediump float
;varying highp vec2 texturecoordinate;
uniform sampler2d inputtexture;
uniform sampler2d bitmaptexture;
void
main()
效果:
原理:以下演算法,顏色越暗能量越低,與原圖點乘會導致變成黑色;所以不能相乘,反色相乘;以下等式實質也等於直接點乘,這個效果就是非黑色部分
color =
1.0-((
1.0- color)*(
1.0- border)
);
效果:
//映象
precision mediump float
;varying highp vec2 texturecoordinate;
uniform sampler2d inputtexture;
void
main()
else
}
效果:
權重乘積求和
lowp vec4 color =
vec4
(0.0);
if(blurtexcoor[0]
.y <
0.7&& blurtexcoor[0]
.y >
0.3)
else
gl_fragcolor = color;
效果:
主要是涉及座標位置轉換:
vec2 pos =
vec2
(0.0);
if(texturecoordinate.y <
0.5&& texturecoordinate.x <
0.5)
else
if(texturecoordinate.y >
0.5&& texturecoordinate.x <
0.5)
else
if(texturecoordinate.y <
0.5&& texturecoordinate.x >
0.5)
else
gl_fragcolor =
texture2d
(inputtexture,pos)
;
效果:
原理:將x和y軸,用一小段線等分成多個小段,x和y軸分段後,在該段內的畫素點都取同乙個畫素;**如下:
precision mediump float
;varying highp vec2 texturecoordinate;
uniform sampler2d inputtexture;
uniform float perpixelwidth;
uniform float perpixelheight;
//馬賽克包含的畫素個數
uniform float pixelcounts;
void
main()
效果:
OpenGL學習記錄
關於opengl opengl 全寫open graphics library 是指定義了乙個跨程式語言 跨平台的程式設計介面規格的專業的圖形程式介面。它用於三維影象 二維的亦可 是乙個功能強大,呼叫方便的底層圖形庫。opengl具有七大功能 建模 opengl圖形庫除了提供基本的點 線 多邊形的繪...
OpenGL踩坑記錄
在處理3d模型的時候,我們經常的操作是首先建立乙個fbo,fbo關聯texture,rbo。我們第一次渲染的時候是直接渲染到fbo關聯的紋理上,然後經過其他紋理濾鏡的處理後,再把它顯示出來。這裡有幾個需要注意的點。3d 紋理離屏渲染渲染一定要關聯乙個rbo。離屏渲染前開啟深度測試,離屏渲染之後一定要...
OpenGL 記錄 關於「混合」渲染
顧名思義,為了渲染出不同透明度的級別,我們需要開啟混合。step1 需要啟用混合 blending 通過gl blend glenable gl blend step2 告知opengl 如何進行blendingvoid glblendfunc glenum sfactor,glenum dfact...