首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • WebGL

    按照语法要求,WGSL着色器的代码,要以字符串的形式存在。若使用ES6的语法模板字符串``(反引号),实现字符串的多行书写很方便。

    45910编辑于 2024-08-23
  • 来自专栏Triciaの小世界

    WebGL】初探WebGL,我了解到这些

    WebGL基础知识 WebGL基于OpenGL ES(嵌入式系统) 一种广泛用于在各种平台上渲染2D和3D图形的标准。 设置WebGL上下文 在HTML文件中添加一个canvas元素以显示WebGL内容。 创建一个新的HTML文件 <! 在这里,我们将编写我们的WebGL代码。 获取WebGL上下文 在JavaScript文件中,首先获取WebGL上下文: const canvas = document.getElementById('webglCanvas'); const gl) { alert('您的浏览器不支持WebGL。请使用兼容的浏览器。'); } 定义顶点和片元着色器 WebGL需要使用GLSL(OpenGL着色语言)编写着色器。

    86521编辑于 2023-10-16
  • 来自专栏小程序深入

    webgl 基础

    webgl 发展WebGL起源于Mozilla员工弗拉基米尔·弗基西维奇的一项称为Canvas 3D实验项目。2006年,弗基西维奇首次展示了Canvas 3D的原型。 WebGL的早期应用包括Zygote Body。WebGL 2规范的发展始于2013年,并于2017年1月完成。该规范基于OpenGL ES 3.0。 webgl的支持(兼容性)WebGL(Web 图形库)是一个 JavaScript API,可在任何兼容的 Web 浏览器中渲染高性能的交互式 3D 和 2D 图形,而无需使用插件。 WebGL 2 API 引入了对大部分的 OpenGL ES 3.0 功能集的支持; 它是通过WebGL2RenderingContext界面提供的。 webgl的优缺点优点:WebGL通过HTML脚本本身实现 Web 交互式三维动画的制作,无需任何浏览器插件支持。

    1.9K81编辑于 2022-08-08
  • 来自专栏编程直播室

    WebGL 动画

    X-UA-Compatible" content="ie=edge"> <meta name="Author" content="sunsi"> <meta name="Keywords" content="<em>webgl</em> ,animation"> <meta name="Description" content="<em>webgl</em> tutorial from blog.techcave.cn"> <script canvas id="cv" width="600" height="600"></canvas> </body> </html> 首先,我们通过init方法绑定到body的onload事件,实现整个webgl ,animation"> <meta name="Description" content="<em>webgl</em> tutorial from blog.techcave.cn"> <script 秒针转动的线条 原文地址:http://blog.techcave.cn/2017/09/14/WebGL-%E5%8A%A8%E7%94%BB/

    1.1K40发布于 2018-06-07
  • 来自专栏计算机图形学 前端可视化 WebGL

    WebGL2系列之从WebGL1迁移到WebGL2

    获取WebGL2上下文 获取WEBGL2和获取WebGL1的上下文的方式并不完全一致: 通过canvas的getContext方法获取WebGL2的上下文,这和WebGL1是一致的 getContext 方法传入的参数是"webgl2",而不是"webgl". gl) { console.log('your browser does not support WebGL'); } 很多WebGL扩展可在WebGL2中直接使用 WebGL1中,有很多扩展功能 ,在WebGL1中使用这些功能,首先需要加载扩展,然后调用,而在WebGL2中,WebGL1的很多扩展功能可以直接在使用。 ---- 除了以上所说的两点,webgl1的其他功能,WebGL2都可以很好的兼容。 当如,为了能够使用一些WebGL2的高级特性,我们需要做一些改变。

    2.3K30发布于 2019-05-28
  • 来自专栏星河造梦坊专栏

    WebGL☀️Unity WebGL适配到各平台的教程

    加载WebGL后,报错代码如下: HTTP Response Header “Content-Type” configured incorrectly on the server for file Build

    1.6K10编辑于 2024-08-16
  • 来自专栏sofu456

    js使用webgl

    初始化 painter.prototype.initWebGL = function() { // attempt to get a webgl context try { var gl = this.gl = this.canvas.getContext('webgl') || this.canvas.getContext('experimental-webgl'); } catch (e) { gl.vertexAttribPointer(vertexAttr, 2, gl.FLOAT, false, 0, 0); return true; }; webkit html渲染使用webkit,v8是chrome的js脚本引擎,webgl

    2.3K51发布于 2020-10-26
  • 来自专栏羽月技术

    快速入门 WebGL

    什么是 WebGL? ('webgl') || canvas.getContext('experimental-webgl') ) 上面代码中是按照 webgl2、webgl、experimental-webgl 的顺序获取 webgl2 是最新版本,它几乎完全兼容 WebGL1。experimental-webgl 用来兼容老浏览器,如 IE 11。 兼容性 大多数浏览器都支持 WebGL1。 也有很多现代浏览器支持 WebGL2,但是苹果还不支持 WebGL2,所以编写 WebGL 程序时,需要向下降级到 WebGL1。 WebGL 基于 OpenGL,是 OpenGL 的子集。WebGL1 基于 OpenGL ES 2.0。WebGL2 基于 OpenGL ES 3.0。

    3.7K11编辑于 2022-11-11
  • 来自专栏clz

    WebGL基础笔记

    WebGL 基础笔记 个人参加字节跳动的青训营时写的笔记。这部分是月影老师讲的 WebGL 基础。 1. 创建 WebGL 上下文 const canvas = document.querySelector("canvas"); const gl = canvas.getContext("webgl"); 创建WebGL上下文 const canvas = document.querySelector("canvas"); const gl = canvas.getContext("webgl"); / (比原生 WebGL 简单好多) 3. 多边形 多边形需要进行三角划分 Earcut // 1. 创建WebGL上下文 const canvas = document.querySelector("canvas"); const gl = canvas.getContext("webgl"); /

    1.4K11编辑于 2023-01-02
  • 来自专栏周明礼的专栏

    高冷的 WebGL

    所以今天的文章,就来给大家分享一下WebGL本身。 第一,由于WebGL是直接调用底层的OpenGL,这使得WebGL的接口十分晦涩,对于一般的Web开发人员来说,门槛比较高。 首先明确一点,WebGL也是基于canvas标签的,只是获取的上下文不一样而已,在WebGL中我们获取的上下文对象是webgl,但由于大部分浏览器并没有全面支持WebGL,而是通过experimental-webgl 有了WebGL的上下文,我们就可以开始调用WebGL为我们提供的接口。不过WebGL和Canvas 2D Api不同,并没有直接可以绘制图像的接口,而是需要我们一笔一划的告诉它如何绘制图像。 通过上面的这个例子,我们明白了,要在WebGL中绘制图像,首先得教会WebGL如何绘制(编写着色器),然后告诉WebGL要绘制什么(创建缓存区,写入顶点数据,并关联到着色器变量上),最后清理一下之前绘制的东西

    5.8K20发布于 2017-05-17
  • 来自专栏用户10004205的专栏

    WebGL问题总结

    1.中文的输入输出问题: 1).输出问题:Unity的默认字体Arial在WebGL平台并不能正常的显示,解决方法也简单,自己创建一个字体或者去资源商店里找一个,替换所有的Text文本字体。 2).输入问题:InputField在WebGL平台里不支持中文输入,在Gihub上下载了一个插件-WebGLNativeInputField。插件写了一个InputField的派生类。 2.视频播放问题: VideoPlayer组件,Source来源有两种形式,VideoClip和URL 使用VideoClip,不管是在检视面板将视频拖拽赋值或者是代码动态赋值,在WebGL ,我们真实填入的WebGL平台下的路径参数,是以file:///开头的,但是File读取后的路径开头却是/file:/ 所以结论是,在WebGL平台下不要使用System.IO.File类。 4.URL链接问题: 在PC平台使用Application.OpenURL函数可以打开指定的网页,但是在WebGL端使用该函数打开网页时会覆盖我们的程序页面,没有其他重载方法。

    1.8K20编辑于 2022-08-29
  • 来自专栏TagBug

    WebGL基础 - 笔记

    为什么要使用 WebGL/GPU 怎样使用 WebGLWebGL 入门第一步) 更多读物 # WebGL 基础 - 笔记 # Why WebGL/Why GPU? # WebGL 是什么? GPU ≠ WebGL ≠ 2D WebGL 是浏览器上的 OpenGL 需要一定计算机图形学基础和线性代数基础 # Modern Graphics System 光栅(Raster) 的优势在于:GPU 的计算量处理能力不大,但是 GPU 中的所有计算都可以并行处理 因为图形渲染的像素处理数量一般都是非常大的,但是每个像素的计算量却不大,所以 GPU 处理图形渲染就非常有优势 # WebGL Startup 创建 WebGL 上下文 创建 WebGL Program 将数据存入缓冲区 将缓冲区数据读取到 GPU GPU 执行 WebGL 程序,输出结果 # Shaders

    1.1K20编辑于 2023-03-17
  • 来自专栏腾讯IVWEB团队的专栏

    WebGL 纹理颜色原理

    在调用WebGL的drawArrays或drawElements方法时作为参数传入,从而指定图元类型。 WebGL采用一个叫做内插的过程来计算颜色的值。 纹理贴图 如果要为WebGL创建更加复杂更加自然的现实效果,就需要采用贴图来将现成的图片贴到图形上。 function main() { const canvas = document.getElementById('webgl'); const webgl = getWebGLContext (canvas); webgl.images = {}; // 初始化之前先加载图片 loadImage([ `src/images/0.jpeg`, ], webgl).then

    3.2K10发布于 2017-11-09
  • 来自专栏代码编写世界

    WebGL简易教程——结语

    1 概述 笔者在几年前写过一系列关于WebGL的文章《WebGL简易教程——目录》,前端时间将其整理了一下,增加了一个在线案例的站点以便于学习查看。这里就顺便写一段结语吧。 2.2 趋势 笔者还记得当年学习WebGL的时候,主流浏览器还只支持WebGL 1.0,但是现在主流浏览器几乎都已经支持WebGL 2.0,甚至包括以封闭保守著称的Safari。 3 教程 记得前些年WebGL最火爆的时候,很多HR会在前端行业招会WebGL的,也有很多前端程序员在询问是不是应该要接手WebGL的工作。 但是改起来的时候就觉得,学习WebGL的重点应该是了解其中的图形技术,前端技术其实不是重点,更何况来看WebGL教程的可能并不太会前端。 4 资源 在文章最后就列出本教程的相关资源: WebGL简易教程——目录 WebGL简易教程在线案例 代码和数据地址:WebGLTutorial WebGL简易教程在线案例项目源码

    20300编辑于 2025-07-22
  • 来自专栏pangguoming

    WebGL 入门-WebGL简介与3D图形学

    什么是WebGLWebGL是一项使用JavaScript实现3D绘图的技术,浏览器无需插件支持,Web开发者就能借助系统显卡(GPU)进行编写代码从而呈现3D场景和对象。 WebGL基于OpenGL ES 2.0,OpenGL ES 是 OpenGL 三维图形 API 的子集,针对手机、平板电脑和游戏主机等嵌入式设备而设计。 WebGL 内容作为 HTML5 中的Canvas标签的特殊上下文实现在浏览器中。 WebGL支持现状 目前所有的主流桌面浏览器都已经支持WebGL,但手机端的浏览器只有部分最新版支持。 如果你不了解矩阵也无须担心,许多WebGL库都能帮助我们完成相应的操作。

    4K120发布于 2018-03-07
  • 来自专栏计算机图形学 前端可视化 WebGL

    webgl实现径向模糊

    将模糊的结果和原图进行一个叠加合成(可能需要) webgl实现径向模糊 径向模糊是一个后处理过程,径向模糊可以对静态的图片施加效果,也可以对动态渲染的图像施加效果。本示例中将对动态的图像施加效果。 输入贴图对象 要把贴图对象输出到屏幕上面,我们需要构造一个矩形对象,该对象正好是webgl坐标系中的四个顶点,代码如下: function quad() { var pos = [-1,1,0, - idx = [0,1,2,0,2,3]; return { p:pos, t:st, i:idx, } } 上述对象可以正好把一个贴图对象完整的输出到屏幕上(webgl 最终效果如下, 本文也发表在我的webgl专栏,完整代码可以在专栏中获取: https://xiaozhuanlan.com/topic/6480975213 下一篇文章讲述利用径向模糊实现体积光的效果

    1.9K31发布于 2020-08-27
  • 来自专栏javascript趣味编程

    webVRAR:webGL的副业

    如果没钱用webVR也许是不错的想法,也能够很容易实现模型场景预览,全景展示,实验步骤演示等操作,之前介绍使用three.js加载stl模型;也浅显的介绍了“webGL显式迭代计算温度场的shader[ 显卡风扇不能停]”和“webGL隐式迭代计算温度场的shader[显卡风扇不能停]”,webGL应该是很有用的技术。

    1.4K30发布于 2020-04-15
  • 来自专栏计算机图形学 前端可视化 WebGL

    WebGL压缩纹理实践

    在实际的项目过程中,我们的客户的电脑会经常遇到webgl崩溃的情况。这就需要我们想办法来减少该项目下贴图显存和内存的占用。 0x01 压缩纹理简介 相信对于webgl比较熟悉的同学都知道压缩纹理。 我们常用的的纹理图片,都是jpeg,png等图片格式。 0x04 压缩结果对比 压缩之后,webgl程序的显存和内存占用都大幅度的降低。 整个场景的内存下降大概50%左右,效果还是很明显的。

    2.5K10编辑于 2022-09-28
  • 来自专栏大龄程序员的人工智能之路

    新的挑战:WebGL

    具体来说,运营方上线了一个业务,结果在浏览器中显示成这样: 一调查,这个业务的页面是使用 WebGL 实现的。 对我来说,WebGL 是一个全新的东西。 WebGL 不需要安装任何插件或外部库,只要浏览器支持 WebGL,就可以在任何设备上运行WebGL应用。 现实中也存在许多 WebGL 的应用场景: 地图:WebGL 最广为人知的例子是谷歌地图的地形视图。不管是何种形式的地形图或空间排列,都可以从 3D 展示中获益。 游戏:游戏是 WebGL 的最大应用领域,有很多优秀的 WebGL 游戏可以在浏览器中玩。比如说,Unity 是最流行的游戏开发平台,并提供 WebGL 构建选项。 WebGL 的优势是它不需要安装任何插件或软件,只要有一个支持 WebGL 的浏览器,就可以直接访问在线展览的网址,享受身临其境的体验。

    56120编辑于 2023-09-01
  • 来自专栏计算机图形学 前端可视化 WebGL

    WebGL加载本地模型

    前言 大部分的webgl框架,比如threejs和babylon等,都可以加载obj和gltf模型。

    2.3K30编辑于 2022-05-11
领券