Skip to content

Fix rendering on macOS#205

Open
andreypfau wants to merge 2 commits into
SpacePotatoee:masterfrom
andreypfau:macos-rendering
Open

Fix rendering on macOS#205
andreypfau wants to merge 2 commits into
SpacePotatoee:masterfrom
andreypfau:macos-rendering

Conversation

@andreypfau

@andreypfau andreypfau commented Jul 21, 2026

Copy link
Copy Markdown

Three bugs blocked rendering on macOS. None are Apple-specific — NVIDIA drivers just tolerated them.

  • Grass and birds needed compute shaders and SSBOs (GL 4.3). Positions were pure functions of the instance index, so they now compute in the vertex shader; both drop to #version 410 core. Bird flocking is replaced with per-bird orbits fitted to the boids simulation (flock radius 2.89 → 3.17, nearest neighbour 0.56 → 0.54).
  • IndirectLightRenderer.isSupported() checks for GL 4.0, but the renderer draws with glMultiDrawElementsIndirect, which is 4.3. On Apple's 4.1 the check passes and the missing entry point aborts the JVM under any point light. Now gated on the capability actually used, so Veil falls back to the instanced renderer.
  • EnableHeight, Resolution and Material are declared FLOAT in the vertex format, written with putInt and read as in int. Carpet and ceiling tile took the wrong branch and rendered broken. Made float end to end. (Same issue Textures completely bugged #184)

Tested on macOS 26.3, Apple Silicon.

image image

- grass and bird positions computed in the vertex shader, compute passes dropped
- indirect light renderer gated on GL 4.3 instead of 4.0
- int attributes in float vertex formats written and read as floats
This was referenced Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant