The convention I've observed in most modern games is neither option you've proposed.
Instead, W or "Forward" on the stick usually corresponds to "Upward" on the screen from the current viewpoint, what we call "camera-relative" controls.
This way, the player does not need to attend to which compass direction they're currently ...
I'm not quite sure what you mean in the last sentence, but usually the equation used for change-in-rotation multiplied by the time scale is actually framerate independent.
As you said, the mouse position change is framerate independent. And to get the rotation change according to time scale you multiply the mouse position change vector by time scale. The ...
I recommend that you try GLM for your math library. Here is some sample code from my camera class -- https://github.com/sjhalayka/opengl4_stlview/blob/6ea4b942a8a5b40f923f5cd99da0cdec5e06e0e4/uv_camera.cpp#L48
Until you switch to GLM, here is another code for your reference:
One solution is to use DLL injection. This technique facilitates attaching and executing a payload (your code) within the address space of another process (the game or graphics driver) by way of a dynamic link library (DLL).
Once the injected, your payload code would:
intercept instructions of interest
process them as needed (log them for later, perform ...
Okay after a lot of fiddling.
I needed to divide xyz with w:
Here is my Vertex Shader for a fullscreen quad;
VertexShaderOutput VS(VertexShaderInput input)
output.Position = float4(input.Position.xy,0.0, 1.0);
float4 worldPos = output.Position;
worldPos = mul(worldPos, InverseViewProjection);
worldPos.xyz /= ...
You'll note there are two columns in the Gizmos menu:
one for the gizmos (like the white wireframe box that shows your camera frustum),
and one for the icons (like the picture of a camera or light that shows the location of those objects, even when not selected)
Click the camera icon next to the checkbox in the Gizmos menu to hide the camera icon in your ...