Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 01 Dec 2011
Offline Last Active May 05 2013 09:14 AM

Topics I've Started

glm::unProject alignment error

29 March 2013 - 02:59 PM

I am trying to create a dynamic UI that operates in my scene graph. It is comprised of planes in 2D space, that I wish to be able to interact with and move about.


To test this I have been trying to get the location of a 2D plane in 3D space, facing the camera -5.0f units away to align with the positon of the mouse ( from this I can then click and drag UI elements, interact with elements etc.), however, I am unable to align the place correctly, as it overshoots the current location of the mouse pointer.


I have googled extensively and experimented, but to no avail.


Here is my mouse unproject code: 


void mouse::unProjectMouse(float width, float height, camera* viewportCamera)
	if(NULL == viewportCamera)
		std::cout<<CNTRLCALL<<"camera failed! failed to un-project mouse";
	} else {

		GLfloat pixelDepth;
		glReadPixels((GLint)mouseX, (GLint)mouseY, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &pixelDepth);

		glm::vec4 viewport = glm::vec4(0.0f, 0.0f, width, height);
		glm::mat4 tmpView = viewportCamera->updateView();
		glm::mat4 tmpProj = viewportCamera->updateProjection();
		glm::vec3 screenPos = glm::vec3(mouseX, height-mouseY, pixelDepth);
		glm::vec3 worldPos = glm::unProject(screenPos, tmpView, tmpProj, viewport);

		//worldPos = worldPos / (worldPos.z * -1.0f);

		mouseWorldX = worldPos.x;
		mouseWorldY = worldPos.y;
		mouseWorldZ = worldPos.z;


and the code from the camera for the View and Projection:

glm::mat4 camera::updateProjection(){return glm::perspective(m_fieldOfView, m_aspectRatio, m_nearPlane, m_farPlane);}
glm::mat4 camera::updateView(){return camOrientation() * glm::translate(glm::mat4(), -m_cameraPosition);}



Many thanks

hwnd issues relating to DirectX10 project framework

01 December 2011 - 09:16 AM

I have just written my application frame work again, I am however, currently experiences error relating to hwnd. I've been debugging my program for a couple of hours now, seems like I am out of options, I would appreciate it someone more experienced than I could look over the code and throw me some indications as to were my problems have arisen from.

tl;dr hwnd problem, need help

The problem currently 'seems' related to:

swapChainDesc.OutputWindow = *hWnd;

I am left with an access read violation error

My code is organised such that:


Screenshot of output:
Posted Image





A direct download of the application:

Many thanks guys.