@antv/g-shader-components
Shader components based on glslify
Last updated 3 years ago by panyuqi .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @antv/g-shader-components 
SYNC missed versions from official npm registry.

@antv/g-shader-components

使用方式

基于 glslify 提供 chunks。

目前在 G 中 g-plugin-3d g-plugin-device-renderer 会使用该包,在使用时需要配合 rollup-plugin-glslify,例如下面是 MeshBasicMaterial 使用的 FS:

// material.basic.frag

// 公共的 Uniform 定义
#pragma glslify: import('@antv/g-shader-components/scene.both.glsl')
#pragma glslify: import('@antv/g-shader-components/material.both.glsl')

#pragma glslify: import('@antv/g-shader-components/batch.declaration.frag')
#pragma glslify: import('@antv/g-shader-components/uv.declaration.frag')
#pragma glslify: import('@antv/g-shader-components/map.declaration.frag')
#pragma glslify: import('@antv/g-shader-components/wireframe.declaration.frag')
#pragma glslify: import('@antv/g-shader-components/fog.declaration.frag')

void main() {
  // 通用属性,例如 fill opacity
  #pragma glslify: import('@antv/g-shader-components/batch.frag')
  // 贴图
  #pragma glslify: import('@antv/g-shader-components/map.frag')

  gbuf_color = u_Color;
  gbuf_color.a = gbuf_color.a * u_Opacity;

  // 绘制 wireframe
  #pragma glslify: import('@antv/g-shader-components/wireframe.frag')
  // 场景雾
  #pragma glslify: import('@antv/g-shader-components/fog.frag')
}

文件名命名规范

  • .vert 只能在 Vertex Shader 中使用。
  • .frag 只能在 Fragment Shader 中使用。

带有 .declaration. 部分的在 Shader 开头全局作用域中使用,反之在 main 函数中执行。

内置 Chunks

scene

包含场景通用的 Uniform 声明

  • scene.both.glsl

material

包含材质通用的 Uniform 声明

  • material.both.glsl

uv

纹理坐标

  • uv.vert 将 a_Uv 顶点数据传给 v_Uv
  • uv.declaration.frag 声明 v_Uv,后续纹理查询使用

wireframe

提供 wireframe 绘制,常用于调试或某种风格化效果。暂不支持边框颜色和宽度的配置。

  • wireframe.vert 将 a_Barycentric 重心坐标数据传给 v_Barycentric
  • wireframe.frag 调用计算 edgeFactor 函数
  • wireframe.declaration.frag 声明 edgeFactor 函数

fog

提供简单的场景雾效果。支持 exp、exp2 和 linear 三种类型。

  • fog.declaration.vert 声明深度
  • fog.declaration.frag 提供深度雾函数
  • fog.frag 在计算完光照后,调用函数

map

漫反射贴图

  • map.declaration.frag 声明采样器
  • map.frag 纹理采样

bump map

参考 Three.js 的实现,基于原始论文:https://www.dropbox.com/s/l1yl164jb3rhomq/mm_sfgrad_bump.pdf?dl=0

  • bumpmap.declaration.frag

采样发生在 normal chunk 中。

specular map

漫反射贴图

  • specularmap.declaration.frag 声明采样器
  • specularmap.frag 纹理采样

normal

  • normal.frag 计算法线
  • normalmap.frag 使用凹凸贴图、法线贴图计算最终法线值

sdf

提供 2D 图形的 SDF

  • sdf.circle.glsl
  • sdf.ellipse.glsl
  • sdf.rect.glsl

光照计算

Current Tags

  • 1.8.0-alpha.1                                ...           alpha (3 years ago)
  • 2.0.1-beta.0                                ...           beta (4 months ago)
  • 2.0.0                                ...           latest (3 years ago)
  • 2.0.0                                ...           next (3 years ago)

