mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-22 22:01:06 -06:00
* more thread-safe UI
* config system base * FPS counter and limiter
This commit is contained in:
@ -52,6 +52,12 @@
|
||||
// if (clearZ >= 0x010000 && clearZ < 0xFFFFFF) clearZ++;
|
||||
//
|
||||
// alpha is 5-bit
|
||||
//
|
||||
// matrix push/pop on the position matrix are always applied to the vector matrix too, even in position-only mode
|
||||
// store/restore too, probably (TODO: confirm)
|
||||
// (the idea is that each position matrix has an associated vector matrix)
|
||||
//
|
||||
// TODO: check if translate works on the vector matrix? seems pointless
|
||||
|
||||
|
||||
namespace GPU3D
|
||||
@ -729,7 +735,10 @@ void SubmitPolygon()
|
||||
}
|
||||
|
||||
if (farplaneclip && (!(CurPolygonAttr & (1<<12))))
|
||||
{
|
||||
LastStripPolygon = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
nverts = c; c = clipstart;
|
||||
for (int i = clipstart; i < nverts; i++)
|
||||
@ -903,6 +912,8 @@ void SubmitVertex()
|
||||
s64 vertex[4] = {(s64)CurVertex[0], (s64)CurVertex[1], (s64)CurVertex[2], 0x1000};
|
||||
Vertex* vertextrans = &TempVertexBuffer[VertexNumInPoly];
|
||||
|
||||
//printf("vertex: %08X %08X %08X, %d %d %d\n", CurVertex[0], CurVertex[1], CurVertex[2], VertexColor[0], VertexColor[1], VertexColor[2]);
|
||||
|
||||
UpdateClipMatrix();
|
||||
vertextrans->Position[0] = (vertex[0]*ClipMatrix[0] + vertex[1]*ClipMatrix[4] + vertex[2]*ClipMatrix[8] + vertex[3]*ClipMatrix[12]) >> 12;
|
||||
vertextrans->Position[1] = (vertex[0]*ClipMatrix[1] + vertex[1]*ClipMatrix[5] + vertex[2]*ClipMatrix[9] + vertex[3]*ClipMatrix[13]) >> 12;
|
||||
|
Reference in New Issue
Block a user