reduce stack usage (cause some crashes in low-stack tests)
fix crashing bug in changeVisualShape add differential gear version of racecar (only 2 back wheels are powered)
This commit is contained in:
@@ -3181,24 +3181,24 @@ bool PhysicsServerCommandProcessor::processCommand(const struct SharedMemoryComm
|
||||
clientCmd.m_requestPixelDataArguments.m_projectionMatrix);
|
||||
} else
|
||||
{
|
||||
SharedMemoryStatus tmpCmd = serverStatusOut;
|
||||
b3OpenGLVisualizerCameraInfo tmpCamResult;
|
||||
bool result = this->m_data->m_guiHelper->getCameraInfo(
|
||||
&tmpCmd.m_visualizerCameraResultArgs.m_width,
|
||||
&tmpCmd.m_visualizerCameraResultArgs.m_height,
|
||||
tmpCmd.m_visualizerCameraResultArgs.m_viewMatrix,
|
||||
tmpCmd.m_visualizerCameraResultArgs.m_projectionMatrix,
|
||||
tmpCmd.m_visualizerCameraResultArgs.m_camUp,
|
||||
tmpCmd.m_visualizerCameraResultArgs.m_camForward,
|
||||
tmpCmd.m_visualizerCameraResultArgs.m_horizontal,
|
||||
tmpCmd.m_visualizerCameraResultArgs.m_vertical,
|
||||
&tmpCmd.m_visualizerCameraResultArgs.m_yaw,
|
||||
&tmpCmd.m_visualizerCameraResultArgs.m_pitch,
|
||||
&tmpCmd.m_visualizerCameraResultArgs.m_dist,
|
||||
tmpCmd.m_visualizerCameraResultArgs.m_target);
|
||||
&tmpCamResult.m_width,
|
||||
&tmpCamResult.m_height,
|
||||
tmpCamResult.m_viewMatrix,
|
||||
tmpCamResult.m_projectionMatrix,
|
||||
tmpCamResult.m_camUp,
|
||||
tmpCamResult.m_camForward,
|
||||
tmpCamResult.m_horizontal,
|
||||
tmpCamResult.m_vertical,
|
||||
&tmpCamResult.m_yaw,
|
||||
&tmpCamResult.m_pitch,
|
||||
&tmpCamResult.m_dist,
|
||||
tmpCamResult.m_target);
|
||||
if (result)
|
||||
{
|
||||
m_data->m_visualConverter.render(tmpCmd.m_visualizerCameraResultArgs.m_viewMatrix,
|
||||
tmpCmd.m_visualizerCameraResultArgs.m_projectionMatrix);
|
||||
m_data->m_visualConverter.render(tmpCamResult.m_viewMatrix,
|
||||
tmpCamResult.m_projectionMatrix);
|
||||
} else
|
||||
{
|
||||
m_data->m_visualConverter.render();
|
||||
|
||||
@@ -686,17 +686,19 @@ void TinyRendererVisualShapeConverter::changeRGBAColor(int bodyUniqueId, int lin
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
TinyRendererObjectArray** visualArrayPtr = m_data->m_swRenderInstances.getAtIndex(start);
|
||||
TinyRendererObjectArray* visualArray = *visualArrayPtr;
|
||||
|
||||
btHashPtr colObjHash = m_data->m_swRenderInstances.getKeyAtIndex(start);
|
||||
const btCollisionObject* colObj = (btCollisionObject*) colObjHash.getPointer();
|
||||
|
||||
float rgba[4] = {rgbaColor[0], rgbaColor[1], rgbaColor[2], rgbaColor[3]};
|
||||
for (int v=0;v<visualArray->m_renderObjects.size();v++)
|
||||
if (start>=0)
|
||||
{
|
||||
visualArray->m_renderObjects[v]->m_model->setColorRGBA(rgba);
|
||||
TinyRendererObjectArray** visualArrayPtr = m_data->m_swRenderInstances.getAtIndex(start);
|
||||
TinyRendererObjectArray* visualArray = *visualArrayPtr;
|
||||
|
||||
btHashPtr colObjHash = m_data->m_swRenderInstances.getKeyAtIndex(start);
|
||||
const btCollisionObject* colObj = (btCollisionObject*) colObjHash.getPointer();
|
||||
|
||||
float rgba[4] = {rgbaColor[0], rgbaColor[1], rgbaColor[2], rgbaColor[3]};
|
||||
for (int v=0;v<visualArray->m_renderObjects.size();v++)
|
||||
{
|
||||
visualArray->m_renderObjects[v]->m_model->setColorRGBA(rgba);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user