Renderice solo el píxel debajo del cursor del mouse en DirectX

Tengo dificultades para representar solo un píxel que se encuentra en los coords definidos de la window gráfica. Estoy usando la function D3DXMatrixPerspectiveOffCenter, pero el resultado no es el esperado.

Aquí es cómo calculo los parameters para la function:

// pCamera is the actual camera used to render full screen picture // what is the width and height of camera near plane in Camera Space double dHeight = 2 * pCamera->m_dNear * (tan(pCamera->m_dFOVy/2.0)); double dWidth = dHeight * pCamera->m_dRatioXY; // what is the pixel size in Camera space double dHeightReduced = (dHeight / pCamera->m_dViewportHeight) * CAMERA_1x1px_SIZE; double dWidthReduced = (dWidth / pCamera->m_dViewportWidth) * CAMERA_1x1px_SIZE; // mouse pixel position in Camera space double dCamSpaceX = -0.5*dWidth + double(uiMousePosX) / pCamera->m_dViewportWidth * dWidth; double dCamSpaceY = -0.5*dHeight + double(uiMousePosY) / pCamera->m_dViewportHeight * dHeight; // create matrix D3DXMatrixPerspectiveOffCenterRH( &m_mProjection, (float)(dCamSpaceX), (float)(dCamSpaceX+dWidthReduced), (float)(dCamSpaceY), (float)(dCamSpaceY+dHeightReduced), (float)m_dNear, (float)m_dFar ); 

(Configuro CAMERA_1x1px_SIZE = 100 para ver una parte de la escena, pero veo la escena distorsionada y definitivamente NO es solo el corte del original)

¿Cómo debo calcular los parameters para que funcione?

Gracias.

Estoy más interesado en openGL, pero creo que es más simple usar la testing Scissor para recortar parte del framebuffer / render target y no veo ningún beneficio al modificar la matriz de proyección (a less que sea un requisito para modificar la matriz de proyección).

Tenga en count que la testing de tijera y la proyección + visualización funcionan en una parte diferente de la interconnection, la testing de tijera, por ejemplo, es una operación de fragment, mientras que la matriz de proyección + window gráfica no lo es. También puede usar la testing de plantilla que se puede usar si el área que desea enmascarar no es rectangular. En cuanto al performance, no creo que los dos methods sean equivalentes, pero debes medir y decidir.