three.js - InstancedMesh 不反映具有自定义顶点着色器的虚拟矩阵的比例
问题描述
我正在使用 ThreeJS InstancedMesh。向 setMatrixAt 传递一个在循环中计算的虚拟矩阵。dummymatrix 根据与相机的距离(cpu 端)对其应用了比例。当实例渲染时,它们只包含位置数据并且缺乏动态缩放。
标准更新
this.instancedMarkerMesh.setMatrixAt(i, marker.matrix);
着色器
varying vec2 vUv;
varying vec3 vInstanceColor;
void main()
{
vUv = uv;
vec3 transformed = vec3( position ) ;
vec4 mvPosition = vec4( transformed, 1.0 );
#ifdef USE_INSTANCING
mvPosition = instanceMatrix * mvPosition;
#endif
vec4 modelViewPosition = modelViewMatrix * mvPosition;
gl_Position = projectionMatrix * (modelViewPosition);
}
有什么想法吗?是我的着色器,还是 InstancedMesh 问题?
解决方案
推荐阅读
- sql - 将列值拆分为组并汇总链接表中的值
- macos - CGEventTapCreate 回调未运行
- java - 如何从属于 android/java 中同一组的嵌套 JSON 对象中独立检索数据?(身体更清晰/细节)
- forms - 嵌入式 Google 表单无法通过电话上的 Gmail 应用程序运行
- python - Pyomo 访问问题
- python - pyspark 数据框中的行操作
- c - 无论C中的大小写如何,第一个字母的连接都是一样的
- c++ - 解决虫洞 (ZCO 2012)
- c++ - C++ 列表迭代器无法初始化
- python - 使用python从JSON文件中的嵌套列表中获取元素