Android OpenGL 学习笔记 --开始篇】的更多相关文章

转自: http://www.cnblogs.com/TerryBlog/archive/2010/07/09/1774475.html 1.什么是 OpenGL? OpenGL 是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库.OpenGL  的前身是 SGI 公司为其图形工作站开的 IRIS GL.IRIS GL 是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是 SGI 公司便在 IRIS GL 的基础上开发 OpenGL  .具体详细的介绍请 点击这里 .…
在GL中特别提出了缓冲区对象这一概念,是针对提高绘图效率的一个手段.由于GL的架构是基于客户——服务器模型建立的,因此默认所有的绘图数据均是存储在本地客户端,通过GL内核渲染处理以后再将数据发往GPU显示.假设这样一种情况,有一批数据并不经常更改而数目又挺大,如果按照通常的做法无非是不断重复不断重复发送数据,整个操作主要内容变成了传输数据.针对这种窘况,GL内核允许客户将客户端的数据直接在GPU显存区域开辟一段缓冲区存储,存储具备这种特点的数据. 此时,考虑另一种极端情况,绘图数据需要实时渲染更…
---------------------------------------------------------------------------------------------------------------------------- 小记: 之前用的是公司自己研发的自动化工具,对市面开源的自动化工具知之甚少,所以开始自学开源的自动化工具. 初步学习中,难免会有疏漏和想不到的地方,随着不断深入的了解,如有新的体会,会及时修改,不断进步. 2014-10-17:初版 2014-10-…
---------------------------------------------------------------------------------------------------------------------------- 小记: 一直都是用公司自己研发的自动化工具,对市面开源的自动化工具知之甚少,所以开始自学开源的自动化工具. 初步学习中,难免会有疏漏和想不到的地方,随着不断深入的了解,可能会觉得现在的笔记很可笑,不过有新的体会,我会及时修改,不断进步. 2014-1…
Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation. 可通过NineOldAndroids项目在3.0之前的系统中使用Property Animatio…
ActionBarSherlock学习笔记 第一篇--部署          ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android版本上实现ActionBar的效果和功能.当在4.0+的版本使用时,会使用Android自身的ActionBar,当在4.0之前的版本使用时,则会使用ActionBarSherlock自身自定义的一套框架来实现ActionBar的功能.     要获得ActionBarSherlock,我们可以到G…
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android Studio开发,Windows.Linux和苹果系统都可以进行开发. iOS用object-c语言,用xcode开发,现阶段只能在苹果系统环境下进行开发 . 本系列学习笔记针对Android开发,需要的软件列表如下: 软件 注释 Java JDK Java开发工具包(Java Developme…
使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个一直梦想走技术流的再疯狂一次.2014.08.06. 直奔主题——>android开发学习笔记001…
转自:OpenGL学习笔记:拾取与选择 在开发OpenGL程序时,一个重要的问题就是互动,假设一个场景里面有很多元素,当用鼠标点击不同元素时,期待作出不同的反应,那么在OpenGL里面,是怎么知道我当前鼠标的位置是哪一个物体呢? OpenGL有一套机制,叫做Picking, 里面涉及到几个核心概念: 1. selection mode. 选择模式 2. name stack. 名字栈 3. hit record. 命中记录 4. viewing volume. 视角范围 在OpenGL的pick…
PHP学习笔记 - 进阶篇(11) 数据库操作 PHP支持哪些数据库 PHP通过安装相应的扩展来实现数据库操作,现代应用程序的设计离不开数据库的应用,当前主流的数据库有MsSQL,MySQL,Sybase,Db2,Oracle,PostgreSQL,Access等,这些数据库PHP都能够安装扩展来支持,一般情况下常说的LAMP架构指的是:Linux.Apache.Mysql.PHP,因此Mysql数据库在PHP中的应用非常广泛,我们会在本章中简单的了解Mysql的操作方法. eg: <?php…
PHP学习笔记 - 进阶篇(10) 异常处理 抛出一个异常 从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过throw抛出,异常抛出之后,后面的代码将不会再被执行. 既然抛出异常会中断程序执行,那么为什么还需要使用异常处理? 异常抛出被用于在遇到未知错误,或者不符合预先设定的条件时,通知客户程序,以便进行其他相关处理,不至于使程序直接报错中断. 当代码中使用了try catch的时候,抛出的异常会在catch中捕获,否则会直接中断. 1.基本语法 try…
PHP学习笔记 - 进阶篇(9) 图形图像操作 GD库简介 GD指的是Graphic Device,PHP的GD库是用来处理图形的扩展库,通过GD库提供的一系列API,可以对图像进行处理或者直接生成新的图片. PHP除了能进行文本处理以外,通过GD库,可以对JPG.PNG.GIF.SWF等图片进行处理.GD库常用在图片加水印,验证码生成等方面. PHP默认已经集成了GD库,只需要在安装的时候开启就行. header("content-type: image/png"); $img=im…
PHP学习笔记 - 进阶篇(8) 日期与时间 取得当前的Unix时间戳 UNIX 时间戳(英文叫做:timestamp)是 PHP 中关于时间与日期的一个很重要的概念,它表示从 1970年1月1日 00:00:00 到当前时间的秒数之和. PHP提供了内置函数 time() 来取得服务器当前时间的时间戳.那么获取当前的UNIX时间戳就很简单了. $time = time(); echo $time;//1454209902,这个数字表示从1970年1月1日 00:00:00 到我输出这个脚本时经…
PHP学习笔记 - 进阶篇(7) 文件操作 读取文件内容 PHP具有丰富的文件操作函数,最简单的读取文件的函数为file_get_contents,可以将整个文件全部读取到一个字符串中. $content = file_get_contents('./test.txt'); file_get_contents也可以通过参数控制读取内容的开始点以及长度. $content = file_get_contents('./test.txt', null, null, 100, 500); PHP也提供…
PHP学习笔记- 进阶篇(6) 会话控制(session与cookie) 当前的Cookie为: cookie简介 Cookie是存储在客户端浏览器中的数据,我们通过Cookie来跟踪与存储用户数据.一般情况下,Cookie通过HTTP headers从服务端返回到客户端.多数web程序都支持Cookie的操作,因为Cookie是存在于HTTP的标头之中,所以必须在其他信息输出以前进行设置,类似于header函数的使用限制. PHP通过setcookie函数进行Cookie的设置,任何从浏览器发…
PHP学习笔记 - 进阶篇(4) 字符串操作 字符串介绍 PHP开发中,我们遇到最多的可能就是字符串. 字符串变量用于包含字符串的值. 一个字符串 通过下面的3种方法来定义: 1.单引号 2.双引号 3.heredoc语法结构 基本用法如下,后面的节还会详细进行介绍使用技巧,这里只介绍用法: 单引号定义的字符串:$hello = 'hello world'; 双引号定义的字符串:$hello = "hello world"; heredoc语法结构定义的字符串: $hello = &l…
PHP学习笔记 - 进阶篇(5) 正则表达式 什么叫正则表达式 正则表达式是对字符串进行操作的一种逻辑公式,就是用一些特定的字符组合成一个规则字符串,称之为正则匹配模式. $p = '/apple/'; $str = "apple banna"; if (preg_match($p, $str)) { echo 'matched'; } 其中字符串'/apple/'就是一个正则表达式,他用来匹配源字符串中是否存在apple字符串. PHP中使用PCRE库函数进行正则匹配,比如上例中的p…
PHP学习笔记 - 进阶篇(3) 类与面向对象 1.类和对象 类是面向对象程序设计的基本概念,通俗的理解类就是对现实中某一个种类的东西的抽象, 比如汽车可以抽象为一个类,汽车拥有名字.轮胎.速度.重量等属性,可以有换挡.前进.后退等操作方法. 通常定义一个汽车类的方法为: class Car { $name = '汽车'; function getName() { return $this->name; } } 类是一类东西的结构描述,而对象则是一类东西的一个具体实例,例如汽车这个名词可以理解为…
PHP学习笔记 - 进阶篇(2) 函数 1.自定义函数 PHP内置了超过1000个函数,因此函数使得PHP成为一门非常强大的语言.大多数时候我们使用系统的内置函数就可以满足需求,但是自定义函数通过将一组代码封装起来,使代码进行复用,程序结构与逻辑更加清晰. PHP函数的定义方式: 1.使用关键字"function"开始 2.函数名可以是字母或下划线开头:function name() 3.在大括号中编写函数体: function name() { echo 'Eric'; } 通过上面…
PHP学习笔记 - 进阶篇(1) 数组 数组定义 $arr = array();表示创建一个空数组,并把创建的空数组赋值给变量$arr. 索引数组初始化 PHP有两种数组:索引数组.关联数组. 索引和关联两个词都是针对数组的键而言的. 先介绍下索引数组,索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推. 下面使用图来说明一下: 可以使用下面代码实现: $fruit = array("苹果","香蕉","菠萝"); 注意数组的…
PHP学习笔记 - 入门篇(5) 语言结构语句 顺序结构 eg: <?php $shoesPrice = 49; //鞋子单价 $shoesNum = 1; //鞋子数量 $shoesMoney = $shoesPrice * $shoesNum; $shirtPrice = 99; //衬衣单价 $shirtNum = 2; //衬衣数量 $shirtMoney = $shirtPrice * $shirtNum; $orderMoney = $shoesMoney + $shirtMoney…
PHP学习笔记 - 入门篇(4) 什么是运算符 PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. PHP中的算术运算符 算术运算符主要是用于进行算术运算的,例如:加法运算.减法运算.乘法运算.除法运算.在PHP中的常用的算术运算符对应下表: eg: <?php $english = 110; //英语成绩 $math= 118; //数学成绩 $biological = 80; //生物成绩 $physical = 90; //物…
PHP学习笔记 - 入门篇(3) 常量 什么是常量 什么是常量?常量可以理解为值不变的量(如圆周率):或者是常量值被定义后,在脚本的其他任何地方都不可以被改变.PHP中的常量分为自定义常量和系统常量 自定义常量是根据我们开发的需要,而定义的常量,它通过使用PHP中的函数define()定义. define()函数的语法格式为: bool define(string $constant_name, mixed $value[, $case_sensitive = true]) 它有3个参数(也就是…
PHP学习笔记--入门篇 一.Echo语句 1.格式 echo是PHP中的输出语句,可以把字符串输出(字符串用双引号括起来) 如下代码 <?php echo "Hello world!";?> 注意echo关键字与字符串之间至少有一个空格.如下面写法是不正确的: <?php echo"Hello world!";?> 2.计算表达式 不同于HTML和CSS,在php中我们可以做计算,比如我们写入 echo 12*3计算会计算出结果36.如下代…
Android 数字签名学习笔记 在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应用程序才能取得该权限.Android使用Java的数字证书相关的机制来给apk加盖数字证书,要理解android的数字证书,需要先了解以下数字证书的概念和java的数字证书机制.And…
Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(多线程与进程池) Python学习笔记——进阶篇[第九周]———线程.进程.协程篇(队列Queue和生产者消费者模型) Python学习笔记——进阶篇[第九周]———协程 Python学习笔记——进阶篇[第九周]———MYSQL操作…
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python…
Android:日常学习笔记(9)———探究持久化技术 引入持久化技术 什么是持久化技术 持久化技术就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失. Android系统提供的三种持久化技术: 文件存储.SharedPreference(使用共享首选项)存储以及数据库存储. 文件存储 说明: 您可以直接在设备的内部存储中保存文件.默认情况下,保存到内部存储的文件是应用的私有文件,其他应用(和用户)不能访问这些文件. 当用户卸载您的应用时,这些文…
Android:日常学习笔记(9)———探究广播机制 引入广播机制 Andorid广播机制 广播是任何应用均可接收的消息.系统将针对系统事件(例如:系统启动或设备开始充电时)传递各种广播.通过将 Intent 传递给 sendBroadcast().sendOrderedBroadcast() 或 sendStickyBroadcast(),您可以将广播传递给其他应用. Android提供了一套完整的API,允许应用程序自由地发送和接受广播.发送广播使用Intent,接受广播使用 广播接收器(B…
Android:日常学习笔记(8)———开发微信聊天界面 只做Nine-Patch图片 Nine-Patch是一种被特殊处理过的PNG图片,能够指定哪些区域可以被拉升,哪些区域不可以.…