#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 HDebugZBuffer::~HDebugZBuffer | ( | ) | [virtual] |
The destructor.
static void HDebugZBuffer::ogl_finish_picture | ( | HIC_Rendition const * | nr, |
bool | swap_buffers | ||
) | [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 void HDebugZBuffer::RegisterCallbacks | ( | ) | [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.