
#include <HDebugZBuffer.h>
Public Member Functions | |
| HDebugZBuffer (HBaseView *view) | |
| void | OpenglFinishPicture (HIC_Rendition const *nr, bool swap_buffers) |
| void | Update () |
| virtual | ~HDebugZBuffer () |
Static Public Member Functions | |
| static void | ogl_finish_picture (HIC_Rendition const *nr, bool swap_buffers) |
| static void | RegisterCallbacks () |
Protected Attributes | |
| float * | m_FloatBuffer |
| scratch space for z values in range [0..1] | |
| unsigned char * | m_GreyBuffer |
| scratch space for output image | |
| HC_KEY | m_GreyImageKey |
| key to the Image_By_Ref that represents the visualization | |
| int | m_height |
| width and height of the view (and thus the amount of scratch space required) | |
| HC_KEY | m_StandaloneKey |
| key to the driver relevant to the standalone window | |
| char * | m_StandaloneSegmentName |
| path to the standalone window | |
| HC_KEY | m_ViewKey |
| self-explanatory | |
| int | m_width |
HDebugZBuffer is a intended for debugging purposes only. When activated, it pops up a standalone HOOPS window in which it displays the contents of the view's z buffer. It is pretty rough, but does the job. The z values are scanned for min and max, with background z values excluded. The values are then mapped to a linear grey scale ramp with black at the closest value and white at the furthest. The image is also upside down.
| HDebugZBuffer::HDebugZBuffer | ( | HBaseView * | view | ) |
Construct an HDebugZBuffer object.
| view | A pointer the the HBaseView object you want to associate with the object. |
|
virtual |
The destructor.
|
static |
A callback for finish picture to capture the z buffer. It simply calls through to OpenglFinishPicture/
| void HDebugZBuffer::OpenglFinishPicture | ( | HIC_Rendition const * | nr, |
| bool | swap_buffers | ||
| ) |
This method captures the z buffer and converts it to a grey scale image.
|
static |
A standard routine to associate callback names with their function pointers though setting the callbacks comes later.
| void HDebugZBuffer::Update | ( | ) |
This method forces a full update in the standalone window.