62 lines
1.6 KiB
C++
62 lines
1.6 KiB
C++
#pragma once
|
|
#include "gte_instruction.hpp"
|
|
|
|
namespace JabyEngine {
|
|
namespace GTE {
|
|
/*
|
|
RotTrans
|
|
|
|
Jaby: Can we use gte_stsv instead of gte_stlvnl for writing to a SVECTOR?
|
|
Do we have to use gte_stflg??
|
|
Look at: RotTransSV???
|
|
|
|
Perform coordinate transformation using a rotation matrix
|
|
input: Input vector
|
|
output: Output vector
|
|
flag: flag output
|
|
*/
|
|
void rot_trans(const SVECTOR& input, VECTOR& output, int32_t& flag);
|
|
|
|
/*
|
|
SetRotMatrix
|
|
|
|
Sets a 3x3 matrix m as a constant rotation matrix.
|
|
matrix: The rotation matrix to set
|
|
*/
|
|
void set_rot_matrix(const MATRIX& matrix);
|
|
|
|
/*
|
|
SetTransMatrix
|
|
|
|
Sets a constant parallel transfer vector specified by m
|
|
*/
|
|
void set_trans_matrix(const MATRIX& matrix);
|
|
|
|
/*
|
|
MulMatrix0
|
|
|
|
m0: first input
|
|
m1: second input
|
|
result: result of multiplication
|
|
returns: result
|
|
|
|
Multiplies two matrices m0 and m1.
|
|
The function destroys the constant rotation matrix
|
|
*/
|
|
MATRIX& mult_matrix(const MATRIX& m0, const MATRIX& m1, MATRIX& result);
|
|
|
|
/*
|
|
SetGeomOffset(ofx,ofy)
|
|
|
|
Load GTE-offset.
|
|
*/
|
|
void set_geom_offset(int32_t off_x, int32_t off_y);
|
|
|
|
/*
|
|
SetGeomScreen(h)
|
|
|
|
Load distance from viewpoint to screen.
|
|
*/
|
|
void set_geom_screen(int32_t h);
|
|
}
|
|
} |