WebGL画一个10px大小的点
WebGL程序在屏幕上同时使用HTML和javascript来创建和显示三维图形。WebGL中新引入的<canvas>元素标签,它定义了网页上的绘图区域。
//获取WebGL绘图上下文
var gl = getWebGLContext(canvas, true);
getWebGLContext(element, [debug]);

/***
* 1.画一个矩形
*/
function main() {
//获取<canvas>标签
var canvas = document.getElementById("myCanvas");
//获取WebGL绘图上下文
var gl = getWebGLContext(canvas, true);
//如果浏览器不支持WebGL则提示错误
if(!gl){
console.log("请使用高版本的浏览器!");
return;
}
console.log(gl);
//指定清除颜色缓冲区的颜色,每个分量的取值范围0-1
gl.clearColor(0.5, 1, 1, 1);
//用指定的颜色清除颜色缓冲区
gl.clear(gl.COLOR_BUFFER_BIT);
} /***
* 1.画一个点
*/
//顶点着色器程序
var VSHADER_SOURCE =
"void main(){\n" +
//设置坐标
"gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n" +
//设置尺寸
"gl_PointSize = 10.0;\n" +
"}\n";
//片元着色器
var FSHADER_SOURCE =
"void main() {\n" +
//设置颜色
"gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);\n" +
"}\n";
function main(){
//获取<canvas>标签
var canvas = document.getElementById("myCanvas");
//获取WebGL绘图上下文
var gl = getWebGLContext(canvas, true);
//如果浏览器不支持WebGL则提示错误
if(!gl){
console.log("请使用高版本的浏览器!");
return;
}
console.log(initShaders(gl, VSHADER_SOURCE, FSHADER_SOURCE));
//初始化着色器
if(!initShaders(gl, VSHADER_SOURCE, FSHADER_SOURCE)){
console.log("着色器初始化失败!");
return;
}
//设置<canvas>的背景色
gl.clearColor(0.0, 0.0, 0.0, 1.0);
//清空<canvas>
/***
* gl.clear();函数继承自OpenGL();
* 它基于多基本缓冲区模型,比二维绘图上下文复杂的多。
* 清空绘图区,实际上是在清空颜色缓冲区 通过指定的颜色去擦除已经绘制的内容。
* 传递 gl.COLOR_BUFFER_BIT参数就是在告诉WebGL清空颜色缓冲区。
* 如果在使用该函数之前没有指定任何颜色,那么默认会rgba(0,0,0,0);作为清除颜色。
* 这个颜色是全透明的,替换出来的结果就是什么颜色都没有,显示为浏览器本身的颜色。
*
*/
gl.clear(gl.COLOR_BUFFER_BIT);
//绘制一个点
/***
* drawArrays(mode, first, count);
* mode:指定绘图的方式,可接收以下常量符号:
* POINTS LINES LINE_STRIP LINE_LOOP TRIANGLES TRIANGLES_STRIP TRIANGLES_FAN
* first:指定从哪个顶点开始绘制 整型
* count:指定绘制需要用到多少个顶点 整型
* 返回值:无
* 错误:
* INVALID_ENUM:传入mode参数不是前序参数之一
* INVALID_VALUE:参数first或count是负数
*/
gl.drawArrays(gl.POINTS, 0, 1);
}
WebGL画一个10px大小的点的更多相关文章
- Effective前端3:用CSS画一个三角形
p { text-indent: 2em } .triangle-container p { text-indent: 0 } img { margin: 15px 0 } 三角形的场景很常见,打开一 ...
- Effective前端(3)用CSS画一个三角形
来源:https://zhuanlan.zhihu.com/p/26160325 三角形的场景很常见,打开一个页面可以看到各种各样的三角形: 由于div一般是四边形,要画个三角形并不是那么直观.你可以 ...
- Effective前端1---chapter 2 用CSS画一个三角形
1.CSS画三角形的画法 第一步:三角形可以用border画出来,首先一个有四个border的div长这样: <div class="triangle"></di ...
- 用canvas画一个的小画板(PC端移动端都能用)
前言 本篇的内容主要包括: canvas标签简介 画板的功能简介 画板的JS部分(包括:1.获取画布 2.使画板全屏幕显示且自适应 3.如何绘制直线 4.绘画时的三种状态(鼠标点击.移动.离开)5.画 ...
- canvas游戏小试:画一个按方向键移动的圆点
canvas游戏小试:画一个按方向键移动的圆点 自己对canvas,但又有一颗做游戏的心TT.然后记录一下对canvas的学习吧,用一个按方向键控制的小圆点来做练习.(编程时用了一些es6的语法) ...
- .使用 HTML+CSS 实现如图布局,border-widht 5px,一个格子大小是 50*50,hover时候边框变为红色(兼容IE6+,考虑语义化的结构)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- css3简单几步画一个乾坤图
原文:[原创]css3简单几步画一个乾坤图 效果如上,鼠标移上去会有动画. 代码如下非常简单: <html> <head> <style> .outer{heigh ...
- vb代码之------画一个半透明矩形
入吾QQ群183435019 (学习 交流+唠嗑). 废话不说,咱们来看代码吧 程序结果运行如下 需要如下API 1:GdipCreateFromHDC 功能:创建设备场景相对应的绘图区域(相当于给设 ...
- 手把手带你画一个漂亮蜂窝view Android自定义view
上一篇做了一个水波纹view 不知道大家有没有动手试试呢点击打开链接 这个效果做起来好像没什么意义,如果不加监听回调 图片就能直接替代.写这篇博客的目的是锻炼一下思维能力,以更好的面多各种自定义vi ...
随机推荐
- XAF-如何在详细视图界面显示按钮(含示例项目下载)
默认情况下,指定了按钮的Category后,将在对应的按钮容器显示按钮.有时候,我们需要将按钮显示在详细视图中. 本示例源码 创建一个控制器,并填加按钮.设置好了所有ID.Caption后,给Cate ...
- 函数parseQuery用于解析url查询参数
在百度上找的,以后忘了再看. 语法如下: var obj = parseQuery(query) query是被解析的查询参数,函数返回解析后的对象. 使用范例如下: var jerry = pars ...
- Unity FSM 有限状态机
翻译了一下unity wiki上对于有限状态机的案例,等有空时在详细写一下.在场景中添加两个游戏物体,一个为玩家并修改其Tag为Player,另一个为NPC为其添加NPCControl脚本,并为其将玩 ...
- Python基础灬函数(定义,参数)
函数 函数定义 # 定义一个计算绝对值的函数 def cal_abs(x): if x >= 0: return x else: return -x # 调用函数 print('-1的绝对值是: ...
- how to update product listing price sale price and sale date using mobile App
Greetings from Amazon Seller Support, Thank you for writing back to us. I have reviewed our previous ...
- php 通过curl上传图片
通过curl上传图片 PHP < 5.5: 使用 目前使用的php版本 7.1 测试无法使用 前面加@ 的方法上传文件 ,查找资料 使用 curl_setopt($ch,CURLOPT_SAFE ...
- Scrum立会报告+燃尽图(十月十八日总第九次):功能细化与数据库设计
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2246 项目地址:https://git.coding.net/zhang ...
- VIM字符编码基础知识
1 字符编码基础知识 字符编码是计算机技术中最基本和最重要的知识之一.如果缺乏相关知识,请自行恶补之.这里仅做最简要的说明. 1.1 字符编码概述 所谓的字符编码,就是对人类发明的每一个文字进行数字 ...
- 上午做的第一个安卓app
刚开始学习安卓开发,有好多不懂,好多快捷键不知道,好多文件也不知道是干什么用的,初学时的确会有很多烦恼,比如哪里又多一个空格也会报错,有时候错误很难看懂. 嘿嘿,一上午的功夫边学习边调代码,做出了我第 ...
- Right-BICEP 测试四则运算程序
测试方法: Right-BICEP 测试计划: 1.边界测试是否正确 2.负数表示是否实现 3.是否有乘除法 4.是否可以选择题目数量 5.是否有输出方式 6.是否有括号 7.是否有重复查询 ...