OpenGL特效記錄

2021-10-01 12:03:52 字數 2077 閱讀 7568

//邊框濾鏡

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...