大佬教程收集整理的这篇文章主要介绍了升级到三个 js 0.130.1 版本使用 shadermaterial 和 buffergeometry 渲染的点不渲染,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们使用的是 Three 0.115 版本,一切正常。由于我们遇到了
我们有一个应用程序,它使用通过缓冲区几何(位置、大小和颜色缓冲区属性)和着色器材料渲染的点云。
function vertexShader() {
return `attribute float size;
attribute vec3 customcatolor;
varying vec3 vcolor;
attribute float visibility;
varying float vVisible;
voID main() {
vcolor = customcatolor;
vec4 mvposition = modelVIEwMatrix * vec4( position,1.0 );
gl_PointSize = size * ( 300.0 / -mvposition.z );
gl_position = projectionMatrix * mvposition;
vVisible = visibility;
}`
}
function fragmentShader() {
return `uniform vec3 color;
uniform sampler2D pointTexture;
varying vec3 vcolor;
varying float vVisible;
voID main() {
gl_Fragcolor = vec4( color * vcolor,1.0 );
gl_Fragcolor = gl_Fragcolor * texture2D( pointTexture,gl_PointCoord );
if ( gl_Fragcolor.a < AlphaTEST ) discard;
if (vVisible < 0.5) discard;
}`
}
在我们的 JavaScript 初始化代码中。
const material = new THREE.ShaderMaterial({
uniforms: {
color: { value: new THREE.color(0xffffff) },texture: { value: new THREE.TextureLoader().load(circlE) },resolution: { value: new THREE.Vector2() },},vertexShader: vertexShader(),fragmentShader: fragmentShader(),AlphaTest: 0.9,blending: THREE.AdditiveBlending
});
控制台没有错误。但是点不会被渲染。 我们使用 raycast 来检测点,并且没有任何问题。
知道为什么升级到最新版本的 3 后,点渲染失败吗? 这与着色器材质有关吗?
感谢您的帮助:)
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的升级到三个 js 0.130.1 版本使用 shadermaterial 和 buffergeometry 渲染的点不渲染全部内容,希望文章能够帮你解决升级到三个 js 0.130.1 版本使用 shadermaterial 和 buffergeometry 渲染的点不渲染所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。