Opened 10 years ago
Closed 10 years ago
#204 closed defect (fixed)
error after showing volume outline box
Reported by: | Elaine Meng | Owned by: | Tom Goddard |
---|---|---|---|
Priority: | blocker | Milestone: | |
Component: | Graphics | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The first time I tried to show a box I got a long traceback that went off the screen, so I couldn't capture its contents. Then I restarted ChimeraX and just used the following commands. I did see an outline box but as soon as I tried to manipulate the view there was a traceback (also below) and redrawing halted.
open 1zik
molmap /a 8
volume #2 showoutline true
Error in drawing scene. Redraw is now stopped.
Traceback (most recent call last):
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimera/core/updateloop.py", line 29, in draw_new_frame
view.draw(check_for_changes = False)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimera/core/graphics/view.py", line 173, in draw
self._update_projection(vnum, camera=camera)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimera/core/graphics/view.py", line 769, in _update_projection
r.set_near_far_clip(near, far)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimera/core/graphics/opengl.py", line 281, in set_near_far_clip
self.set_depth_cue_parameters()
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimera/core/graphics/opengl.py", line 368, in set_depth_cue_parameters
p.set_float('depth_cue_start', s)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimera/core/graphics/opengl.py", line 1414, in set_float
GL.glUniform1f(self.uniform_id(name), value)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimera/core/graphics/opengl.py", line 1437, in uniform_id
% (name, ', '.join(shader_capability_names(self.capabilities))))
RuntimeError: Shader does not have uniform variable "depth_cue_start"
shader capabilities SHADER_DEPTH_CUE
Fixed.
Bug caused by me adding code that checks to make sure that graphics shader variables exist in the shader. The old code silently ignored setting non-existent variables. In this case the outline box was trying to draw with no lighting, and so depth cue is not used but code tried to set depth cue variables in shader. Hmm... probably depth cue should be used and only directional lighting should be off for the outline box.