From 4a1bca12aa0d1f4de4e2cf9018a89f4bd2086aba Mon Sep 17 00:00:00 2001 From: h4570 Date: Sun, 13 Dec 2020 00:23:04 +0100 Subject: [PATCH] small undo in rendering pipeline --- src/engine/modules/vif_sender.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/engine/modules/vif_sender.cpp b/src/engine/modules/vif_sender.cpp index 771b05f..2ef738a 100644 --- a/src/engine/modules/vif_sender.cpp +++ b/src/engine/modules/vif_sender.cpp @@ -71,12 +71,19 @@ void VifSender::uploadMicroProgram() void VifSender::sendMatrices(const RenderData &t_renderData, const Vector3 &t_position, const Vector3 &t_rotation) { - Matrix viewProj = Matrix(); - viewProj.rotation(t_rotation); // model matrix - viewProj.translate(t_position); // model matrix - viewProj *= *t_renderData.worldView * *t_renderData.perspective; // viewproj = model * (view * projection) + vec3ToNative(position, t_position, 1.0F); + vec3ToNative(rotation, t_rotation, 1.0F); + MATRIX localWorld, localScreen; + create_local_world(localWorld, position, rotation); + create_local_screen(localScreen, localWorld, t_renderData.worldView->data, t_renderData.perspective->data); + // Small undo, because im testing new matrix funcs, which are DIFFERENT than PS2SDK, so cant be used right now. + // Matrix viewProj = Matrix(); + // viewProj.rotation(t_rotation); // model matrix + // viewProj.translate(t_position); // model matrix + // viewProj *= *t_renderData.worldView * *t_renderData.perspective; // viewproj = model * (view * projection) packet2_reset(matricesPacket, false); - packet2_utils_vu_add_unpack_data(matricesPacket, 0, &viewProj.data, 8, 0); + // packet2_utils_vu_add_unpack_data(matricesPacket, 0, &viewProj.data, 8, 0); + packet2_utils_vu_add_unpack_data(matricesPacket, 0, localScreen, 8, 0); packet2_utils_vu_add_end_tag(matricesPacket); dma_channel_wait(DMA_CHANNEL_VIF1, 0); dma_channel_send_packet2(matricesPacket, DMA_CHANNEL_VIF1, 1);