diff options
| author | iCatButler <i.am.catbutler@gmail.com> | 2016-05-02 15:01:27 +0100 |
|---|---|---|
| committer | iCatButler <i.am.catbutler@gmail.com> | 2016-05-02 15:01:27 +0100 |
| commit | 216c2ff3aefc9e0295ed9b1486935d65f6c13f55 (patch) | |
| tree | 88791c94e67ac8a5b99b9b39238ca4513077adf6 /plugins/peopsxgl/prim.c | |
| parent | 153c8eb4997d21d3b2965cf38d4348f05c29860f (diff) | |
| download | pcsxr-216c2ff3aefc9e0295ed9b1486935d65f6c13f55.tar.gz | |
Fix bugs from previous
Fix stray triangles
- Switch to full floating point RTPS/RTPT
- Clamp w values to near plane
Fix texture corruption in 1.78, copy 2.4 Tweak
- Remove matrix replacement
- Add W component to vertices
- Wrap glVertex3fv calls
- Use counter to call glVertex4fv for PGXP vertices only
Diffstat (limited to 'plugins/peopsxgl/prim.c')
| -rwxr-xr-x | plugins/peopsxgl/prim.c | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/plugins/peopsxgl/prim.c b/plugins/peopsxgl/prim.c index adf6380e..ffa3fcf3 100755 --- a/plugins/peopsxgl/prim.c +++ b/plugins/peopsxgl/prim.c @@ -151,16 +151,16 @@ static __inline void PRIMdrawTexturedQuad(OGLVertex* vertex1, OGLVertex* vertex2 { glBegin(GL_TRIANGLE_STRIP); glTexCoord2fv(&vertex1->sow); - glVertex3fv(&vertex1->x); + PGXP_glVertexfv(&vertex1->x); glTexCoord2fv(&vertex2->sow); - glVertex3fv(&vertex2->x); + PGXP_glVertexfv(&vertex2->x); glTexCoord2fv(&vertex4->sow); - glVertex3fv(&vertex4->x); + PGXP_glVertexfv(&vertex4->x); glTexCoord2fv(&vertex3->sow); - glVertex3fv(&vertex3->x); + PGXP_glVertexfv(&vertex3->x); glEnd(); } @@ -171,13 +171,13 @@ static __inline void PRIMdrawTexturedTri(OGLVertex* vertex1, OGLVertex* vertex2, { glBegin(GL_TRIANGLES); glTexCoord2fv(&vertex1->sow); - glVertex3fv(&vertex1->x); + PGXP_glVertexfv(&vertex1->x); glTexCoord2fv(&vertex2->sow); - glVertex3fv(&vertex2->x); + PGXP_glVertexfv(&vertex2->x); glTexCoord2fv(&vertex3->sow); - glVertex3fv(&vertex3->x); + PGXP_glVertexfv(&vertex3->x); glEnd(); } @@ -190,15 +190,15 @@ static __inline void PRIMdrawTexGouraudTriColor(OGLVertex* vertex1, OGLVertex* v SETPCOL(vertex1); glTexCoord2fv(&vertex1->sow); - glVertex3fv(&vertex1->x); + PGXP_glVertexfv(&vertex1->x); SETPCOL(vertex2); glTexCoord2fv(&vertex2->sow); - glVertex3fv(&vertex2->x); + PGXP_glVertexfv(&vertex2->x); SETPCOL(vertex3); glTexCoord2fv(&vertex3->sow); - glVertex3fv(&vertex3->x); + PGXP_glVertexfv(&vertex3->x); glEnd(); } @@ -210,19 +210,19 @@ static __inline void PRIMdrawTexGouraudTriColorQuad(OGLVertex* vertex1, OGLVerte glBegin(GL_TRIANGLE_STRIP); SETPCOL(vertex1); glTexCoord2fv(&vertex1->sow); - glVertex3fv(&vertex1->x); + PGXP_glVertexfv(&vertex1->x); SETPCOL(vertex2); glTexCoord2fv(&vertex2->sow); - glVertex3fv(&vertex2->x); + PGXP_glVertexfv(&vertex2->x); SETPCOL(vertex4); glTexCoord2fv(&vertex4->sow); - glVertex3fv(&vertex4->x); + PGXP_glVertexfv(&vertex4->x); SETPCOL(vertex3); glTexCoord2fv(&vertex3->sow); - glVertex3fv(&vertex3->x); + PGXP_glVertexfv(&vertex3->x); glEnd(); } @@ -231,9 +231,9 @@ static __inline void PRIMdrawTexGouraudTriColorQuad(OGLVertex* vertex1, OGLVerte static __inline void PRIMdrawTri(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3) { glBegin(GL_TRIANGLES); - glVertex3fv(&vertex1->x); - glVertex3fv(&vertex2->x); - glVertex3fv(&vertex3->x); + PGXP_glVertexfv(&vertex1->x); + PGXP_glVertexfv(&vertex2->x); + PGXP_glVertexfv(&vertex3->x); glEnd(); } @@ -243,10 +243,10 @@ static __inline void PRIMdrawTri2(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3, OGLVertex* vertex4) { glBegin(GL_TRIANGLE_STRIP); - glVertex3fv(&vertex1->x); - glVertex3fv(&vertex3->x); - glVertex3fv(&vertex2->x); - glVertex3fv(&vertex4->x); + PGXP_glVertexfv(&vertex1->x); + PGXP_glVertexfv(&vertex3->x); + PGXP_glVertexfv(&vertex2->x); + PGXP_glVertexfv(&vertex4->x); glEnd(); } @@ -257,13 +257,13 @@ static __inline void PRIMdrawGouraudTriColor(OGLVertex* vertex1, OGLVertex* vert { glBegin(GL_TRIANGLES); SETPCOL(vertex1); - glVertex3fv(&vertex1->x); + PGXP_glVertexfv(&vertex1->x); SETPCOL(vertex2); - glVertex3fv(&vertex2->x); + PGXP_glVertexfv(&vertex2->x); SETPCOL(vertex3); - glVertex3fv(&vertex3->x); + PGXP_glVertexfv(&vertex3->x); glEnd(); } @@ -274,16 +274,16 @@ static __inline void PRIMdrawGouraudTri2Color(OGLVertex* vertex1, OGLVertex* ver { glBegin(GL_TRIANGLE_STRIP); SETPCOL(vertex1); - glVertex3fv(&vertex1->x); + PGXP_glVertexfv(&vertex1->x); SETPCOL(vertex3); - glVertex3fv(&vertex3->x); + PGXP_glVertexfv(&vertex3->x); SETPCOL(vertex2); - glVertex3fv(&vertex2->x); + PGXP_glVertexfv(&vertex2->x); SETPCOL(vertex4); - glVertex3fv(&vertex4->x); + PGXP_glVertexfv(&vertex4->x); glEnd(); } @@ -295,10 +295,10 @@ static __inline void PRIMdrawFlatLine(OGLVertex* vertex1, OGLVertex* vertex2,OGL SETPCOL(vertex1); - glVertex3fv(&vertex1->x); - glVertex3fv(&vertex2->x); - glVertex3fv(&vertex3->x); - glVertex3fv(&vertex4->x); + PGXP_glVertexfv(&vertex1->x); + PGXP_glVertexfv(&vertex2->x); + PGXP_glVertexfv(&vertex3->x); + PGXP_glVertexfv(&vertex4->x); glEnd(); } @@ -309,16 +309,16 @@ static __inline void PRIMdrawGouraudLine(OGLVertex* vertex1, OGLVertex* vertex2, glBegin(GL_QUADS); SETPCOL(vertex1); - glVertex3fv(&vertex1->x); + PGXP_glVertexfv(&vertex1->x); SETPCOL(vertex2); - glVertex3fv(&vertex2->x); + PGXP_glVertexfv(&vertex2->x); SETPCOL(vertex3); - glVertex3fv(&vertex3->x); + PGXP_glVertexfv(&vertex3->x); SETPCOL(vertex4); - glVertex3fv(&vertex4->x); + PGXP_glVertexfv(&vertex4->x); glEnd(); } @@ -328,10 +328,10 @@ static __inline void PRIMdrawQuad(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3, OGLVertex* vertex4) { glBegin(GL_QUADS); - glVertex3fv(&vertex1->x); - glVertex3fv(&vertex2->x); - glVertex3fv(&vertex3->x); - glVertex3fv(&vertex4->x); + PGXP_glVertexfv(&vertex1->x); + PGXP_glVertexfv(&vertex2->x); + PGXP_glVertexfv(&vertex3->x); + PGXP_glVertexfv(&vertex4->x); glEnd(); } |
