PyIGL_viewer icon indicating copy to clipboard operation
PyIGL_viewer copied to clipboard

OpenGL.GL.shaders.ShaderValidationError: Validation failure (0)

Open Kobe972 opened this issue 3 years ago • 1 comments

I ran basic_display.py,but it failed.

Traceback (most recent call last):
  File "e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\viewer_widget.py", line 85, in initializeGL
    self.add_shaders()
  File "e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\viewer_widget.py", line 74, in add_shaders
    self.shaders[shader_name] = ShaderProgram(shader_name, os.path.join(dir_name, f),
  File "e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\shader.py", line 16, in __init__
    self.program = shaders.compileProgram(vertex_shader, fragment_shader)
  File "D:\ProgramData\Miniconda3\lib\site-packages\OpenGL\GL\shaders.py", line 211, in compileProgram
    program.check_validate()
  File "D:\ProgramData\Miniconda3\lib\site-packages\OpenGL\GL\shaders.py", line 109, in check_validate
    raise ShaderValidationError(
OpenGL.GL.shaders.ShaderValidationError: Validation failure (0)

I printed the path of shaders before the line self.shaders[shader_name] = ShaderProgram and the error became:

e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\..\shaders\default.vert e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\..\shaders\default.frag
e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\..\shaders\lambert.vert e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\..\shaders\lambert.frag
e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\..\shaders\per_vertex_color.vert e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\..\shaders\per_vertex_color.frag
Traceback (most recent call last):
  File "e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\viewer_widget.py", line 86, in initializeGL
    self.add_shaders()
  File "e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\viewer_widget.py", line 75, in add_shaders
    self.shaders[shader_name] = ShaderProgram(shader_name, os.path.join(dir_name, f),
  File "e:\programming\python\pyigl_viewer\PyIGL_viewer\viewer\shader.py", line 16, in __init__
    self.program = shaders.compileProgram(vertex_shader, fragment_shader)
  File "D:\ProgramData\Miniconda3\lib\site-packages\OpenGL\GL\shaders.py", line 211, in compileProgram
    program.check_validate()
  File "D:\ProgramData\Miniconda3\lib\site-packages\OpenGL\GL\shaders.py", line 109, in check_validate
    raise ShaderValidationError(
OpenGL.GL.shaders.ShaderValidationError: Validation failure (0):

So I guess that the error occurs in per_vertex_color but I don't know exactly what's wrong.

Kobe972 avatar Mar 03 '22 14:03 Kobe972

I did the exact same thing! I'm having this exact same issue. I wonder if the shader code has an issue.

AlexanderGroeger avatar Apr 12 '24 18:04 AlexanderGroeger