我创建了正确显示几何图形的实例,但其图形不正确。
我的VS看起来像这样
#version 410
#include "engine-variables.inc"
#include "functions.inc"
in vec3 POSITION;
in vec3 NORMAL;
in vec2 TEXCOORD0;
in mat4 INSTANCE_TRANSFORM;
out vec2 vTexCoord; 
out vec3 vNormal;
void main() 
{ 
    gl_Position = CalcPositionInWorld_Instance(POSITION, INSTANCE_TRANSFORM);
    vNormal = NORMAL;   
    vTexCoord.x = TEXCOORD0.x; 
    vTexCoord.y = 1.0 - TEXCOORD0.y; 
}
注意:#include由我的应用程序处理 - 不是 glsl 的一部分
我有简单的片段着色器
#version 410
in vec2 vTexCoord; 
in vec3 vNormal;
out vec4 fCol;
uniform sampler2D en_texModel;
void main() 
{ 
  vec4 texVal = texture2D(en_texModel, vTexCoord);
  fCol = vec4(1, 0, 0, 1) + 0.00001 * texVal + vec4(0.00001 * vNormal, 0);
}
注意:由于调试,当我需要保存 texVal 和 vNormal 变量以在我的应用程序中进行折射时,存在 0.00001 值。
结果颜色不正确。模型不是红色,而是黑色和白色(随机分布在三角形上)——只有少数三角形是红色的
