b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

android opengl es 开发教程.pdf(2)

电脑杂谈  发布时间:2019-07-17 19:13:00  来源:网络整理

使用GLSurfaceView内部提供了上面类似的实现,对于大部分应用只需调用一 个方法来设置OpenGLView 用到的GLSurfaceView.Renderer.1public void setRenderer(GLSurfaceView.Renderer renderer) GLSurfaceView.Renderer 定义了一个统一图形绘制的接口,它定义了如下三个 接口函数:1// Called when the surface is created or recreated.2public void onSurfaceCreated(GL10 gl, EGLConfig config)3// Called to draw the current frame.4public void onDrawFrame(GL10 gl)5// Called when the surface changed size.6public void onSurfaceChanged(GL10 gl, int width, int height) onSurfaceCreated : 在这个方法中主要用来设置一些绘制时不常变化的参数,比如:背景色,是否打开 z-buffer 等。

android opengl es教程_android opengl 教程_android opengl 教程

 onDrawFrame: 定义实际的绘图操作。 onSurfaceChanged: 如果设备支持屏幕横向和纵向切换,这个方法将发生在横向<- >纵向互换时。此时可以重新设置绘制的纵横比率。 如果有需要,也可以通过函数来修改GLSurfaceView 一些缺省设置: setDebugFlags(int) 设置Debug 标志。 setEGLConfigChooser (boolean) 选择一个Config 接近16bitRGB 颜色模式,可以打开或关闭深度(Depth)Buffer ,缺省为RGB_565并打开至少有16bit 的 depth Buffer. setEGLConfigChooser(EGLConfigChooser)选择自定义EGLConfigChooser 。 setEGLConfigChooser(int, int, int, int, int, int) 指定red ,green, blue,alpha, depth ,stencil 支持的位数,缺省为RGB_565 ,16 bit depth buffer. GLSurfaceView 缺省创建为RGB_565颜色格式的Surface ,如果需要支持透明 度,可以调用getHolder().setFormat(PixelFormat.TRANSLUCENT). GLSurfaceView 的渲染模式有两种,一种是连续不断的更新屏幕,另一种为 on-demand ,只有在调用requestRender() 在更新屏幕。

缺省为 RENDERMODE_CONTINUOUSLY持续刷新屏幕。Android OpenGL ES开发教程(7)创建实例应用OpenGLDemos 程序框架 有了前面关于Android OpenGL ES 的介绍,可以开始创建示例程序 OpenGLDemos 。 使用Eclipse 创建一个Android 项目 Project Name: OpenGLDemos Build Target: Android 1.6 ( >1.5 即可) Application Name: Android OpenGL ES Demos Package Name: com.pstreets.opengl.demo Create Activity:AndroidOpenGLDemo 采用Android ApiDemos类似的方法,AndroidOpenGLDemo 为一ListActivity , 可以使用PackageManager读取所有Category 为 guidebee.intent.category.opengl.SAMPLE_CODE的Activity 。

我国习惯上将年息月息日息都以厘作单位,但实际含义却不同,若年息6厘月息4厘日息2厘,则分别是指 c年利率为6%,月利率为4%0,日利率为2。示例代码主要是解析一些常用字段,如需要完整或其他未包含的字段,可以自行参考官方的接口,进行修改。基础核心频率为1058mhz,延长各大硬件使用寿命,主流接口齐备,超频频率为1110mhz,可以满足散热与静音的不同要求,可以根据系统实际运行情况将转速在600-2400rpm之间进行自动调节,支持智能温控调节功能,金士顿8gb ddr3 1600内存的标签相当简洁,。

