RedM Natives

GET_CAM_MATRIX

Returns the world matrix of the specified camera.

Hash0x8F57A89D
Runtime nameGetCamMatrix
NamespaceCFX
SideClient
NameOfficial
Docs

Signature

void GET_CAM_MATRIX(Cam camera, Vector3* rightVector, Vector3* forwardVector, Vector3* upVector, Vector3* position);

Parameters

NameTypeDescription
cameraCam—
rightVectorVector3*—
forwardVectorVector3*—
upVectorVector3*—
positionVector3*—

Returns void

Description

Cfx.re native reference

Returns the world matrix of the specified camera. To turn this into a view matrix, calculate the inverse.

Usage

Lua
local rightVector, forwardVector, upVector, position = GetCamMatrix(camera)

-- always works, by hash
local rightVector, forwardVector, upVector, position = Citizen.InvokeNative(0x8f57a89d, camera, Citizen.PointerValueVector(), Citizen.PointerValueVector(), Citizen.PointerValueVector(), Citizen.PointerValueVector())
JavaScript and C#
JavaScript
const [rightVector, forwardVector, upVector, position] = GetCamMatrix(camera);

// by hash
const [rightVector, forwardVector, upVector, position] = Citizen.invokeNative('0x8f57a89d', camera, Citizen.pointerValueVector(), Citizen.pointerValueVector(), Citizen.pointerValueVector(), Citizen.pointerValueVector());
C#
var rightVector = new OutputArgument();
var forwardVector = new OutputArgument();
var upVector = new OutputArgument();
var position = new OutputArgument();
Function.Call((Hash)0x8f57a89d, camera, rightVector, forwardVector, upVector, position);
// rightVector.GetResult<Vector3>()
// forwardVector.GetResult<Vector3>()
// upVector.GetResult<Vector3>()
// position.GetResult<Vector3>()
  • Pointer (out) arguments are not passed in Lua/JS: their values are returned after the result, in order.

Sources

Cfx.re native reference

Something wrong or missing? Contribute a verified note — corrections ship through pull requests.