Opened 10 years ago

Closed 10 years ago

#94 closed defect (fixed)

Soft lighting with solid volume rendering gives OpenGL error

Reported by: Tom Goddard Owned by: Tom Goddard
Priority: minor Milestone:
Component: Graphics Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: chimera

Description

Traceback (most recent call last):
File "/Users/goddard/ucsf/chimera2/Chimera2.app/Contents/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/chimera/core/ui/graphics.py", line 50, in _redraw_timer_callback
if not self.view.draw(only_if_changed=True):
File "/Users/goddard/ucsf/chimera2/Chimera2.app/Contents/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/chimera/core/graphics/view.py", line 148, in draw
return self._draw_if_changed()
File "/Users/goddard/ucsf/chimera2/Chimera2.app/Contents/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/chimera/core/graphics/view.py", line 443, in _draw_if_changed
self.draw()
File "/Users/goddard/ucsf/chimera2/Chimera2.app/Contents/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/chimera/core/graphics/view.py", line 154, in draw
self._draw_scene()
File "/Users/goddard/ucsf/chimera2/Chimera2.app/Contents/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/chimera/core/graphics/view.py", line 600, in _draw_scene
r.set_multishadow_transforms(mstf, cp, msdepth)
File "/Users/goddard/ucsf/chimera2/Chimera2.app/Contents/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/chimera/core/graphics/opengl.py", line 322, in set_multishadow_transforms
self.set_shadow_shader_variables(p)
File "/Users/goddard/ucsf/chimera2/Chimera2.app/Contents/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/chimera/core/graphics/opengl.py", line 340, in set_shadow_shader_variables
GL.glUniformBlockBinding(shader.program_id, bi, self._multishadow_uniform_block)
File "/Users/goddard/ucsf/chimera2/Chimera2.app/Contents/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/PyOpenGL-3.1.0-py3.4.egg/OpenGL/platform/baseplatform.py", line 402, in call
return self( *args, named )
File "errorchecker.pyx", line 53, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError (src/errorchecker.c:1218)
OpenGL.error.GLError: GLError(
err = 1281,
description = b'invalid value',
baseOperation = glUniformBlockBinding,
cArguments = (15, 4294967295, 0)
)

Change History (2)

comment:1 by Tom Goddard, 10 years ago

The problem is that the rendering code is trying to set the shadow matrices but SHADER_LIGHTING is off so the shader does not have the needed variables. Fixed that. But now the map appears solid white. Commenting out initial depth pass optimization of multishadows avoids the white cube. Possibly the solid rendering stack of textured planes is writing depth.

comment:2 by Tom Goddard, 10 years ago

Resolution: fixed
Status: newclosed

Fixed.

Fixed this error. Now soft lighting makes solid volumes appear as white cubes which I'll report as another bug.

Note: See TracTickets for help on using tickets.