`
文章列表
上一篇简单介绍了OpenGL中使用的光照模型,本篇结合OpenGL ES API说明如何使用光照效果: 设置光源 定义法线 设置物体材料光学属性 光源 OpenGL ES中可以最多同时使用八个光源,分别使用0到7表示。 OpenGL ES光源可以分为 平行 ...
下图是基于地图的应用一个典型软件构架图.
Wallpaper介绍一个Activity如何通过Style把系统Wallpaper作为当前Activity的背景。 这是WallpaperActivity在AndroidManifest.xml中的定义: <activity android:name=”.app.WallpaperActivity” android:label=”@string/activity_wallpaper” android:theme=”@style/Theme.Wallpaper”> <intent-filter> < action android:name=”androi ...
前面绘制球体时Android OpenGL ES 开发教程(22):绘制一个球体 ,为了能看出3D效果,给场景中添加光源。如果没有光照,绘出的球看上去和一个二维平面上圆没什么差别,如下图,左边为有光照效果的球体,右边为同一个球体但没有设置光源,看上去就没有立体效果,因此OpenGL 光照效果对显示3D效果非常明显。 在OpenGL 光照模型中光源和光照效果可以细分为红,绿,蓝三个部分,光源由红,绿,蓝强度来定义,而物体表面材料由其反射红,绿,蓝的程度和方向来定义。OpenGL 光照模型使用的计算公式是对于现实世界光照的一个近似但效果非常好并适合快速计算。 OpenGL 光照模型中定义的光 ...
OpenGL ES 中Depth Buffer 保存了像素与观测点之间的距离信息,在绘制3D图形时,将只绘制可见的面而不去绘制隐藏的面,这个过程叫”Hidden surface removal” ,采用的算法为”The depth buffer algorithm”。 一般来说,填充的物体的顺序和其顺序是一致的,而要准确的显示绘制物体在Z轴的前后关系,就需要先绘制距离观测点(ViewPoint)最远的物体,再绘制离观测点较远的物体,最后绘制离观测点最近的物体,因此需要对应所绘制物体进行排序。OpenGL ES 中使用Depth Buffer存放需绘制物体的相对距离。 The depth ...
分享一款个人开发的免费知识管理工具---豆约翰博客备份专家。 该软件是完全免费,功能强大的博客备份工具,博文远程发布(博文远程一键发布到新浪,网易,博客园,WordPress)工具,博客电子书(PDF,CHM和TXT)生成工具,博文离线浏览工具,软件界面美观大方,支持多个主流博客网站(QQ空间,百度空间,新浪博客,网易博客,豆瓣日记,天涯博客,19楼,博客园,和讯博客,CSDN博客,搜狐博客,51CTO博客)的博文备份。 总体功能可以从下面的图中直观的看出来。 以下是软件界面截图: 该软件可以帮助我们做什么呢,个人认为有以下用途: 1.备份自己的博文,防止网站数据丢失或 ...
直线的虚线摸板(DashArray)指出了虚线的模式和间隔。下面的例子使用了不同的Dash Pattern来显示同一条线段。 private void Dashes() { Color blackColor = new Color(0x000000); int[] dashArray1 = { 2, 2 }; int[] dashArray2 = { 6, 6 }; int[] dashArray3 = { 4, 1, 2, 1, 1, 6 }; graphics2D.Reset(); graphics2D.Clear(Color.White); Pen pen = new ...
本包中定义了各种二维几何图形。基本上是参照Java SE 中相应类来定义实现的。 PathIterator 路径元素枚举类。 IShape Shape接口定义了二维图形的一些基本方法。 AffineTransform 仿射变换类。 Arc 圆弧类。 Area 二维区域类。 CubicCurve 三次曲线类。 Dimension 二维图形大小类。 Ellipse 椭圆类。 FlatteningPathIterator 平滑变换路径枚举类。 Path 路径类。 Line 线段类。 Point 二维点 ...
这个例子和Translucent不同的一点是Blur,也就是显示在当前Activit背后的其它Activity以模糊方式显示。 这是通过window对象Flag来设置的。 getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);其它设置Theme和Translucent示例一样。
OpenGL ES 中的FrameBuffer 指的是存储像素的内存空间。对应一个二维图像,如果屏幕分辨率为1280X1024 ,如果屏幕支持24位真彩色 (RGB),则存储这个屏幕区域的内存至少需要1024X1280X3个字节。此外如果需要支持透明度(Alpha),则一个像素需要4个字节。 对应3D图像来说,上面存储显示颜色的Buffer称为Color Buffer,除Color Buffer之外,还需要存储每个像素和View Point之间的距离,OpenGL ES中使用Depth Buffer 存储像素与眼睛(eye 或是view point)的距离,Depth Buffer也可称为 ...
KVM的存储选项有多种,包括虚拟磁盘文件、基于文件系统的存储和基于设备的存储。 虚拟磁盘文件   为实现KVM(Kernel-based Virtual Machine)存储管理,可以使用LVM(Logical Volume Manager)和创建存储池。当系统创建KVM虚拟机的时候,默认使用虚拟磁盘文件作为后端存储。安装后,虚拟机认为在使用真实的磁盘,但实际上看到的是用于模拟硬盘的虚拟磁盘文件。这一额外的文件系统层会降低系统速度。   当然,基于磁盘镜像的虚拟磁盘并非全无益处,磁盘文件系统可以很轻松地用于其它的KVM虚拟化宿主机。但是如果您希望优化KVM虚拟化性能,最好考虑其它 ...
目前为止我们都是通过硬编码来增加菜单项的,android为此提供了一种更便利的方式,就是把menu也定义为应用程序的资源,通过android对资源的本地支持,使我们可以更方便地实现菜单的创建与响应。这一篇就介绍如何使用XML文件来加载和响应菜单,我们需要做这几步: 一般我们都是通过硬编码来增加菜单项的,例如我们之前介绍的。google为此提供了一种更便利的方式,就是 在/res目录下创建menu文件夹 在menu目录下使用与menu相关的元素定义xml文件,文件名任意,android
android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因此我没将其作为核心类。下面一一介绍: 线程的魔法师 Looper Looper的字面意思是“循环者”,它被设计用来使一个普通线程变成Looper线程。所谓Looper线程就是循环工作的线程。在程序开发中(尤其是GUI开发中),我们经常会需要一个线程不断循环,一旦有新任务则执行,执行完继续等待下一个任务,这就是Looper线程。使用Looper类创建Looper线程很简单:
把源码解压放在android.jar所在目录的sources里即可 比如我是基于android4.0.3开发,android.jar所在目录为D:/Program Files/android-sdk-windows/platforms/android-15,在这个目录下新建文件夹sources,将源码放入其中即可,打开eclipse后,ADT会自动关联到源码。 另外,当我们也可以用Android SDK Manager下载源码,它会自动下载关联源码。
柳大的Linux游记·基础篇(5)select IO复用机制 Author: Poechant Blog:blog.CSDN.net/Poechant Email: zhongchao.ustc#gmail.com (#->@) Date: March 13th, 2012 Copyright © 柳大·Poechant 1 基本原理
Global site tag (gtag.js) - Google Analytics