用OpenGL绘制有可能需要跟多的代码,因为API提供了许多对graphics渲染管道的控制。
一、初始化形状
在绘制之前,需要初始化和加载想要画的形状。除非执行过程中形状的初始坐标改变,否则都要在哦你Surf二测Created()中初始化他们。
public void onSurfaceCreated(GL10 unused, EGLConfig config) { ... // initialize a triangle mTriangle = new Triangle(); // initialize a square mSquare = new Square(); }二、画形状
为graphics rendering pipeline提供详细信息,需要定义以下
Vertex Shader vertex顶点渲染,形状顶点的渲染
Fragment Shader渲染形状的一个面的颜色和质地
Program绘制一个或者多个形状的多个着色器
要画一个形状,至少需要一个vertex shader来画形状和一个fragment shader来染色,这些着色器必须被编译然后加入到一个OpenGL ES program中,用来画一个形状。下面是怎么样画一个形状。
private final String vertexShaderCode = "attribute vec4 vPosition;" + "void main() {" + " gl_Position = vPosition;"