Vertex ordering in entity rendering is different, breaking core shaders
ArubikU opened this issue ยท 3 comments
Bug Description
Sodium load all the entity shaders correctly but changuing a bit the faces id`s causing some incompatibilities with "core shaders"
Reproduction Steps
- Install the Resourcepack
- Apply the example skin what add wings
In vanilla the wings will be rendered correctly in sodium fail on the read of faces
Method use in vertex to detect faces: int face = gl_VertexID / 4 % 6;
Vanilla faces i identify:
#define BOTTOM_FACE 0
#define TOP_FACE 1
#define RIGHT_FACE 2
#define NORTH_FACE 3
#define LEFT_FACE 4
#define SOUTH_FACE 5
Log File
Crash Report
I want to note that this is an issue with the entity data provided by sodium to the resource pack's core shader and not a matter of getting sodium to load a pack's terrain core shaders (since this isn't terrain). This was misunderstood in the preceding discussion on discord multiple times.
It would probably be enough to fix this issue if the ordering of constants here were changed to match Minecraft.
However, it is possible that future versions of Sodium will discard back-facing triangles when rendering entities, and that core shaders which rely on this specific ordering will be broken once again.
We do not support core shaders and we cannot guarantee that relying on extremely specific behavior like this will continue to work.