将VBO传递到具有不同布局的着色器

问题描述 投票:0回答:1

如果我有一个期望这个的顶点着色器...

layout(location = 0) in vec3 aPos;
layout(location = 1) in vec4 aBoneWeights; 
layout(location = 2) in vec4 aBoneIndices;

如何传递已经为每个顶点组织的VBO,>

Position(vec3) | Color(vec3) | UV(vec2) | BoneWeight(vec4) | BoneIndex(vec4)

我必须制作一个新的VBO吗?如果我的顶点数据是隔行扫描的,那么我也必须创建一个新的顶点数据缓冲区吗?

如果我有一个顶点着色器,期望它在vec3 aPos中的layout(location = 0); vec4 aBoneWeights中的layout(location = 1); vec4 aBoneIndices中的layout(location = 2);我如何通过一个VBO,即...

opengl opengl-es glsl vertex-shader vertex-buffer
1个回答
0
投票

选项1:为每个着色器创建不同的VAO

© www.soinside.com 2019 - 2024. All rights reserved.