mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
40e2f113e6
## Problem OpenGOAL uses OpenGL 4.3. Apple stopped upgrading OpenGL after 4.1, so the way OpenGOAL currently works will never be playable on Macs using OpenGL. ## Solution Luckily, downgrading to OpenGL 4.1 is not a huge change (at least it doesn't seem like it to my untrained eyes). ## Changes * set hints for OpenGL 4.1 instead of 4.3 for __APPLE__ * skip the OpenGL debugging callback setup for macOS (requires 4.3) * bump down the version string for all shaders * stop using the `binding` layout qualifier in shader code * move the `flat` qualifier first (not sure if this is a 4.1 thing or just Macs being more strict) * don't mix signed and unsigned ints in shaders (not sure if this is a 4.1 thing or just Macs being more strict) * add some hacky CPP to the Shader constructor for binding texture units and bones buffers based on variable names in the shader code ## Results ![image](https://github.com/open-goal/jak-project/assets/33322/dd487c2a-61ac-4e36-a595-976204302977) ![Skärmavbild 2023-07-07 kl 13 10 30](https://github.com/open-goal/jak-project/assets/33322/7976d411-0604-4046-9e8a-123106cedf57) ![Skärmavbild 2023-07-07 kl 13 13 48](https://github.com/open-goal/jak-project/assets/33322/78db4f0c-da31-4889-995c-8f54e56deb5c)
14 lines
244 B
GLSL
14 lines
244 B
GLSL
#version 410 core
|
|
|
|
out vec4 color;
|
|
|
|
in vec4 fragment_color;
|
|
noperspective in vec3 tex_coord;
|
|
uniform sampler2D tex_T0;
|
|
|
|
void main() {
|
|
vec4 T0 = texture(tex_T0, tex_coord.xy / tex_coord.z);
|
|
T0.w = 1.0;
|
|
color = fragment_color * T0 * 1.0;
|
|
}
|