thug/Code/Gfx/NGC/NX/line.cpp

133 lines
3.0 KiB
C++
Raw Permalink Normal View History

2016-02-13 21:39:12 +00:00
#include "line.h"
#include "render.h"
namespace NxPs2
{
void BeginLines2D(uint32 rgba)
{
// // dma tag
// dma::BeginTag(dma::cnt, 0);
//
// vu1::Buffer = vu1::Loc;
//
// // GS context
// gs::BeginPrim(ABS,0,0);
// gs::Reg1(gs::ALPHA_1, PackALPHA(0,1,0,1,0));
// gs::Reg1(gs::RGBAQ, (uint64)rgba);
// gs::EndPrim(0);
//
// // unpack giftag
// vif::UNPACK(0, V4_32, 1, ABS, UNSIGNED, 0);
// gif::BeginTagImmediate(gs::XYZ2, 1, PACKED, LINE|ABE, 1, VU1_ADDR(GSPrim));
//
// // begin unpack for coordinates
// vif::BeginUNPACK(0, V4_32, ABS, SIGNED, 1);
}
void DrawLine2D(float x0, float y0, float z0, float x1, float y1, float z1)
{
// vif::StoreV4_32(0x6C00+(sint32)(x0*16),0x7200+(sint32)(y0*16),0xFFFFFF,0);
// vif::StoreV4_32(0x6C00+(sint32)(x1*16),0x7200+(sint32)(y1*16),0xFFFFFF,0);
//
// if (((dma::pLoc - gif::pTag)>>4) >= 250)
// {
// vif::EndUNPACK();
// gif::EndTagImmediate(1,0);
// vif::MSCAL(VU1_ADDR(Parser));
// vif::UNPACK(0, V4_32, 1, ABS, UNSIGNED, 0);
// gif::BeginTagImmediate(gs::XYZ2, 1, PACKED, LINE|ABE, 1, VU1_ADDR(GSPrim));
// vif::BeginUNPACK(0, V4_32, ABS, SIGNED, 1);
// }
//
}
void EndLines2D(void)
{
// vif::EndUNPACK();
// gif::EndTagImmediate(1,0);
// vif::MSCAL(VU1_ADDR(Parser));
// dma::EndTag();
}
void BeginLines3D(uint32 rgba)
{
// // dma tag
// dma::BeginTag(dma::cnt, 0);
//
// vu1::Buffer = vu1::Loc;
//
// // VU context
// vu1::BeginPrim(ABS, VU1_ADDR(L_VF10));
// vu1::StoreVec(ViewportScale); // VF10
// vu1::StoreVec(ViewportOffset); // VF11
// vu1::StoreMat(WorldToFrustum); // VF12-15
// vu1::EndPrim(0);
//
// // GS context
// gs::BeginPrim(ABS,0,0);
// gs::Reg1(gs::ALPHA_1, PackALPHA(0,1,0,1,0));
// gs::Reg1(gs::RGBAQ, (uint64)rgba);
// gs::EndPrim(0);
//
// // all lines will be rendered with simple culling
// vif::ITOP(CULL);
//
// // unpack giftag
// vif::UNPACK(0, V4_32, 1, ABS, UNSIGNED, 0);
// gif::BeginTagImmediate(gs::XYZ2, 1, PACKED, LINE|ABE, 1, VU1_ADDR(ProjLine));
//
// // offset mode
// vif::STMOD(1);
//
// // begin unpack for coordinates
// vif::BeginUNPACK(0, V4_32, ABS, SIGNED, 1);
}
void DrawLine3D(float x0, float y0, float z0, float x1, float y1, float z1)
{
// vif::StoreV4_32((sint32)(x0*256.0f), (sint32)(y0*256.0f), (sint32)(z0*256.0f), 0);
// vif::StoreV4_32((sint32)(x1*256.0f), (sint32)(y1*256.0f), (sint32)(z1*256.0f), 0);
//
// if (((dma::pLoc - gif::pTag)>>4) >= 250)
// {
// vif::EndUNPACK();
// gif::EndTagImmediate(1,1);
// vif::STMOD(0);
// vif::MSCAL(VU1_ADDR(Parser));
// vif::UNPACK(0, V4_32, 1, ABS, UNSIGNED, 0);
// gif::BeginTagImmediate(gs::XYZ2, 1, PACKED, LINE|ABE, 1, VU1_ADDR(ProjLine));
// vif::STMOD(1);
// vif::BeginUNPACK(0, V4_32, ABS, SIGNED, 1);
// }
//
}
void EndLines3D(void)
{
// vif::EndUNPACK();
//
// if (vif::UnpackSize)
// {
// gif::EndTagImmediate(1,1);
// vif::STMOD(0);
// vif::MSCAL(VU1_ADDR(Parser));
// }
// else
// dma::pLoc -= 24;
//
// dma::EndTag();
}
} // namespace NxPs2