more OpenGL support, cameras and 3D projection and it now shares 3D models with vulkan, OpenGL does not work if launched, and switching to vulkan from OpenGL does not work

This commit is contained in:
Halbear 2026-08-29 04:24:05 +01:00
parent 5ea45890c8
commit 5518dae1d7
43 changed files with 1298 additions and 187 deletions

View file

@ -1,12 +1,30 @@
#version 330
#version 330 core
layout (location=0) in vec3 position;
layout (location=1) in vec3 colour;
layout (location = 0) in vec3 inPos;
layout (location = 1) in vec3 inNormal;
layout (location = 2) in vec3 inTangent;
layout (location = 3) in vec3 inBitangent;
layout (location = 4) in vec2 inTextCoords;
out vec4 outPos;
out vec3 outNormal;
out vec3 outTangent;
out vec3 outBitangent;
out vec2 outTextCoords;
uniform mat4 projectionMatrix;
uniform mat4 modelMatrix;
uniform mat4 viewMatrix;
out vec3 outColour;
void main()
{
gl_Position = vec4(position, 1.0);
outColour = colour;
vec4 worldPos = modelMatrix * vec4(inPos,1);
gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(inPos, 1.0);
mat3 mNormal = transpose(inverse(mat3(modelMatrix)));
outPos = worldPos;
outNormal = mNormal * normalize(inNormal);
outTangent = mNormal * normalize(inTangent);
outBitangent = mNormal * normalize(inBitangent);
outTextCoords = inTextCoords;
}