add glViewport after call to startRendering (some renderers call glViewport)
This commit is contained in:
@@ -1158,6 +1158,7 @@ void OpenGLGuiHelper::copyCameraImageData(const float viewMatrix[16], const floa
|
||||
{
|
||||
{
|
||||
m_data->m_glApp->m_window->startRendering();
|
||||
m_data->m_glApp->setViewport(sourceWidth, sourceHeight);
|
||||
BT_PROFILE("renderScene");
|
||||
getRenderInterface()->renderSceneInternal(B3_SEGMENTATION_MASK_RENDERMODE);
|
||||
}
|
||||
|
||||
@@ -995,7 +995,7 @@ void EGLRendererVisualShapeConverter::copyCameraImageDataGL(
|
||||
|
||||
int destinationWidth = *widthPtr;
|
||||
int destinationHeight = *heightPtr;
|
||||
int sourceWidth = btMin(destinationWidth, (int)(m_data->m_window->getWidth() * m_data->m_window->getRetinaScale()));
|
||||
int sourceWidth = btMin(destinationWidth, (int)(m_data->m_window->getWidth() * m_data->m_window->getRetinaScale()));
|
||||
int sourceHeight = btMin(destinationHeight, (int)(m_data->m_window->getHeight() * m_data->m_window->getRetinaScale()));
|
||||
|
||||
int numTotalPixels = (*widthPtr) * (*heightPtr);
|
||||
@@ -1006,10 +1006,9 @@ void EGLRendererVisualShapeConverter::copyCameraImageDataGL(
|
||||
{
|
||||
if (startPixelIndex == 0)
|
||||
{
|
||||
glViewport(0,0, sourceWidth, sourceHeight);
|
||||
m_data->m_window->endRendering();
|
||||
m_data->m_window->startRendering();
|
||||
|
||||
glViewport(0,0, sourceWidth, sourceHeight);
|
||||
B3_PROFILE("m_instancingRenderer render");
|
||||
m_data->m_instancingRenderer->writeTransforms();
|
||||
if (m_data->m_hasLightDirection)
|
||||
@@ -1097,7 +1096,7 @@ void EGLRendererVisualShapeConverter::copyCameraImageDataGL(
|
||||
{
|
||||
{
|
||||
m_data->m_window->startRendering();
|
||||
|
||||
glViewport(0,0, sourceWidth, sourceHeight);
|
||||
BT_PROFILE("renderScene");
|
||||
m_data->m_instancingRenderer->renderSceneInternal(B3_SEGMENTATION_MASK_RENDERMODE);
|
||||
}
|
||||
|
||||
@@ -21,8 +21,10 @@ ax = plt.gca()
|
||||
pybullet.connect(pybullet.DIRECT)
|
||||
|
||||
egl = pkgutil.get_loader('eglRenderer')
|
||||
|
||||
pybullet.loadPlugin(egl.get_filename(), "_eglRendererPlugin")
|
||||
if (egl):
|
||||
pybullet.loadPlugin(egl.get_filename(), "_eglRendererPlugin")
|
||||
else:
|
||||
pybullet.loadPlugin("eglRendererPlugin")
|
||||
pybullet.loadURDF("plane.urdf",[0,0,-1])
|
||||
pybullet.loadURDF("r2d2.urdf")
|
||||
|
||||
@@ -52,7 +54,7 @@ while (1):
|
||||
viewMatrix = pybullet.computeViewMatrixFromYawPitchRoll(camTargetPos, camDistance, yaw, pitch, roll, upAxisIndex)
|
||||
aspect = pixelWidth / pixelHeight;
|
||||
projectionMatrix = pybullet.computeProjectionMatrixFOV(fov, aspect, nearPlane, farPlane);
|
||||
img_arr = pybullet.getCameraImage(pixelWidth, pixelHeight, viewMatrix,projectionMatrix, shadow=1,lightDirection=[1,1,1],renderer=pybullet.ER_BULLET_HARDWARE_OPENGL)
|
||||
img_arr = pybullet.getCameraImage(pixelWidth, pixelHeight, viewMatrix,projectionMatrix, shadow=1,flags=pybullet.ER_SEGMENTATION_MASK, lightDirection=[1,1,1],renderer=pybullet.ER_BULLET_HARDWARE_OPENGL)
|
||||
stop = time.time()
|
||||
print ("renderImage %f" % (stop - start))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user