当前位置: 首页 > news >正文

洛阳建站公司网站建设价格

洛阳建站公司,网站建设价格,seo工具包,杭州网页设计招聘网本文罗列几个WebGL入门例子,用于帮助WebGL学习。 一、概述 WebGL (Web Graphics Library)是一组基于Open ES、在Web内渲染3D图形的Javascript APIs。 Ref. from Khronos Group: WebGL WebGL™ is a cross-platform, royalty-free open web standard for a low-lev…

本文罗列几个WebGL入门例子,用于帮助WebGL学习。

一、概述

WebGL (Web Graphics Library)是一组基于Open ES、在Web内渲染3D图形的Javascript APIs。

Ref. from Khronos Group: WebGL

WebGL™ is a cross-platform, royalty-free open web standard for a low-level 3D graphics API based on OpenGL ES, exposed to ECMAScript via the HTML5 Canvas element. 

二、配置WebGL开发环境

三、例子1:绘制三角形

<!DOCTYPE HTML>
<html lang="en"><head><title>Draw a triangle</title><meta charset="utf-8"><script type="text/javascript">var gl;var canvas;var shaderProgram;var vertexBuffer;function createGLContext(canvas){var names = ["webgl", "experimental-webgl"];var context = null;for(var i = 0; i < names.length; i++){try{context = canvas.getContext(names[i]);}catch(e){if (context){break;}}}if(context){context.viewportWidth = canvas.width;context.viewportHeight = canvas.height;}else{alert("Failed to create WebGL context!");}return context;}function loadShader(type, shaderSource){var shader = gl.createShader(type);gl.shaderSource(shader, shaderSource);gl.compileShader(shader);if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)){alert("Error compiling shader" + gl.getShaderInfoLog(shader));gl.deleteShader(shader);return null}return shader;}function setupShaders(){var vertexShaderSource = "attribute vec3 aVertexPosition;				\n" +"void main()									\n" + "{												\n" +"	gl_Position = vec4(aVertexPosition, 1.0);	\n" + "}									            \n";var fragmentShaderSource = "precision mediump float;						\n" +"void main()									\n" + "{												\n" +"	gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);	\n" + "}									            \n";var vertexShader = loadShader(gl.VERTEX_SHADER, vertexShaderSource);var fragmentShader = loadShader(gl.FRAGMENT_SHADER, fragmentShaderSource);shaderProgram = gl.createProgram();gl.attachShader(shaderProgram, vertexShader);gl.attachShader(shaderProgram, fragmentShader);gl.linkProgram(shaderProgram);if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)){alert("Failed to setup shaders!");}gl.useProgram(shaderProgram);shaderProgram.vertexPositionAttribute = gl.getAttribLocation(shaderProgram, "aVertexPosition");}function setupBuffers(){vertexBuffer = gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);var triangleVertices = [0.0, 0.5, 0.0,-0.5, -0.5, 0.0,0.5, -0.5, 0.0];gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(triangleVertices), gl.STATIC_DRAW);vertexBuffer.itemSize = 3;vertexBuffer.numberOfItems = 3;}function draw(){gl.viewport(0,0, gl.viewportWidth, gl.viewportHeight);gl.clear(gl.COLOR_BUFFER_BIT);gl.vertexAttribPointer(shaderProgram.vertexPositionAttribute, vertexBuffer.itemSize, gl.FLOAT, false, 0, 0);gl.enableVertexAttribArray(shaderProgram.vertexPositionAttribute);gl.drawArrays(gl.TRIANGLES, 0, vertexBuffer.numberOfItems);}function startup(){canvas = document.getElementById("myGLCanvas");gl = createGLContext(canvas);setupShaders();setupBuffers();gl.clearColor(0.0,0.0,0.0,1.0);draw();}</script></head><body onload="startup();"><canvas id="myGLCanvas" width="500" height="500"></canvas></body>
</html>

参考资料

Andreas Anyuru. Professional WebGL Programming: Developing 3D Graphics for the Web.

Kouichi Matsuda, Rodger Lea. WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL.

网络资料

WebGLhttps://www.khronos.org/webgl/

WebGL 2.0 Specificationhttps://registry.khronos.org/webgl/specs/latest/2.0/

Three.jshttps://threejs.org/

BabylonJShttps://www.babylonjs.com/

http://www.yayakq.cn/news/79267/

相关文章:

  • php网站开发多少钱wordpress joomla seo
  • 网站技术方案建个网站费用多少
  • 深圳宝安网站设计公司wordpress 3.3.1
  • 北京市建设工程信息网站网页设计代码大全下载
  • 大气环保网站模板软件技术专业专升本考试科目
  • 网站环境搭建教程wordpress搭建服务器
  • 网站安全建设目标北京移动端网站价格
  • 做夹具需要知道的几个网站primefaces做网站
  • 免费下载ppt模板网站有哪些网站优化 济南
  • 电子商务网站建设与维护 答案百度seo关键词排名技术
  • 泉州晋江网站建设费用郑州网络推广电话
  • 网站开发前后端分工关键词生成器在线
  • html网站地图织梦移动网站模板免费下载
  • 建设部网站资质标准小制作小发明手工五年级
  • 做推广适合哪些网站吗郑州做网站建设公司排名
  • 网站建设及推广费用怎么入账wordpress企業主题
  • 购物网站介绍app开发的网站
  • 网站做apk制作工具做企业网站可以没有后台吗
  • 网站建设结项报告哪个公司网站设计最好
  • 网站怎么做直播黄冈商城网站建设哪家好
  • 网站建设中 敬请期待...企业注册信息查询单怎么打印
  • 品牌网站设计联系自己画图设计房间的软件
  • 医疗网站建设基本流程wordpress充值卡生成
  • 湖南张家界建设厅网站网页微信登录不了
  • 泉州网站建设技术外包永久免费素材网ppt模板
  • seo常用工具网站网站设计部的优化
  • 帝国cms做网站怎样维护网站系统重要性
  • 公司的网站的设计网站前台后台
  • 网站开发与维护课程设计公司官方网站建设
  • 安通建设有限公司网站手机平面绘图软件