Go to the source code of this file.
|
#define | sqr(x) ((x) * (x)) |
|
|
double | fabs (double x) |
|
void | func_802B5794 (Mat4, Vec3f, Vec3f) |
|
s32 | func_802B4F60 (s32, Vec3f, s32, f32, f32) |
|
s32 | render_set_position (Mat4, s32) |
|
f32 | func_802B51E8 (Vec3f, Vec3f) |
|
s32 | get_angle_between_two_vectors (Vec3f, Vec3f) |
|
u32 | func_802B5258 (Vec3f, Vec3s) |
|
void | vec3f_set (Vec3f, f32, f32, f32) |
|
void | vec3s_set (Vec3s, s16, s16, s16) |
|
void * | vec3f_copy_return (Vec3f, Vec3f) |
|
void | vec3s_copy (Vec3s, Vec3s) |
|
void * | vec3f_set_return (Vec3f, f32, f32, f32) |
|
void | mtxf_copy (Mat4, Mat4) |
|
void | mtxf_copy_n_element (s32 *, s32 *, s32) |
|
void | mtxf_identity (Mat4) |
|
void | add_translate_mat4_vec3f (Mat4, Mat4, Vec3f) |
|
void | add_translate_mat4_vec3f_lite (Mat4, Mat4, Vec3f) |
|
void | mtxf_translate (Mat4, Vec3f) |
|
void | func_802B5564 (Mat4, u16 *, f32, f32, f32, f32, f32) |
|
void | mtxf_rotate_x (Mat4, s16) |
|
void | mtxf_rotate_y (Mat4, s16) |
|
void | mtxf_s16_rotate_z (Mat4, s16) |
|
void | func_802B5B14 (Vec3f b, Vec3s rotate) |
|
void | func_802B5CAC (s16, s16, Vec3f) |
|
void | func_802B5D30 (s16, s16, s32) |
|
void | func_802B5D64 (Lights1 *, s16, s16, s32) |
|
void | mtxf_scale (Mat4, f32) |
|
void | mtxf_pos_rotation_xyz (Mat4, Vec3f, Vec3s) |
|
void | mtxf_translate_vec3f_mat3 (Vec3f, Mat3) |
|
void | mtxf_translate_vec3f_mat4 (Vec3f, Mat4) |
|
void | func_802B64C4 (Vec3f, s16) |
|
void | calculate_orientation_matrix (Mat3, f32, f32, f32, s16) |
|
void | calculate_rotation_matrix (Mat3, s16, f32, f32, f32) |
|
void | func_802B6BC0 (Mat4, s16, f32, f32, f32) |
|
void | func_802B6D58 (Mat4, Vec3f, Vec3f) |
|
void | mtxf_multiplication (Mat4, Mat4, Mat4) |
|
void | mtxf_to_mtx (Mtx *, Mat4) |
|
u16 | atan2_lookup (f32, f32) |
|
u16 | atan2s (f32, f32) |
|
f32 | atan2f (f32, f32) |
|
s16 | func_802B7C40 (f32) |
|
s16 | func_802B7CA8 (f32) |
|
f32 | calculate_vector_angle_xy (f32) |
|
u16 | random_u16 (void) |
|
u16 | random_int (u16) |
|
s16 | func_802B7F34 (f32, f32, f32, f32) |
|
void | func_802B7F7C (Vec3f, Vec3f, Vec3s) |
|
f32 | sins (u16) |
|
f32 | coss (u16) |
|
s32 | is_visible_between_angle (u16, u16, u16) |
|
f32 | is_within_render_distance (Vec3f, Vec3f, u16, f32, f32, f32) |
|
◆ sqr
#define sqr |
( |
| x | ) |
((x) * (x)) |
◆ add_translate_mat4_vec3f()
◆ add_translate_mat4_vec3f_lite()
void add_translate_mat4_vec3f_lite |
( |
Mat4 | mat, |
|
|
Mat4 | dest, |
|
|
Vec3f | pos ) |
◆ atan2_lookup()
Comment from sm64 unverified. mk64 verison is modified
Helper function for atan2s. Does a look up of the arctangent of y/x assuming the resulting angle is in range [0, 0x2000] (1/8 of a circle).
◆ atan2f()
◆ atan2s()
Compute the angle from (0, 0) to (x, y) as a u16. Given that terrain is in the xz-plane, this is commonly called with (z, x) to get a yaw angle. sm64 but x, y swapped and returns u16.
◆ calculate_orientation_matrix()
void calculate_orientation_matrix |
( |
Mat3 | dest, |
|
|
f32 | arg1, |
|
|
f32 | arg2, |
|
|
f32 | arg3, |
|
|
s16 | rotationAngle ) |
◆ calculate_rotation_matrix()
void calculate_rotation_matrix |
( |
Mat3 | destMatrix, |
|
|
s16 | rotationAngle, |
|
|
f32 | rotationX, |
|
|
f32 | rotationY, |
|
|
f32 | rotationZ ) |
◆ calculate_vector_angle_xy()
f32 calculate_vector_angle_xy |
( |
f32 | vectorX | ) |
|
◆ coss()
◆ fabs()
◆ func_802B4F60()
◆ func_802B51E8()
◆ func_802B5258()
◆ func_802B5564()
◆ func_802B5794()
◆ func_802B5B14()
◆ func_802B5CAC()
◆ func_802B5D30()
void func_802B5D30 |
( |
s16 | arg0, |
|
|
s16 | arg1, |
|
|
s32 | arg2 ) |
◆ func_802B5D64()
void func_802B5D64 |
( |
Lights1 * | addr, |
|
|
s16 | arg1, |
|
|
s16 | arg2, |
|
|
s32 | arg3 ) |
◆ func_802B64C4()
void func_802B64C4 |
( |
Vec3f | arg0, |
|
|
s16 | arg1 ) |
◆ func_802B6BC0()
◆ func_802B6D58()
◆ func_802B7C40()
◆ func_802B7CA8()
◆ func_802B7F34()
◆ func_802B7F7C()
◆ get_angle_between_two_vectors()
◆ is_visible_between_angle()
s32 is_visible_between_angle |
( |
u16 | arg0, |
|
|
u16 | arg1, |
|
|
u16 | arg2 ) |
◆ is_within_render_distance()
f32 is_within_render_distance |
( |
Vec3f | cameraPos, |
|
|
Vec3f | objectPos, |
|
|
u16 | orientationY, |
|
|
f32 | minDistance, |
|
|
f32 | fov, |
|
|
f32 | maxDistance ) |
Determines whether an object is within the render distance of a camera.
- Parameters
-
cameraPos | The position of the camera in 3D space. |
objectPos | The position of the object in 3D space. |
orientationY | The orientation angle of the object around the Y-axis. |
minDistance | The minimum distance at which the object is considered within render distance. |
fov | The field of view (FOV) of the camera. |
maxDistance | The maximum render distance. |
- Returns
- The distance between the camera and the object if it's within render distance, or -1.0f if it exceeds the render distance.
◆ mtxf_copy()
◆ mtxf_copy_n_element()
void mtxf_copy_n_element |
( |
s32 * | dest, |
|
|
s32 * | src, |
|
|
s32 | n ) |
◆ mtxf_identity()
void mtxf_identity |
( |
Mat4 | mtx | ) |
|
◆ mtxf_multiplication()
void mtxf_multiplication |
( |
Mat4 | dest, |
|
|
Mat4 | mat1, |
|
|
Mat4 | mat2 ) |
◆ mtxf_pos_rotation_xyz()
◆ mtxf_rotate_x()
void mtxf_rotate_x |
( |
Mat4 | mat, |
|
|
s16 | angle ) |
◆ mtxf_rotate_y()
void mtxf_rotate_y |
( |
Mat4 | mat, |
|
|
s16 | angle ) |
◆ mtxf_s16_rotate_z()
void mtxf_s16_rotate_z |
( |
Mat4 | mat, |
|
|
s16 | angle ) |
◆ mtxf_scale()
void mtxf_scale |
( |
Mat4 | mat, |
|
|
f32 | coef ) |
◆ mtxf_to_mtx()
void mtxf_to_mtx |
( |
Mtx * | dest, |
|
|
Mat4 | src ) |
Convert float matrix 'src' to fixed point matrix 'dest'. The float matrix may not contain entries larger than 65536 or the console crashes. The fixed point matrix has entries with a 16-bit integer part, so the floating point numbers are multiplied by 2^16 before being cast to a s32 integer. If this doesn't fit, the N64 and iQue consoles will throw an exception. On Wii and Wii U Virtual Console the value will simply be clamped and no crashes occur.
float-to-integer conversion responsible for PU crashes
◆ mtxf_translate()
◆ mtxf_translate_vec3f_mat3()
void mtxf_translate_vec3f_mat3 |
( |
Vec3f | pos, |
|
|
Mat3 | mat ) |
◆ mtxf_translate_vec3f_mat4()
void mtxf_translate_vec3f_mat4 |
( |
Vec3f | pos, |
|
|
Mat4 | mat ) |
◆ random_int()
◆ random_u16()
◆ render_set_position()
Inserts matrix into the rsp. Position, rotation and mode of where to render the next object and check number of object already render Note that gMatrixObjectCount gets reset at the beginning of the game loop. So no cleanup needs to be performed.
◆ sins()
◆ vec3f_copy_return()
void * vec3f_copy_return |
( |
Vec3f | dest, |
|
|
Vec3f | src ) |
- Warning
- function returns address of local variable
◆ vec3f_set()
◆ vec3f_set_return()
◆ vec3s_copy()
◆ vec3s_set()
◆ D_802B91C0
◆ D_802B91C8