最后使用一个简单的例子“Hello World”结束本篇,“Hello World” 使用红色背景 刷新屏幕。1public class HelloWorld extends Activity2implements IOpenGLDemo{3/** Called when the activity is first created. */4@Override5public void onCreate(Bundle savedInstanceState) {6super.onCreate(savedInstanceState);7this.requestWindowFeature(Window.FEATURE_NO_TITLE)8;9getWindow()10.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,11WindowManager.LayoutParams.FLAG_FULLSCREEN);12mGLSurfaceView = new GLSurfaceView(this);13 14mGLSurfaceView.setRenderer(new OpenGLRenderer(this)); 15setContentView(mGLSurfaceView); 16} 17public void DrawScene(GL10 gl) { 18gl.glClearColor(1.0f, 0.0f, 0.0f, 0.0f); 19// Clears the screen and depth buffer. 20gl.glClear(GL10.GL_COLOR_BUFFER_BIT 21| GL10.GL_DEPTH_BUFFER_BIT); 22} 23@Override 24protected void onResume() { 25// Ideally a game should implement 26// onResume() and onPause() 27// to take appropriate action when the 28//activity looses focus 29super.onResume(); 30mGLSurfaceView.onResume(); 31} 32@Override 33protected void onPause() { 34// Ideally a game should implement onResume()35//and onPause()36// to take appropriate action when the37//activity looses focus38super.onPause();39mGLSurfaceView.onPause();40}41private GLSurfaceView mGLSurfaceView;42} 其对应在AndroidManifest.xml 中的定义如下: <activity android:name=”.HelloWorld” android:label=”@string/activity_helloworld”> <intent-filter> < action android:name=”android.intent.action.MAIN” /> <category android:name=”guidebee.intent.category.opengl.SAMPLE_CODE” /> < /intent-filter> < /activity> 本例下载Android OpenGL ES开发教程(8)基本几何图形定义 在前面Android OpenGL ES开发教程(7):创建实例应用OpenGLDemos 程序 框架 我们创建了示例程序的基本框架,并提供了一个“Hello World”示例,将屏 幕显示为红色。

本例介绍OpenGL ES 3D 图形库支持的几种基本几何图形,本篇部分内容与 Android OpenGL ES简明开发教程三:3D 绘图基本概念 类似。 通常二维图形库可以绘制点,线,多边形,圆弧,路径等等。OpenGL ES支持 绘制的基本几何图形分为三类:点,线段,三角形。也就是说OpenGL ES只能 绘制这三种基本几何图形。任何复杂的2D 或是3D 图形都是通过这三种几何图 形构造而成的。 比如下图复杂的3D 图形,都有将其分割成细小的三角形面而构成的。然后通过 上色(Color),添加材质(Texture),再添加光照(lighting) ,构造3D 效果的图形: 点,线段,三角形都是通过顶点来定义的,也就是顶点数组来定义。对应平面上 的一系列顶点,可以看出一个个孤立的点(Point),也可以两个两个连接成线段 (Line Segment) ,也可以三个三个连成三角形(Triangle) 。这些对一组顶点的不 同解释就定义了Android OpenGL ES 可以绘制的基本几何图形,下面定义了 OpenGL ES 定义的几种模式: GL_POINTS 绘制独立的点。

android opengl 教程_android opengl 教程_android opengl es教程

GL_LINE_STRIP 绘制一系列线段。 GL_LINE_LOOP 类同上,但是首尾相连,构成一个封闭曲线。 GL_LINES 顶点两两连接,为多条线段构成。 GL_TRIANGLES 每隔三个顶点构成一个三角形,为多个三角形组成。GL_TRIANGLE_STRIP 每相邻三个顶点组成一个三角形,为一系列相接三角形构成。 GL_TRIANGLE_FAN 以一个点为三角形公共顶点,组成一系列相邻的三角形。 以上模式对应到Android 渲染方法: OpenGL ES 提供了两类方法来绘制一个空间几何图形: public abstract void glDrawArrays(int mode, int first, int count) 使用VetexBuffer 来绘制,顶点的顺序由vertexBuffer 中的顺序指定。 public abstract void glDrawElements(int mode, int count, int type,Buffer indices) ,可以重新定义顶点的顺序,顶点的顺序由indices Buffer指定。 其中mode为上述解释顶点的模式。

前面说过顶点一般使用数组来定义,并使用Buffer 来存储以提高绘图性能,参 见Android OpenGL ES开发中的Buffer 使用 如下面定义三个顶点坐标,并把它们存放在FloatBuffer中: float[] vertexArray = new float[]{ 1 -0.8f , -0.4f * 1.732f , 0.0f , 2 0.8f , -0.4f * 1.732f , 0.0f , 3 0.0f , 0.4f * 1.732f , 0.0f , 4 }; 5 ByteBuffer vbb 6 = 7ByteBuffer.allocateDirect(vertexArray.length* 84); 9 vbb.order(ByteOrder.nativeOrder()); 10 FloatBuffer vertex = vbb.asFloatBuffer(); 11 vertex.put(vertexArray); 12 vertex.position(0); 有了顶点的定义,下面就可以通过打开OpenGL ES 管道(Pipeline)的相应开关将 顶点参数传给OpenGL库: 打开顶点开关和关闭顶点开关的方法如下:12gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);3...4gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);5 在打开顶点开关后,将顶点坐标传给OpenGL管道的方法为:glVertexPointer : public void glVertexPointer(int size,int type,int stride,Buffer pointer) size: 每个顶点坐标维数,可以为2,3 ,4 。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-113773-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...