基于Three.js的glsl编写环境搭建

目前无论是Three.js官方库还是一些其他的做法,基于网页端glsl的编写都是以字符串的形式来编写的,代码整洁尚且不谈,代码提示和格式校验都十分困难。本文介绍一种glsl与js分离的编写环境搭建方法。

一.安装Parcel

Parcel是一款Web 应用打包工具使用简单快捷。
打开终端

npm install -g parcel-bundler

等待自动处理即可安装完成。
安装好以后,先进入项目,cd空格,直接把文件夹拖进去回车。

cd 项目路径

首次进入项目执行,创建json

npm init -y

然后需要发布的时候

parcel index.html

就可以完成发布了,在浏览器中打开http://localhost:1234就可以预览发布后的网页。

二.引用glsl

完成parcel发布以后,在代码中执行引用three,即可自动创建对three.js的引用

import * as THREE from 'three';

同样的,对glsl的引用方法如下,就可以正常加载shader了:

import vertex from './shaders/vertex.glsl';
import fragment from './shaders/fragment.glsl';
...略...
var material = new THREE.ShaderMaterial({
    vertexShader: vertex,
    fragmentShader: fragment,
    uniforms,
});
image.png

三.代码提示

代码提示有各自编辑器的做法,这里编辑器我使用的是vscode,安装了GLSL language support扩展插件,可以识别多种命名.vs, .fs, .fx, .gs, .cs, .tc, .te, .vsh, .fsh, .gsh, .vshader, .fshader, .gshader, .vert, .frag, .geom, .tesc, .tese, .comp, .f.glsl, .v.glsl, .g.glsl, .glsl
而且有代码高亮提示等基础功能:

image.png

唯一的缺点是代码格式化的时候会把1.0强制变成1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值