Exemplo n.º 1
0
Camera::Camera(H3DRes pipeline)
{
  _relative.x = -4.0;
  _relative.y = 12.0;
  _relative.z = -4.0;

  _target = Utils::Vec3f(0.0, 0.0, 0.0);

  handle = h3dAddCameraNode(H3DRootNode, nullptr, pipeline);

  h3dSetNodeParamI(handle, H3DCamera::ViewportXI, 0);
  h3dSetNodeParamI(handle, H3DCamera::ViewportYI, 0);
  h3dSetNodeParamI(handle, H3DCamera::ViewportWidthI, AppCtrl::screen_w);
  h3dSetNodeParamI(handle, H3DCamera::ViewportHeightI, AppCtrl::screen_h);


  h3dSetupCameraView(handle,
                      _std_fov,
                      AppCtrl::screen_aspect,
                      0.1,
                      30.0);

  float mat[16];
  h3dGetCameraProjMat(handle, mat);
  _proj_mat = Utils::Matrix4f(mat);
}
Exemplo n.º 2
0
//== Установка размера поверхности отрисовки.
void SH3DBind::SetSize(UI uiWidth, UI uiHeight)
{
	h3dSetNodeParamI(gniCamera, H3DCamera::ViewportXI, 0);
	h3dSetNodeParamI(gniCamera, H3DCamera::ViewportYI, 0);
	h3dSetNodeParamI(gniCamera, H3DCamera::ViewportWidthI, uiWidth);
	h3dSetNodeParamI(gniCamera, H3DCamera::ViewportHeightI, uiHeight);
	h3dSetupCameraView(gniCamera, 45.0f, (PxReal)uiWidth / (PxReal)uiHeight, 0.1f, 2048.0f);
	h3dResizePipelineBuffers(griPipe, uiWidth, uiHeight);
}
Exemplo n.º 3
0
void TentacleApplication::resize( int width, int height )
{
  // Resize viewport
	h3dSetNodeParamI(_cam,H3DCamera::ViewportXI, 0);
 h3dSetNodeParamI(_cam,H3DCamera::ViewportYI, 0);
 h3dSetNodeParamI(_cam,H3DCamera::ViewportWidthI, width);
 h3dSetNodeParamI(_cam,H3DCamera::ViewportHeightI, height);


  // Set virtual camera parameters
  h3dSetupCameraView( _cam, 45.0f, (float)width / height, 0.1f, 1000.0f );
}
Exemplo n.º 4
0
	void resizeViewport(int width, int height)
	{
		// Set up viewport and render target sizes
		h3dSetNodeParamI(cam, H3DCamera::ViewportXI, 0);
		h3dSetNodeParamI(cam, H3DCamera::ViewportYI, 0);
		h3dSetNodeParamI(cam, H3DCamera::ViewportWidthI, width);
		h3dSetNodeParamI(cam, H3DCamera::ViewportHeightI, height);

		h3dSetupCameraView(cam, 45.0f, float(width) / height, 0.1f, 16384.0f);

		h3dResizePipelineBuffers(pipeRes, width, height);
	} // end resizeViewport
Exemplo n.º 5
0
void Application::resize( int width, int height )
{
	// Resize viewport
	h3dSetNodeParamI( _cam, H3DCamera::ViewportXI, 0 );
	h3dSetNodeParamI( _cam, H3DCamera::ViewportYI, 0 );
	h3dSetNodeParamI( _cam, H3DCamera::ViewportWidthI, width );
	h3dSetNodeParamI( _cam, H3DCamera::ViewportHeightI, height );
	
	// Set virtual camera parameters
	h3dSetupCameraView( _cam, 45.0f, (float)width / height, 0.1f, 1000.0f );
	h3dResizePipelineBuffers( _hdrPipeRes, width, height );
	h3dResizePipelineBuffers( _forwardPipeRes, width, height );
}
void Camera::setView(const Vector2 &size, const float fovDegrees, const Vector2 &clipDistances)
{
	this->viewSize = size;
	this->fovDegrees = fovDegrees;
	this->clipDistances = clipDistances;

	h3dSetNodeParamI(cameraNode, H3DCamera::ViewportXI, 0);
	h3dSetNodeParamI(cameraNode, H3DCamera::ViewportYI, 0);
	h3dSetNodeParamI(cameraNode, H3DCamera::ViewportWidthI, size.x);
	h3dSetNodeParamI(cameraNode, H3DCamera::ViewportHeightI, size.y);

	h3dSetupCameraView(cameraNode, fovDegrees, viewSize.x / viewSize.y, clipDistances.x, clipDistances.y);
    h3dResizePipelineBuffers(Modules::renderer().getPipelineHandle(), viewSize.x, viewSize.y);

	h3dSetNodeTransform(cameraNode, 0, 1.8f, 10.0f, 0 , 0, 0, 1, 1, 1);

	h3dGetCameraProjMat(cameraNode, projMat.ptr());
	projMat = Matrix4::initPerspMat(fovDegrees, size.x / size.y, clipDistances.x, clipDistances.y);
}