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

Change History (1)

comment:1 by Tom Goddard, 10 years ago

Resolution: fixed
Status: newclosed

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.

Note: See TracTickets for help on using tickets.