commit 47a70fdee528e64299c1df9111523861bf8fe532
parent 88bd0478bf8bcf38886034a8aa0f12ec8ad6f77f
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Thu, 19 Jan 2012 16:17:13 +0100
Correction d'un glitch graphique.
Diffstat:
5 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/rules/architecture/mur.cpp b/rules/architecture/mur.cpp
@@ -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);
}
diff --git a/rules/architecture/mur.hh b/rules/architecture/mur.hh
@@ -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();
diff --git a/rules/architecture/quartier.cpp b/rules/architecture/quartier.cpp
@@ -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);
diff --git a/rules/chose.cpp b/rules/chose.cpp
@@ -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);
diff --git a/rules/chose.hh b/rules/chose.hh
@@ -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);