three.js - 为什么当我使用 png 纹理时,threejs pointshadermaterial 是矩形而不是圆形?
问题描述
我已经按照官方示例写了一个积分示例,但结果并不满意:
点是矩形,而不是圆形!
这是我的材料代码:
let material = new THREE.ShaderMaterial({
uniforms: {
uColor: { value: new THREE.Color(0xffffff) },
uPointTexture: { value: new THREE.TextureLoader().load(require('./res/spark1')) }
},
vertexShader: _me.vertex_shader,
fragmentShader: _me.fragment_shader,
transparent: true
})
解决方案
经过一番尝试,比如:blending: THREE.AdditiveBlending
,fog: false
...我发现与depthTest属性有关,我设置为 false 后,结果如下:
看,黑色方块消失了!这是最终代码:
let material = new THREE.ShaderMaterial({
uniforms: {
uColor: { value: new THREE.Color(0xffffff) },
uPointTexture: { value: new THREE.TextureLoader().load(require('./res/spark1')) }
},
vertexShader: _me.vertex_shader,
fragmentShader: _me.fragment_shader,
depthTest: false,
transparent: true
})
推荐阅读
- python - ValueError:图表已断开连接。······ 访问以下以前的层没有问题:[]
- c++ - 链接器错误:未定义对头文件中的函数的引用
- android - Android在包重命名后在错误的地方寻找一个类
- bash - 判断 FFmpeg 是否成功运行
- apache - 在 CentOS 7 上将 mod_wsgi 安装到实际的 Apache 实例
- python-3.x - 重命名 Pandas DataFrame 中的列不起作用
- sql - SQL查询顺序由2个字段
- c# - CollectionView 不显示 API 数据名称
- mysql - 如果在 SET foreign_key_checks = 0; 之后插入,那些没有对应外键的行会发生什么?
- scala - 重写 JSValue 中的嵌套搜索