簡體   English   中英

使用ThreeJS將Vec3陣列傳遞到頂點着色器

[英]Passing Vec3 Array to Vertex Shader with ThreeJS

如何使用ThreeJS將vec3數據數組傳遞給頂點着色器?

air_parcel_pos: {
   type: "???",
   value: the array of data
}

初始化值必須是對應於GLSL數據類型的值數組。

例如

如果uniform變量是vec3的數組

uniform vec3 u_array[3];

那么初始化值可以是THREE.Vector3的數組

var uniforms = {
    u_array: {value: [
        new THREE.Vector3(1, 0, 0),
        new THREE.Vector3(0, 1, 0),
        new THREE.Vector3(0, 0, 1)
    ] }
};

var material = new THREE.ShaderMaterial({  
    uniforms: uniforms,
    vertexShader: // ...
    fragmentShader: // ...
});

其他數據類型是Vector2Vector4Color 可以通過值數組設置floatint數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM