tweak zbuffer visualization, show targetpos in example browser
This commit is contained in:
@@ -1326,7 +1326,7 @@ void OpenGLExampleBrowser::update(float deltaTime)
|
|||||||
float camPos[3];
|
float camPos[3];
|
||||||
s_guiHelper->getRenderInterface()->getActiveCamera()->getCameraPosition(camPos);
|
s_guiHelper->getRenderInterface()->getActiveCamera()->getCameraPosition(camPos);
|
||||||
s_guiHelper->getRenderInterface()->getActiveCamera()->getCameraTargetPosition(camTarget);
|
s_guiHelper->getRenderInterface()->getActiveCamera()->getCameraTargetPosition(camTarget);
|
||||||
sprintf(msg,"camPos=%f,%f,%f, dist=%f, pitch=%f, yaw=%f,target=%f,%f,%f", camPos[0],camPos[1],camPos[2],camDist,pitch,yaw,camTarget[0],camTarget[1],camTarget[2]);
|
sprintf(msg,"camTargetPos=%2.2f,%2.2f,%2.2f, dist=%2.2f, pitch=%2.2f, yaw=%2.2f", camPos[0],camPos[1],camPos[2],camDist,pitch,yaw);
|
||||||
gui2->setStatusBarMessage(msg, true);
|
gui2->setStatusBarMessage(msg, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2096,8 +2096,9 @@ void PhysicsServerExample::updateGraphics()
|
|||||||
int startSegIndex = m_multiThreadedHelper->m_startPixelIndex;
|
int startSegIndex = m_multiThreadedHelper->m_startPixelIndex;
|
||||||
int endSegIndex = startSegIndex + (*m_multiThreadedHelper->m_numPixelsCopied);
|
int endSegIndex = startSegIndex + (*m_multiThreadedHelper->m_numPixelsCopied);
|
||||||
|
|
||||||
btScalar frustumZNear = m_multiThreadedHelper->m_projectionMatrix[14]/(m_multiThreadedHelper->m_projectionMatrix[10]-1);
|
//btScalar frustumZNear = m_multiThreadedHelper->m_projectionMatrix[14]/(m_multiThreadedHelper->m_projectionMatrix[10]-1);
|
||||||
btScalar frustumZFar = 20;//m_multiThreadedHelper->m_projectionMatrix[14]/(m_multiThreadedHelper->m_projectionMatrix[10]+1);
|
//btScalar frustumZFar = m_multiThreadedHelper->m_projectionMatrix[14]/(m_multiThreadedHelper->m_projectionMatrix[10]+1);
|
||||||
|
|
||||||
|
|
||||||
for (int i=0;i<gCamVisualizerWidth;i++)
|
for (int i=0;i<gCamVisualizerWidth;i++)
|
||||||
{
|
{
|
||||||
@@ -2131,17 +2132,16 @@ void PhysicsServerExample::updateGraphics()
|
|||||||
if (depthValue>-1e20)
|
if (depthValue>-1e20)
|
||||||
{
|
{
|
||||||
int rgb = 0;
|
int rgb = 0;
|
||||||
btScalar minDepthValue = 0.98;//todo: compute more reasonably min/max depth range
|
btScalar frustumZNear = 0.1;
|
||||||
btScalar maxDepthValue = 1;
|
btScalar frustumZFar = 30;
|
||||||
|
btScalar minDepthValue = frustumZNear;//todo: compute more reasonably min/max depth range
|
||||||
|
btScalar maxDepthValue = frustumZFar;
|
||||||
|
|
||||||
if (maxDepthValue!=minDepthValue)
|
float depth = depthValue;
|
||||||
{
|
double linearDepth = 255.*(2.0 * frustumZNear) / (frustumZFar + frustumZNear - depth * (frustumZFar - frustumZNear));
|
||||||
rgb = (depthValue-minDepthValue)*(255. / (btFabs(maxDepthValue-minDepthValue)));
|
btClamp(linearDepth, btScalar(0),btScalar(255));
|
||||||
if (rgb<0 || rgb>255)
|
rgb = linearDepth;
|
||||||
{
|
|
||||||
//printf("rgb=%d\n",rgb);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_canvas->setPixel(m_canvasDepthIndex,i,j,
|
m_canvas->setPixel(m_canvasDepthIndex,i,j,
|
||||||
rgb,
|
rgb,
|
||||||
rgb,
|
rgb,
|
||||||
|
|||||||
Reference in New Issue
Block a user