自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (16)
  • 收藏
  • 关注

原创 GLSL 内建函数

OpenGL ES着色语言为标量和向量操作定义了一套内建便利函数。有些内建函数可以用在多个类型的着色器中,有些是针对固定硬件的,所以这部分只能用在某个特定的着色器上。       内建函数基本上可以分为一下三类:(1)它们使用一些简便的方式提供必要的硬件功能,如材质贴图。这些函数单独通过着色器是无法模拟出来的。(2)它们展示了一些可以常简单的写入的繁琐操作(clamp, mix等),但

2012-08-17 10:50:54 116032 4

原创 GLSL 内建变量

有些OpenGL ES操作在顶点处理器和片元处理器之间有特定的功能,有些在片元处理器之后又特定的功能,着色器通过内建变量同这些固定功能进行通信。        在OpenGL ES中,内建特殊变量部分来自顶点着色器的输出变量,部分来自于片元着色器的输入变量和输出变量。不同于用户定义的varying变量,内建特殊变量不用在顶点语言和片元语言之间保持严格的一对一对应。相反,两个语言各有自己的一套变

2012-08-17 10:42:02 18388 1

原创 GLSE 语句和结构体

OpenGL ES着色器语言的程序块基本构成如下:语句和声明函数定义选择(if-else)迭代(for, while, do-while)跳跃(discard, return, break, continue)1函数定义        着色器是由一系列全局声明和函数定义组成的。函数声明规范如下:                  // prototype

2012-08-17 10:40:26 2338

原创 GLSL 其他说明

法线矩阵在很多顶点shader中都用到了gl_NormalMatrix。这里将介绍这个矩阵是什么,以及它的作用。大部分计算是在视图空间内完成的,主要原因是光照的运算要放在这个空间内,否则一些依赖观察点坐标的效果,比如镜面反射光就很难实现。所以我们需要将法线变换到视图空间。变换一个顶点到视图空间的方法如下:vertexEyeSpace = gl_ModelViewMatrix *

2012-08-16 11:26:11 2627

原创 GLSL 纹理贴图

简单的纹理贴图(Simple Texture)为了在GLSL中应用纹理,我们需要访问每个顶点的纹理坐标。GLSL中提供了一些属性变量,每个纹理单元一个:attribute vec4 gl_MultiTexCoord0;attribute vec4 gl_MultiTexCoord1;attribute vec4 gl_MultiTexCoord2;attribute vec

2012-08-16 11:20:36 15074 2

原创 GLSL 逐像素的光照

逐像素的方向光(Directional Light per Pixel)这一节将把前面的shader代码改为逐像素计算的方向光。我们需要将工作按照两个shader拆分,以确定哪些是需要逐像素操作的。首先看看每个顶点接收到的信息:•法线•半向量•光源方向我们需要将法线变换到视点空间然后归一化。我们还需要将半向量和光源方向也归一化,不过它们已经位于视点空间中了。这些归一化之后的

2012-08-16 11:12:04 3110 1

原创 GLSL 逐顶点的光照

引言在OpenGL中有三种类型的光:方向光(directional)、点光(point)、聚光(spotlight)。本教程将从方向光讲起,首先我们将使用GLSL来模仿OpenGL中的光。我们将向shader中逐渐添加环境光、散射光和高光效果。后面的教程中我们将使用逐像素光照以获得更好的效果。接下来我们将实现逐像素的点光和聚光。这些内容与方向光很相近,大部分代码都是通用

2012-08-16 11:04:49 2958

原创 GLSL 卡通着色

引言卡通着色可能是最简单的非真实模式shader。它使用很少的颜色,通常是几种色调(tone),因此不同色调之间是突变的效果。下图显示的就是我们试图达到的效果:茶壶上的色调是通过角度的余弦值选择的,这个角度是指光线和面的法线之间的夹角角度。如果法线和光的夹角比较小,我们使用较亮的色调,随着夹角变大,逐步使用更暗的色调。换句话说,角度余弦值将决定色调的强度。在本教程中,我们先介绍

2012-08-16 10:54:32 2338

原创 GLSL shder的简单示例

GLSL的Hello World这一节中包含一个最基本的shader,它提供如下功能:顶点变换然后使用单一的颜色渲染图元。顶点shader前面已经说过,顶点shader负责完成顶点变换。这里将按照固定功能的方程完成顶点变换。固定功能流水线中一个顶点通过模型视图矩阵以及投影矩阵进行变换,使用如下公式:vTrans = projection * modelview *incomin

2012-08-16 10:48:31 3147

原创 GLSL 在OpenGL中向shader传递信息

引言一个OpenGL程序可以用多种方式和shader通信。注意这种通信是单向的,因为shader的输出只能是渲染到某些目标,比如颜色和深度缓存。OpenGL的部分状态可以被shader访问,因此程序改变OpenGL某些状态就可以与shader进行通信了。例如一个程序想把光的颜色传给shader,可以直接调用OpenGL接口,就像使用固定功能流水线时做的那样。不过,使用OpenGL状态并

2012-08-16 10:42:11 27409 6

