fix issues related to camera width/height
add width,height as arguments to pybullet.renderImage(x,y,[viewMat4x4],[projMat4x4])
This commit is contained in:
@@ -88,10 +88,8 @@ struct Shader : public IShader {
|
||||
};
|
||||
|
||||
|
||||
TinyRenderObjectData::TinyRenderObjectData(int width, int height,TGAImage& rgbColorBuffer,b3AlignedObjectArray<float>&depthBuffer)
|
||||
:m_width(width),
|
||||
m_height(height),
|
||||
m_rgbColorBuffer(rgbColorBuffer),
|
||||
TinyRenderObjectData::TinyRenderObjectData(TGAImage& rgbColorBuffer,b3AlignedObjectArray<float>&depthBuffer)
|
||||
:m_rgbColorBuffer(rgbColorBuffer),
|
||||
m_depthBuffer(depthBuffer),
|
||||
m_model(0),
|
||||
m_userData(0),
|
||||
@@ -103,11 +101,6 @@ m_userIndex(-1)
|
||||
m_lightDirWorld.setValue(0,0,0);
|
||||
m_localScaling.setValue(1,1,1);
|
||||
m_modelMatrix = Matrix::identity();
|
||||
m_viewMatrix = lookat(eye, center, up);
|
||||
//m_viewportMatrix = viewport(width/8, height/8, width*3/4, height*3/4);
|
||||
//m_viewportMatrix = viewport(width/8, height/8, width*3/4, height*3/4);
|
||||
m_viewportMatrix = viewport(0,0,width,height);
|
||||
m_projectionMatrix = projection(-1.f/(eye-center).norm());
|
||||
|
||||
}
|
||||
|
||||
@@ -238,7 +231,7 @@ TinyRenderObjectData::~TinyRenderObjectData()
|
||||
delete m_model;
|
||||
}
|
||||
|
||||
void TinyRenderer::renderObject(TinyRenderObjectData& renderData)
|
||||
void TinyRenderer::renderObject(TinyRenderObjectData& renderData, int width, int height)
|
||||
{
|
||||
Vec3f light_dir_local = Vec3f(renderData.m_lightDirWorld[0],renderData.m_lightDirWorld[1],renderData.m_lightDirWorld[2]);
|
||||
Model* model = renderData.m_model;
|
||||
@@ -247,13 +240,8 @@ void TinyRenderer::renderObject(TinyRenderObjectData& renderData)
|
||||
|
||||
|
||||
|
||||
//renderData.m_viewMatrix = lookat(eye, center, up);
|
||||
int width = renderData.m_width;
|
||||
int height = renderData.m_height;
|
||||
//renderData.m_viewportMatrix = viewport(width/8, height/8, width*3/4, height*3/4);
|
||||
renderData.m_viewportMatrix = viewport(0,0,renderData.m_width,renderData.m_height);
|
||||
//renderData.m_projectionMatrix = projection(-1.f/(eye-center).norm());
|
||||
|
||||
renderData.m_viewportMatrix = viewport(0,0,width, height);
|
||||
|
||||
b3AlignedObjectArray<float>& zbuffer = renderData.m_depthBuffer;
|
||||
|
||||
TGAImage& frame = renderData.m_rgbColorBuffer;
|
||||
|
||||
@@ -25,12 +25,11 @@ struct TinyRenderObjectData
|
||||
//class IShader* m_shader; todo(erwincoumans) expose the shader, for now we use a default shader
|
||||
|
||||
//Output
|
||||
int m_width;
|
||||
int m_height;
|
||||
|
||||
TGAImage& m_rgbColorBuffer;
|
||||
b3AlignedObjectArray<float>& m_depthBuffer;
|
||||
|
||||
TinyRenderObjectData(int width, int height,TGAImage& rgbColorBuffer,b3AlignedObjectArray<float>& depthBuffer);
|
||||
TinyRenderObjectData(TGAImage& rgbColorBuffer,b3AlignedObjectArray<float>& depthBuffer);
|
||||
virtual ~TinyRenderObjectData();
|
||||
|
||||
void loadModel(const char* fileName);
|
||||
@@ -48,7 +47,7 @@ struct TinyRenderObjectData
|
||||
class TinyRenderer
|
||||
{
|
||||
public:
|
||||
static void renderObject(TinyRenderObjectData& renderData);
|
||||
static void renderObject(TinyRenderObjectData& renderData, int width, int height);
|
||||
};
|
||||
|
||||
#endif // TINY_RENDERER_Hbla
|
||||
|
||||
Reference in New Issue
Block a user