EepyBerry / lagrange

A procedural planet builder, powered by VueJS + ThreeJS!
https://lagrange.eepyberry.me
BSD 3-Clause "New" or "Revised" License
9 stars 2 forks source link

🔴 [0.2.2] [NixOS/Firefox] Planet mesh is not rendered #9

Closed Elfahor closed 1 week ago

Elfahor commented 2 weeks ago

Opening the planet editor shows an atmosphere, but there is no surface mesh.

image

The Firefox console shows this error:

THREE.WebGLProgram: Shader Error 0 - VALIDATE_STATUS false

Material Name: 
Material Type: MeshStandardMaterial

Program Info Log: Statically used varyings do not fit within packing limits. (see GLSL ES Specification 1.0.17, p111)

index-CThl7QnU.js:3810:627
    O https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3810
    getUniforms https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3817
    Hi https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3869
    renderBufferDirect https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3869
    hs https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3869
    Qi https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3869
    ol https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3869
    render https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3869
    Z https://lagrange.eepyberry.me/assets/PlanetEditorView-DyiVEu51.js:1122
    c https://lagrange.eepyberry.me/assets/PlanetEditorView-DyiVEu51.js:1122
    On https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3869
    r https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:95
    (Async: FrameRequestCallback)
    start https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:95
    setAnimationLoop https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3869
    c https://lagrange.eepyberry.me/assets/PlanetEditorView-DyiVEu51.js:1122
    h https://lagrange.eepyberry.me/assets/PlanetEditorView-DyiVEu51.js:1122
    setup https://lagrange.eepyberry.me/assets/PlanetEditorView-DyiVEu51.js:1122
    Tr https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    Kr https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    Oi https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    __weh https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    E1 https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    S1 https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    (Async: promise callback)
    x1 https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    eb https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    db https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    A https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    ph https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:20
    o1 https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:20
    xa https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:20
    set value https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:20
    ge https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:32
    O https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:32
    (Async: promise callback)
    O https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:32
    T https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:32
    install https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:32
    use https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:24
    <anonymous> https://lagrange.eepyberry.me/assets/index-CThl7QnU.js:3869

Desktop (please complete the following information):

Elfahor commented 2 weeks ago

WebGL report shows image image

(edited to add WebGL 2 report)

EepyBerry commented 2 weeks ago

Potential issue found: it seems like your "Max Varying Vectors" is at 8, while my setup has 30... not sure what's happening here, I'll need do dig deeper to find out more. I'll update this issue when I have more info to share, thanks ! :3

EepyBerry commented 2 weeks ago

Small update: the error message seems to come from here, where it indeed checks GL_MAX_VARYING_VECTORS: https://searchfox.org/mozilla-central/source/dom/canvas/WebGLShaderValidator.cpp

EepyBerry commented 2 weeks ago

Update: reduced number of uniforms & packed all varyings used in custom planet shader code in commit [f542a32]. If you can, could you please clone the project, checkout dev/0.3-biomes and run it to see if the issue still exists ?

Elfahor commented 2 weeks ago

Unfortunately, the problem does not appear to be have been fixed in dev/0.3-biomes

Elfahor commented 2 weeks ago

Running a vanilla untweaked Firefox on the same machine does not show this issue

EepyBerry commented 2 weeks ago

Huh, interesting... I didn't even know the OpenGL stack could be tweaked on Firefox. Pretty neat! My knowledge on that is basically zero, so if you find out, do feel free to post the results here for others <3

EepyBerry commented 1 week ago

Closing this issue for now, feel free to re-open it later if necessary !