129 Versions

  • 2.0.1-beta.0                                ...           4 months ago
  • 1.8.7                                ...           2 years ago
  • 1.8.6                                ...           2 years ago
  • 1.8.5                                ...           3 years ago
  • 1.8.4                                ...           3 years ago
  • 1.8.3                                ...           3 years ago
  • 1.8.2                                ...           3 years ago
  • 1.8.1                                ...           3 years ago
  • 2.0.0                                ...           3 years ago
  • 1.8.0                                ...           3 years ago
  • 1.8.0-beta.1                                ...           3 years ago
  • 1.8.0-alpha.1                                ...           3 years ago
  • 1.7.55                                ...           3 years ago
  • 1.7.54                                ...           3 years ago
  • 1.7.53                                ...           3 years ago
  • 1.7.52                                ...           3 years ago
  • 1.7.51                                ...           3 years ago
  • 1.7.50                                ...           3 years ago
  • 1.7.49                                ...           3 years ago
  • 1.7.48                                ...           3 years ago
  • 1.7.47                                ...           3 years ago
  • 1.7.46                                ...           3 years ago
  • 1.7.45                                ...           3 years ago
  • 1.7.44                                ...           3 years ago
  • 1.7.43                                ...           3 years ago
  • 1.7.42                                ...           3 years ago
  • 1.7.41                                ...           3 years ago
  • 1.7.40                                ...           3 years ago
  • 1.7.39                                ...           3 years ago
  • 1.7.38                                ...           3 years ago
  • 1.7.37                                ...           3 years ago
  • 1.7.36                                ...           3 years ago
  • 1.7.35                                ...           3 years ago
  • 1.7.34                                ...           3 years ago
  • 1.7.33                                ...           3 years ago
  • 1.7.32                                ...           3 years ago
  • 1.7.31                                ...           3 years ago
  • 1.7.30                                ...           3 years ago
  • 1.7.29                                ...           3 years ago
  • 1.7.28                                ...           3 years ago
  • 1.7.27                                ...           3 years ago
  • 1.7.26                                ...           3 years ago
  • 1.7.25                                ...           3 years ago
  • 1.7.24                                ...           3 years ago
  • 1.7.23                                ...           3 years ago
  • 1.7.22                                ...           3 years ago
  • 1.7.21                                ...           3 years ago
  • 1.7.20                                ...           4 years ago
  • 1.7.19                                ...           4 years ago
  • 1.7.18                                ...           4 years ago
  • 1.7.17                                ...           4 years ago
  • 1.7.16                                ...           4 years ago
  • 1.7.15                                ...           4 years ago
  • 1.7.14                                ...           4 years ago
  • 1.7.13                                ...           4 years ago
  • 1.7.12                                ...           4 years ago
  • 1.7.11                                ...           4 years ago
  • 1.7.10                                ...           4 years ago
  • 1.7.9                                ...           4 years ago
  • 1.7.8                                ...           4 years ago
  • 1.7.7                                ...           4 years ago
  • 1.7.6                                ...           4 years ago
  • 1.7.5                                ...           4 years ago
  • 1.7.4                                ...           4 years ago
  • 1.7.3                                ...           4 years ago
  • 1.7.2                                ...           4 years ago
  • 1.7.1                                ...           4 years ago
  • 1.7.0                                ...           4 years ago
  • 1.6.3                                ...           4 years ago
  • 1.6.2                                ...           4 years ago
  • 1.6.1                                ...           4 years ago
  • 1.6.0                                ...           4 years ago
  • 1.6.0-alpha.0                                ...           4 years ago
  • 1.5.3                                ...           4 years ago
  • 1.5.2                                ...           4 years ago
  • 1.5.1                                ...           4 years ago
  • 1.5.0                                ...           4 years ago
  • 1.4.0                                ...           4 years ago
  • 1.3.1                                ...           4 years ago
  • 1.3.0                                ...           4 years ago
  • 1.2.3                                ...           4 years ago
  • 1.2.2                                ...           4 years ago
  • 1.2.1                                ...           4 years ago
  • 1.2.0                                ...           4 years ago
  • 1.1.8-alpha.0                                ...           4 years ago
  • 1.1.7                                ...           4 years ago
  • 1.1.6                                ...           4 years ago
  • 1.1.5                                ...           4 years ago
  • 1.1.4                                ...           4 years ago
  • 1.1.3                                ...           4 years ago
  • 1.1.3-alpha.1                                ...           4 years ago
  • 1.1.3-alpha.0                                ...           4 years ago
  • 1.1.2                                ...           4 years ago
  • 1.1.1                                ...           4 years ago
  • 1.1.0                                ...           4 years ago
  • 1.0.19                                ...           4 years ago
  • 1.0.18                                ...           4 years ago
  • 1.0.18-alpha.16                                ...           4 years ago
  • 1.0.18-alpha.15                                ...           4 years ago
  • 1.0.18-alpha.14                                ...           4 years ago
  • 1.0.18-alpha.13                                ...           4 years ago
  • 1.0.18-alpha.12                                ...           4 years ago
  • 1.0.18-alpha.11                                ...           4 years ago
  • 1.0.18-alpha.10                                ...           4 years ago
  • 1.0.18-alpha.9                                ...           4 years ago
  • 1.0.18-alpha.8                                ...           4 years ago
  • 1.0.18-alpha.7                                ...           4 years ago
  • 1.0.18-alpha.6                                ...           4 years ago
  • 1.0.18-alpha.4                                ...           4 years ago
  • 1.0.18-alpha.2                                ...           4 years ago
  • 1.0.18-alpha.0                                ...           4 years ago
  • 1.0.17                                ...           4 years ago
  • 1.0.17-alpha.2                                ...           4 years ago
  • 1.0.17-alpha.1                                ...           4 years ago
  • 1.0.17-alpha.0                                ...           4 years ago
  • 1.0.16                                ...           4 years ago
  • 1.0.14                                ...           4 years ago
  • 1.0.13                                ...           4 years ago
  • 1.0.12                                ...           4 years ago
  • 1.0.11                                ...           4 years ago
  • 1.0.10                                ...           4 years ago
  • 1.0.9                                ...           4 years ago
  • 1.0.8                                ...           4 years ago
  • 1.0.7                                ...           4 years ago
  • 1.0.6                                ...           4 years ago
  • 1.0.5                                ...           4 years ago
  • 1.0.4                                ...           4 years ago
  • 1.0.3                                ...           4 years ago
  • 1.0.2                                ...           4 years ago

Copyright 2013 - present © cnpmjs.org | Home |