opengl es畫乙個三角形

2021-08-14 04:10:48 字數 2320 閱讀 2556

剛開始學,記錄一下呼叫順序,套路都是一樣的

文章參考:

1、建立乙個shaderutil來編譯glsl

public class shaderutil 

public 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 ;

private 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()

}

3、建立乙個glsurefaceview

@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 包含...