|
@@ -55,7 +55,7 @@ Render::Render()
|
55
|
55
|
mMode = Render::modeDisabled;
|
56
|
56
|
mLock = 0;
|
57
|
57
|
mFlags = (fRoomAlpha | fViewModel | fSprites |
|
58
|
|
- fRoomModels | fEntityModels |
|
|
58
|
+ fRoomModels | fEntityModels | fRenderPonytail |
|
59
|
59
|
fUsePortals | fUpdateRoomListPerFrame);
|
60
|
60
|
}
|
61
|
61
|
|
|
@@ -982,83 +982,7 @@ void Render::drawModel(SkeletalModel *model)
|
982
|
982
|
}
|
983
|
983
|
|
984
|
984
|
|
985
|
|
-void draw_bbox(vec3_t min, vec3_t max, bool draw_points)
|
986
|
|
-{
|
987
|
|
- // Bind before entering now
|
988
|
|
- //glBindTexture(GL_TEXTURE_2D, 1);
|
989
|
|
- glPointSize(4.0);
|
990
|
|
- //glLineWidth(1.25);
|
991
|
|
-
|
992
|
|
- //! \fixme Need to make custom color key for this
|
993
|
|
- glColor3fv(RED);
|
994
|
|
-
|
995
|
|
- glBegin(GL_POINTS);
|
996
|
|
- glVertex3f(max[0], max[1], max[2]);
|
997
|
|
- glVertex3f(min[0], min[1], min[2]);
|
998
|
|
-
|
999
|
|
- if (draw_points)
|
1000
|
|
- {
|
1001
|
|
- glVertex3f(max[0], min[1], max[2]);
|
1002
|
|
- glVertex3f(min[0], max[1], max[2]);
|
1003
|
|
- glVertex3f(max[0], max[1], min[2]);
|
1004
|
|
- glVertex3f(min[0], min[1], max[2]);
|
1005
|
|
- glVertex3f(min[0], max[1], min[2]);
|
1006
|
|
- glVertex3f(max[0], min[1], min[2]);
|
1007
|
|
- }
|
1008
|
|
-
|
1009
|
|
- glEnd();
|
1010
|
|
-
|
1011
|
|
- glColor3fv(GREEN);
|
1012
|
|
-
|
1013
|
|
- glBegin(GL_LINES);
|
1014
|
|
- // max, top quad
|
1015
|
|
- glVertex3f(max[0], max[1], max[2]);
|
1016
|
|
- glVertex3f(max[0], min[1], max[2]);
|
1017
|
|
-
|
1018
|
|
- glVertex3f(max[0], max[1], max[2]);
|
1019
|
|
- glVertex3f(min[0], max[1], max[2]);
|
1020
|
|
-
|
1021
|
|
- glVertex3f(max[0], max[1], max[2]);
|
1022
|
|
- glVertex3f(max[0], max[1], min[2]);
|
1023
|
|
-
|
1024
|
|
- // max-min, vertical quads
|
1025
|
|
- glVertex3f(min[0], max[1], max[2]);
|
1026
|
|
- glVertex3f(min[0], max[1], min[2]);
|
1027
|
|
-
|
1028
|
|
- glVertex3f(max[0], min[1], max[2]);
|
1029
|
|
- glVertex3f(max[0], min[1], min[2]);
|
1030
|
|
-
|
1031
|
|
- glVertex3f(max[0], min[1], max[2]);
|
1032
|
|
- glVertex3f(min[0], min[1], max[2]);
|
1033
|
|
-
|
1034
|
|
- // min-max, vertical quads
|
1035
|
|
- glVertex3f(max[0], max[1], min[2]);
|
1036
|
|
- glVertex3f(max[0], min[1], min[2]);
|
1037
|
|
-
|
1038
|
|
- glVertex3f(max[0], max[1], min[2]);
|
1039
|
|
- glVertex3f(min[0], max[1], min[2]);
|
1040
|
|
-
|
1041
|
|
- glVertex3f(min[0], max[1], max[2]);
|
1042
|
|
- glVertex3f(min[0], min[1], max[2]);
|
1043
|
|
-
|
1044
|
|
-
|
1045
|
|
- // min, bottom quad
|
1046
|
|
- glVertex3f(min[0], min[1], min[2]);
|
1047
|
|
- glVertex3f(min[0], max[1], min[2]);
|
1048
|
|
-
|
1049
|
|
- glVertex3f(min[0], min[1], min[2]);
|
1050
|
|
- glVertex3f(max[0], min[1], min[2]);
|
1051
|
|
-
|
1052
|
|
- glVertex3f(min[0], min[1], min[2]);
|
1053
|
|
- glVertex3f(min[0], min[1], max[2]);
|
1054
|
|
- glEnd();
|
1055
|
|
-
|
1056
|
|
- glPointSize(1.0);
|
1057
|
|
- //glLineWidth(1.0);
|
1058
|
|
-}
|
1059
|
|
-
|
1060
|
|
-
|
1061
|
|
-void draw_bbox_color(vec3_t min, vec3_t max, bool draw_points,
|
|
985
|
+void draw_bbox(vec3_t min, vec3_t max, bool draw_points,
|
1062
|
986
|
const vec4_t c1, const vec4_t c2)
|
1063
|
987
|
{
|
1064
|
988
|
// Bind before entering now
|
|
@@ -1169,7 +1093,7 @@ void Render::drawRoom(Room &room, bool draw_alpha)
|
1169
|
1093
|
if (mMode == Render::modeWireframe && !draw_alpha) {
|
1170
|
1094
|
vec3_t bbox[2];
|
1171
|
1095
|
room.getBoundingBox(bbox);
|
1172
|
|
- draw_bbox(bbox[0], bbox[1], true);
|
|
1096
|
+ draw_bbox(bbox[0], bbox[1], true, RED, GREEN);
|
1173
|
1097
|
}
|
1174
|
1098
|
|
1175
|
1099
|
vec3_t pos;
|
|
@@ -1493,7 +1417,7 @@ bool Render::isVisible(float bbox_min[3], float bbox_max[3])
|
1493
|
1417
|
//glVertex3fv(bbox_max);
|
1494
|
1418
|
//glEnd();
|
1495
|
1419
|
|
1496
|
|
- draw_bbox_color(bbox_min, bbox_max, true, PINK, RED);
|
|
1420
|
+ draw_bbox(bbox_min, bbox_max, true, PINK, RED);
|
1497
|
1421
|
}
|
1498
|
1422
|
|
1499
|
1423
|
return mViewVolume.isBboxInFrustum(bbox_min, bbox_max);
|