OPENGLES 基础(一些链接和随笔)

http://imgtec.eetrend.com/blog/3912

http://blog.csdn.net/zj8792612/article/details/16116145

在线着色器编辑

1.http://pixelshaders.com/editor/

2.http://yase.chnk.us/

http://glslsandbox.com/

https://www.shadertoy.com/

http://codedstructure.net/projects/webgl_shader_lab/

默认精度设置:

precision mediump float;

1.语方结构体

参考 c

2.变量申明

float

bool

int (一般不用)

vec2 为float的向量

ivec2 为int向量

mat2 为float矩阵

mat3

mat4

sampler2D为二维贴图的句柄

samplerCube 三维贴图的句柄

gl_FragCoord 片元着色器位置变量

gl_FragColor 片元着色器输出变量

gl_Position 点着色器输出变量

3.共享全局变量

uniform修饰的变量可以在全局(不同的编译模块间共用)

4.存储修饰符

const 常量

attribute 用于程序和顶点着色器传递变量值,只能修饰基本类型, 在且只在点着色器中可读

uniform 在全局可以访问, 整个图元处理过程中均为只读。

varying 用于顶点着色和片元着色器之间单向通讯,顶点着色器写入后,在片元着色器中可以读出。

5.内建函数

mix(float y1,float y2,float x)按y(0)=y1 y(1.0)=y2,取x的线性插值,可用于向量。

sin(float)

cos(float)

length(vector) 取向量长度

abs(float)

sqrt(float)

fract(float)取float的小数部分

floor(float)取下整

mix(a,b)

max(a,b)

exp(a,b)

distance(a,b)

dot(x,y)

cross(x,y)

normalize(x)

discard; 放弃渲染当前片段 ///如果在片元程序中没有给gl_FragColor赋值,则可能导致错误。

时间: 2024-11-05 12:10:27

OPENGLES 基础(一些链接和随笔)的相关文章

linux基础知识-链接列表

linux基础知识-链接列表 1. 安装centos 7 1.1 Linux的初识 1.2 centOS 7安装教程 1.3 centOS 7配置ip和网络问题排查 1.4 PuTTY和Xshell远程连接与密钥认证登录 1.5 单用户和救援模式 2. 文件与目录管理 1.6 系统目录结构.文件类型及相关命令 1.7 文件目录管理及相关的命令使用方法 1.8 centos7 的PATH.cp/mv/文档查看命令介绍 原文地址:https://blog.51cto.com/3622288/2370

linux基础之链接文件

链接文件:访问同一个文件不同路径: 硬链接:指向同一个inode的多个文件路径: 特性: (1) 目录不支持硬链接: (2) 硬链接不能跨文件系统: (3) 创建硬链接会增加inode引用计数: 创建: ln  src  link_file 符号链接:指向一个文件路径的另一个文件路径: 特性: (1) 符号链接与文件是两人个各自独立的文件,各有自己的inode:对原文件创建符号链接不会增加引用计数: (2) 支持对目录创建符号链接,可以跨文件系统: (3) 删除符号链接文件不影响原文件:但删除原

HTML基础总结<链接>

HTML 超链接(链接) HTML使用标签 <a>来设置超文本链接. 超链接可以是一个字,一个词,或者一组词,也可以是一幅图像,您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分. 在标签<a> 中使用了href属性来描述链接的地址. 默认情况下,链接将以以下形式出现在浏览器中: 一个未访问过的链接显示为蓝色字体并带有下划线 访问过的链接显示为紫色并带上下划线 点击链接时,链接显示为红色并带上下划线 HTML 链接语法 链接的 HTML 代码很简单.它类似这样:: <

js数组基础知识链接

http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html 小案例:   <script language="javascript" type="text/javascript"> var sum=0; var arr=[];//动态数组的创建 或 var arr=new Array(); for(var j=0;j<3;j++) { //prompt函数 输入文本框 !

5G基础知识链接

MEC研究进展与应用场景探讨 知乎:5G 通信(第五代移动通信)中的关键技术是什么?

ASP.NET基础学习未整理随笔

利用新建网站添加的项目可以改完代码直接刷新就行 提交到服务程序的表单一定要具有name.<input type="hidden"value="true"name="ispostback"/>先是要求服务器读取我的请求,然后再相应提交是将内容发给服务器请求响应然后进行返回值的处理string content=content.request["name"];context.response.write(content)

java基础——JDBC链接数据库的步骤

JDBC操作数据库的基本步骤 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操作结果集. 7)关闭对象,回收数据库资源(关闭结果集-->关闭数据库操作对象-->关闭连接). package com.yangshengjie.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.

JavaScript基础知识逐步理解。

浅谈JavaScript入门基础:    在对JavaScript的内容进行深入研究前,我对JavaScript的基础方面进行一次系统性的整理,下面把这些知识分享给大家.1 JavaScript的组成:    ECMAScript:解释器--将人类可读可解的语言与计算机语言进行交互,方便计算机运行,方便人类读解.    DOM:Document Object Modle.--通过DOM对HTML进行操作.    BOM:Browser Object Modle.--通过BOM来对浏览器窗口进行操

Oracle Database 10g 基础学习(一)

Oracle 从零开始,不知所措.要掌握一种技能,最好的方式是先学会怎么使用它,然后再深入学习,先有样子,再有技术.   一,什么是数据库? 为什么需要数据库? 数据库实质上是一个信息的列表,或者是一组配合工作的列表,数据库程序可以看做是一个列表管理器.简单的信息可以用电子表记录,然后错综复杂列表信息需要数据库的进行管理,数据库有多种性能:行数多,允许许多用户同时使用,安全,关系能力,保证数据质量的约束条件.   二,SQL的作用和特点? Structure Query Language(SQL