Correction d'un glitch graphique.

This commit is contained in:
Georges Dupéron 2012-01-19 16:17:13 +01:00
parent 88bd0478bf
commit 47a70fdee5
5 changed files with 11 additions and 9 deletions

View File

@ -54,9 +54,5 @@ bool MurQuad::split() {
}
void MurQuad::triangulation() {
if(!window)
addGPUOcto(c, ch, Couleurs::mur);
//else
//addGPUOcto(c, ch, 0xFF,0x10,0x00);
//addGPUQuad(windowPosh,0xFF,0xFF,0x00);
addGPUOcto(c, ch, Couleurs::mur);
}

View File

@ -13,7 +13,7 @@ class MurQuad: public Chose {
public :
MurQuad(Quad c, Quad ch, bool _windows=false);
MurQuad(Quad c, Quad ch, bool _window=false);
virtual void triangulation();
virtual bool split();
virtual void getBoundingBoxPoints();

View File

@ -43,7 +43,7 @@ void QuartierQuad::triangulation() {
} else {
Quad ci = c.insetNESW(Dimensions::largeurRoute + Dimensions::largeurTrottoir);
Quad cih = ci.offsetNormal(Dimensions::hauteurMaxBatiment);
addGPUQuad(c, Couleurs::route);
addGPUFourQuads(c, ci, Couleurs::route);
addGPUQuad(cih, Couleurs::toit);
for (int i = 0; i < 4; i++)
addGPUQuad(Quad(ci[NE+i], ci[SE+i], cih[SE+i], cih[NE+i]), Couleurs::mur);
@ -54,7 +54,7 @@ void QuartierQuad::triangulationConcave(Triangle t) {
// Même code que QuartierTri::triangulation.
Triangle ci = t.insetLTR(Dimensions::largeurRoute + Dimensions::largeurTrottoir);
Triangle cih = ci.offsetNormal(Dimensions::hauteurMaxBatiment);
addGPUTriangle(t, Couleurs::route);
addGPUThreeQuads(t, ci, Couleurs::route);
addGPUTriangle(cih, Couleurs::toit);
for (int i = 0; i < 3; i++)
addGPUQuad(Quad(ci[LEFT+i], ci[TOP+i], cih[TOP+i], cih[LEFT+i]), Couleurs::mur);
@ -179,7 +179,7 @@ bool QuartierTri::split() {
void QuartierTri::triangulation() {
Triangle ci = c.insetLTR(Dimensions::largeurRoute + Dimensions::largeurTrottoir);
Triangle cih = ci.offsetNormal(Dimensions::hauteurMaxBatiment);
addGPUTriangle(c, Couleurs::route);
addGPUThreeQuads(c, ci, Couleurs::route);
addGPUTriangle(cih, Couleurs::toit);
for (int i = 0; i < 3; i++)
addGPUQuad(Quad(ci[LEFT+i], ci[TOP+i], cih[TOP+i], cih[LEFT+i]), Couleurs::mur);

View File

@ -53,6 +53,11 @@ void Chose::addGPUFourQuads(Quad q, Quad qh, unsigned int rgb) {
addGPUQuad(Quad(qh[NE+i], q[NE+i], q[SE+i], qh[SE+i]), rgb);
}
void Chose::addGPUThreeQuads(Triangle t, Triangle th, unsigned int rgb) {
for (int i = 0; i < 3; i++)
addGPUQuad(Quad(th[LEFT+i], t[LEFT+i], t[TOP+i], th[TOP+i]), rgb);
}
void Chose::addGPUOcto(Vertex ne, Vertex se, Vertex sw, Vertex nw,
Vertex neh, Vertex seh, Vertex swh, Vertex nwh, unsigned int rgb) {
addGPUOcto(Quad(ne,se,sw,nw), Quad(neh,seh,swh,nwh), rgb);

View File

@ -68,6 +68,7 @@ protected :
void addGPUQuad(Vertex ne, Vertex se, Vertex sw, Vertex nw, unsigned int rgb);
void addGPUQuad(Quad q, unsigned int rgb);
void addGPUFourQuads(Quad q, Quad qh, unsigned int rgb);
void addGPUThreeQuads(Triangle t, Triangle th, unsigned int rgb);
void addGPUOcto(Vertex ne, Vertex se, Vertex sw, Vertex nw,
Vertex neh, Vertex seh, Vertex swh, Vertex nwh,
unsigned int rgb);