OutlineWalls (WallHack)

Что это такое:

Отрисовывает грани полигонов. Аналог WireFrame, но не убирает сами полигоны.

Исполнение:

1) Нужен хук на glbegin, glEnd и glVertex3fv.

Code:
int  polyCoords = 0;
float polyArray[32][3]; bool bPolygon = false; // В glbegin bPolygon = (mode==GL_POLYGON); polyCoords = 0; // В glEnd if(bPolygon)
{
float curcolor[4];
glGetFloatv(GL_CURRENT_COLOR, curcolor);
glDisable(GL_TEXTURE_2D);
glColor3f(1.0f, 0.1f, 0.1f); // Цвет линий в RGB (красный)
glBegin(GL_LINE_LOOP);
glLineWidth(1); // Толщина линий
for(int i = 0;i<polyCoords;i++)
glVertex3fv( polyArray[i] );
glEnd();
glColor3f(curcolor[0],curcolor[1],curcolor[2]);
glEnable(GL_TEXTURE_2D);
}

bPolygon = false; polyCoords = 0; // В glVertex3fv if(var && bPolygon)
{
polyArray[polyCoords][0] = var[0];
polyArray[polyCoords][1] = var[1];
polyArray[polyCoords++][2] = var[2];
}

Вариант 2 :

1) Каждый кадр исполнять команду игровую команду gl_wireframe 1 (в HUD_Frame или HUD_Redraw например).

2) Это заблокированная в мультиплеере команда. Отладочная команда, для мапперов. Описание того как исполнить заблокированную команду надо смотреть в статье - как исполнять заблокированные команды.

 

Copyright (c) Troll

Hosted by uCoz
мEн