ジオメトリを正しく表示するインスタンスを作成しましたが、グラフィックが正しくありません。
私の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);
}
注: 0.00001 の値は、アプリ内で屈折させるために texVal 変数と vNormal 変数を保持する必要があるときのデバッグのためです。
結果の色が正しくありません。モデルは赤ではなく、白黒 (三角形にランダムに分散) - 赤の三角形はほとんどありません