置顶文章
精选分类
前端
技术设计心得
思维threejs
技术设计kotlin
技术设计文章列表
Shader 3d RayMarching11 常见纹理坐标映射
所有 demo 和代码可以在 https://www.shadertoy.com/view/X3sBR7 查看
在传统 3D里面,纹理都是离线制作好,结合物体的形状生成的 UV贴图。Shadertoy中我们一切都是实时生成的。也就是我们需要更具实时生成出来的形状 找到对应面的纹理坐标。
数字孪生常见特效Shader实现2 2D光环
在一些数字孪生场景特效中,常常有光环的设计。本文在 shadertoy 找了以下三个光环的实现,并解释其实现原理
2D 的光很简单,一般都有以下类似的函数,当2D 平面的点离发光位置越远,光就衰减了。
数字孪生常见特效Shader实现3 六边形半球发光护盾
结合上一篇写的光环的光函数,去理解和在创造下面这个在数字孪生中常见的护盾 shield 。
mdbhttps://www.shadertoy.com/view/sdKXzd | xorhttps://www.shadertoy.com/view/cltfRf | FabriceNeyret2https://www.shadertoy.com/view/M32GW3 |
---|---|---|
Astro 5.0 正式发布
国外超火的前端框架:Astro 5.0 正式发布!
Astro 5.0 带来了全新的 内容层 (Content Layer) 和 服务岛 (Server Islands) 功能,实现了从任意来源加载内容的能力,并将静态缓存内容与动态个性化内容完美结合,进一步提升开发效率和网站性能。
什么是 Astro?
Astro 是专注于构建内容驱动型网站(如博客、营销和电商)的现代 Web 框架,以快速加载和优秀的 SEO 表现为核心优势。
flex布局精要之 flex-basis flex-grow flex-shrink flex
这篇文章对flex不熟也可以看。这篇文章只讲这三个属性。为了简单化,不会提到主轴交叉轴,也不讲方向,默认方向就是水平方向从左往右。但并不影响对这三个概念的理解。
vite基础知识-Vite 不支持 require 解决方案
前言首先,Vite 中没有 require 相关方法,因为它默认支持 ESM 方式加载模块! 所以,我们要理清如下两个方法: 方法 require() Node.JS 原生方法 ,以 CommonJS 方式加载模块/文件/图片; Webpack 默认支持 ,Vite 不支持; 方法 require.context() Webpack 特定方法,此方法可实现自定义上下文; Vite 不支持; 但 Vite 提供解决方案,请接着往下看! 解决方案require() 加载模块报错 require 未定义 Uncaught (in promise) ReferenceError: require...
more...vite基础知识-使用 Glob 动态加载文件
前言开发基于 Vite + Vue3 的组件库,多个 .vue 文件需要动态加载!注意 import.meta.globEager 已经弃用,请使用 import.meta.glob 来代替! 使用 Glob异步方式 代码第 1 行,注意使用两个 **,匹配当前目录及其嵌套的全部子目录下的文件; 代码第 4 行,异步使用 Promise 加载,所以要在 then 中获取真正的组件对象; const modules = import.meta.glob('./src/components/**/*.vue'); for (const path in...
more...VXE编辑table后,如何刷新table数据
fixedStep() { this.$nextTick(() => { this.tableData.map(item => { this.batchCompu.forEach(v => { item[`batch${v}`] = (Number(item.num) + (v - 1) * Number(item.step)).toFixed(this.digits) }) return...
more...Unexpected aliasing of 'this' to local variable.eslint@typescript
报错原因:怕全局“this”与局部变量发生混叠。 解决:按照eslint官方给出的解决方式在.eslintrc.js文件中备注this可用的局部变量名称 { '@typescript-eslint/no-this-alias': [ 'error', { allowDestructuring: false, // Disallow `const { props, state } = this`; true by default allowedNames:...
more...