Android面试收集录 OpenGL ES
1.如何用OpenGL ES绘制一个三角形?
- 编写一个类实现Renderer接口,实现onDrawFrame方法,onSurfaceChanged方法,onSurfaceCreated方法
- 编写一个类Triangle类,定义定点坐标,装载所有顶点坐标,调用GL10的一个glDrawArrays方法来绘制三角形
- 最后在重写的onDrawFrame方法中调用triangle.drawSelf来真正绘制三角形
2.OpenGL ES绘制一个矩形有哪些方法?
- 三角形旋转法(但是要求一个角为90度)
- 顶点法绘制矩形,先定义4个顶点坐标
- 索引法绘制矩形
3.用索引法绘制多边形有什么限制?
- 必须使用byte[]定义定点索引,索引的个数不能超过255个
4.如何绘制一个四棱锥?
- 注意:使用OpenGL ES绘制的任何图像都是用三角形拼出来的
- 定义4个面,每个面3个点
- 然后再onDrawFrame方法绘制4个三角形来组成一个四棱锥
5.如何给一个立方体的6个面上色?
- 一个颜色由4个值(RGBA)组成,每个平面4个顶点,一个平面需要16个值来描述颜色
- 立方体有6个面,总共需要96个值来描述颜色
- 先定义一个长度为96的数组来记录颜色,然后使用glDrawArrays方法绘制立方体
6.OpenGL ES支持哪几种光源?
- 定向光
- 定位光
7.请介绍一下OpenGL ES光源的环境光,散射光,镜面反射的含义?
- 环境光的pname参数值为GL10.GL_AMBIENT,表示一个特定光源在场景中添加的环境光的RGBA强度。、
- 散射光,参数为GL10.GL_DIFFUSE,来自于某个方向,撞击物体表面后,会均匀地发散
- 镜面反射光,参数为:GL10.GL_SPECULAR,来自一个特定方向
Android面试收集录 OpenGL ES的更多相关文章
- Android面试收集录6 事件分发机制
转自:秋招面试宝典. 一. 基础认知 1.1 事件分发的对象是谁? 答:事件 当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件). Touch事件相关细节(发 ...
- Android面试收集录 Android系统的资源+其他
1.Android应用程序的资源是如何存储的,如何使用? res文件夹或者assets文件夹 res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResour ...
- Android面试收集录 2D绘图与动画技术
1.如何在Android应用程序的窗口上绘制图形? 继承View 实现View中的onDraw()方法 2.如何绘制圆,空心椭圆? canvas.drawArc或canvas.drawCircle方法 ...
- Android面试收集录 电话、短信和联系人、多媒体技术
1.请写出调用系统拨号界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")); s ...
- Android面试收集录 网络与加密
1.创建Socket对象需要至少指定哪些信息? IP(或域名)和端口号 Socket socket=new Socket("www.baidu.com",80); 2.如何使用So ...
- Android面试收集录 数据库
1.SQLite数据库如何查询表table1的第20条到30条记录? select * from table1 limit 19,11 ==>从19开始,11个数据 2.如何才能将table ...
- Android面试收集录 文件存储
1.请描述Android SDK支持哪些文件存储技术? 使用SharePreferences保存key-value类型的数据 流文件存储(openFileOutput+openFileInput或Fi ...
- Android面试收集录 Android组件
1.请说出Android SDK支持哪些方式显示富文本信息? 使用TextView组件可以显示富文本信息,如果要实现图文混排,需实现ImageGetter接口 使用WebView组件显示HTML页面 ...
- Android面试收集录 Android布局
1.请说出Android中的五种布局,并介绍作用? FrameLayout(堆栈布局),层叠方式显示,类似于PhotoShop上的层叠图层. LinearLayout(线性布局),将视图以水平或者垂直 ...
随机推荐
- 使用while循环+try-except定位元素
selenium学习过程中,发现自己遇到的最大的困难不是那些元素的操作,而是元素的定位,有时候明明利用firebug将xpath路径确认好了,但是在定位元素的时候还是会报错,后来在度娘上找到了一个方法 ...
- python入门19 异常及异常处理 异常捕获
常见异常举例 """ 一些异常举例:""" '''模块不存在 ModuleNotFoundError: No module named 'd ...
- public class Promise<T>: Thenable, CatchMixin
public class Promise<T>: Thenable, CatchMixin
- 【洛谷5292】[HNOI2019] 校园旅行(思维DP)
点此看题面 大致题意: 给你一张无向图,每个点权值为\(0\)或\(1\),多组询问两点之间是否存在一条回文路径. 暴力\(DP\) 首先,看到\(n\)如此之小(\(n\le5000\)),便容易想 ...
- PHP语言开发微信公众平台(订阅号)之注册(1)
1.百度搜索"微信公众平台" 2.选择微信公众平台官网并单击打开 3.进入官网页面,单击 "立即注册" 进入注册页面 4.进入注册页面,单击订阅号 5.进入订阅 ...
- 2018.11.22 mac中"允许所有安装来源"的命令 & Mac窗口标题显示文件的路径
当Mac遇到软件无法安装或者此文件已经损坏之类的时候 原因是软件为破解版,地址来源已改变,被系统拦截了,解决办法就是直接在终端中输入"sudo spctl --master-disable ...
- c++一些总结
1.if和else if后面并没有要求一定要接else(即以else来结尾),可以直接if语句然后接其他语句,也可以if语句之后加else if语句再接其他语句
- 添加模糊效果demo
添加模糊效果demo: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...
- maven的.m2文件夹
安装完maven是没有.m2文件夹的. Maven缺省的本地仓库路径为${user.home}/.m2/repository 在linux中以.开头的文件夹都是隐藏的.当使用maven命令的时候,ma ...
- 【转】ConcurrentHashMap原理分析(1.7与1.8)
https://www.cnblogs.com/study-everyday/p/6430462.html 前言 以前写过介绍HashMap的文章,文中提到过HashMap在put的时候,插入的元素超 ...