剛開始學,記錄一下呼叫順序,套路都是一樣的
文章參考:
1、建立乙個shaderutil來編譯glsl
public class shaderutilpublic static int
compilefragmentshader(string fragmentshadercode) throws runtimeexception
private static int
compileshader(int type, string shadercode) throws runtimeexception
// 2、傳入著色器**
gles20.glshadersource(shaderid, shadercode);
// 3、編譯著色器
gles20.glcompileshader(shaderid);
// 4、獲取編譯的狀態
int compilestatus = new int[1];
gles20.glgetshaderiv(shaderid, gles20.gl_compile_status
, compilestatus,
0);// 5、確認編譯狀態,如果編譯失敗需要刪除該物件
if (compilestatus[0] == 0)
return shaderid;
} public static int
buildprogram(string vertexshadercode, string fragmentshadercode) throws runtimeexception
private static void
validateprogram(int program) throws runtimeexception
private static int
linkprogram(int vertexshader, int fragmentshader) throws runtimeexception
// 2、attach頂點著色器
gles20.glattachshader(program, vertexshader);
//3、attach片段著色器
gles20.glattachshader(program, fragmentshader);
// 4、將兩個著色器連成乙個program
gles20.gllinkprogram(program);
// 5、獲取連線狀態
int linkstatus = new int[1];
gles20.glgetprogramiv(program, gles20.gl_link_status
, linkstatus,
0);// 驗證狀態
if (linkstatus[0] == 0)
return program;
}}
2、建立乙個trangle1類來表示乙個三角形
public class ********1 ;3、建立乙個glsurefaceviewprivate int
vertexlocationcount = 2
;// 每個頂點座標的座標數
private floatbuffer vertexbuffer
;private context context
;private int
program
;private int
vertexposition
;private int
colorposition
;public
********1(context context)
private void
initshader()
public void
draw()
}
@suppresslint("wrongviewcast")public class glsureviewactivity extends activity
private glsu***ceview.renderer renderer = new glsu***ceview.renderer()
@override
public void
onsu***cechanged(gl10 gl, int width, int height)
@override
public void
ondrawframe(gl10 gl)
};}
網頁 畫乙個三角形
有參照別人的 寫一下自己的理解。這是給自己的乙個記錄 這個方法主要是對css border 的理解以及運用。主要利用就是兩個內嵌的正方形之間產生的形狀 依據圖形 css html 中的height和width都是對小正方形設值的。大正方形的邊長為120px 120px 由上面這個圖形可以看到兩個正方...
通過css畫乙個三角形
css製作三角形的原理 邊框的均分原理 lang en charset utf 8 name viewport content width device width,initial scale 1.0 transparenttitle divstyle head div body html tran...
OpenglES語法以及繪製三角形
一 基本變數 glsl 的語法與 c 語言很類似,可以用變數 結構體 陣列 glsl 中沒有指標型別 變數類別 變數型別描述空 void 用於無返回值的函式或空的引數列表 標量float,int,bool 浮點型,整型,布林型的標量資料型別 浮點型向量 float,vec2,vec3,vec4 包含...