原创 GLSL 在OpenGL中使用GLSL

设置GLSL这一节讲述在OpenGL中配置GLSL,假设你已经写好了顶点shader和像素shader。如果你还没有准备好,可以从如下网址获得相关内容:http://www.3dshaders.com/home/http://www.opengl.org/sdk/tools/ShaderDesigner/http://developer.amd.com/archiv

2012-08-16 10:34:07 12048 2

原创 GLSL 图形流水线

流水线概述下图描述了一个简化的图形处理流水线,虽然简略但仍然可以展示着色器编程(shader programming)的一些重要概念。一个固定流水线包括如下功能:顶点变换(Vertex Transformation)这里一个顶点是一个信息集合,包括空间中的位置、顶点的颜色、法线、纹理坐标等。这一阶段的输入是独立的顶点信息,固定功能流水线在这一阶段通常进行如下工作

2012-08-16 10:21:08 2840

原创 OpenGL ES着色器语言之操作数

5.1操作数OpenGL ES着色器语言包含如下操作符.5.2数组下标         数组元素通过数组下标操作符([ ])进行访问.这是操作数组的唯一操作符,举个访问数组元素的例子:                   diffuseColor += lightIntensity[3] * NdotL;5.3函数调用        如果一个函数有返

2012-08-09 10:42:57 3168

原创 OpenGL ES着色语言关键字使用

varying修饰符只能用在float, vec2, vec3, vec4, mat2, mat3, mat4和包含这些类型元素的数组上,不能用于修饰结构体。uniform修饰符可以和任意基本数据类型一起使用,或者包含基本数据类型元素的数组和结构体。attribute修饰符只能修饰float, vec2, vec3, vec4,mat2,mat3,mat4。attribut

2012-08-09 10:36:55 2619

原创 OpenGL ES着色器语言之变量和数据类型

所有变量和函数在使用前必须声明。变量和函数名是标识符。       没有默认类型,所有变量和函数声明必须包含一个声明类型以及可选的修饰符。变量在声明的时候首先要标明类型,后边可以跟多个变量,之间用逗号隔开。很多情况下,变量在声明的时候可以使用等号“=”进行初始化。       用户定义类型可以使用struct,在结构体中所有变量类型都必须是OpenGL ES着色器语言定义的关键字。Op

2012-08-09 10:34:22 25520 2

原创 OpenGL ES着色器语言之着色

OpenGL ES着色语言是两种紧密关联的语言。这些语言用来在OpenGL ES处理管线的可编程处理器创建着色器。 在本文档中,除非另外说明,一个语言功能适用于所有语言,并且通用用法将把他们当做一个语言来看待。特定语言将指出它们的目标处理器:顶点(vertext)或片元(fragment)。任何被着色器使用的OpenGL ES状态值都会自动地被跟踪并且作用于着色器上。这个自动状态跟踪机制允许应

2012-08-09 10:28:58 4523

VirualGDB5.1

vs 2013 开发android插件,vs2015 也可以使用

2016-12-06

Android C++ with the NDK 代码

Android C++ with the NDK 代码

2016-10-13

facebook 网站源码

facebook 网站源码

2013-02-20

GLES官方文档

GLES官方文档

2012-08-17

CrackVS2008ForWindows7

CrackVS2008ForWindows7,出现点击bug微软,出现序列号输入框,输入序列号即可

2012-05-10

Android 面试题和答案

Android 面试题和答案,Android 面试题和答案

2012-02-26

OpenGL编程指南(第七版)

学习OpenGL的不二选择……本书对OpenGL以及OpenGL实用函数库进行了全面而又权威的介绍,素有“OpenGL红宝书”之誉。本书的上一个版本覆盖了OpenGL 2.1版的所有内容。本版涵盖了OpenGL 3.0和3.1的最新特性。本书以清晰的语言描述了OpenGL的功能以及许多基本的计算机图形技巧

2012-01-04

OpenGL ES 2.0 编程指南

OpenGL ES 2.0 编程指南[pdf及源代码] 学习open ES的好书,含有书中源代码

2011-11-15

OpenGL_ES基础入门

OpenGL ES基础入门,OpenGL_ES基础入门

2011-11-15

Android 3D游戏开发技术详解与典型案例

Android 3D游戏开发技术详解与典型案例,前三章内容

2011-11-15

使用android push notification service 实现即时通知

使用android push notification service 实现即时通知

2011-11-10

testmusic.pcm AudioTrack使用测试文件

http://blog.csdn.net/hgl868/article/details/6766917#comments中使用的测试文件

2011-10-20

Android_SDK2.2__开发环境详解

Android_SDK2.2__开发环境详解

2011-10-18

ffmpeg 视频解析 for andorid

ffmpeg 视频解析 for andorid,能够正常使用

2011-09-28

icon字符串转换

icon字符串转换, 移植到android版本,在android2.1和2.2版本测试通过,能够正常使用

2011-09-09

c++编程思想第二版源码,包括卷1和卷2源码

c++编程思想第二版源码,包括卷1和卷2源码

2011-08-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除