Example #1
0
State::stateResult_t SurfelRenderer::doEnableState(FrameContext & context, Node * node, const RenderParam & rp) {
	State::stateResult_t result = NodeRendererState::doEnableState(context,node,rp);
	if( result == State::STATE_OK ){
		CameraNode* camera = dynamic_cast<CameraNode*>( context.getCamera() );
		if(camera){ // else: an orthographic camera is used; just re-use the previous values.
			cameraOrigin = camera->getWorldOrigin();
			projectionScale = camera->getWidth() / (std::tan((camera->getRightAngle()-camera->getLeftAngle()).rad()*0.5f)*2.0f);
		}
	
	}
	return result;
}