V
ValloV
fuern wireframe mode bruachen wir nur glbegin zu hooken, als erstes muessen wir schauhen ob hl waende ect. drawen will, das machen wir mit einer if GL_POLYGON abfrage. also naechstes setzten wire den wireframe mode mit (*orig_glPolygonMode)(GL_FRONT_AND_BACK,GL_LINE), damit werden die texturen als lienien dargestellt, mit (*orig_glLineWidth)(1.0f) koennen wir die dicke der linien einstellen und mit (*orig_glColor3f)(0.0f,1.0f,0.0f) koennen wir die farbe bestimmen, was in diesem fall gruen waer(r,g,b). um keine bugs zu erhalten schauhen wir als naechstes ob hl !keine waende zeichnen will, z.b. mit if(mode != GL_POLYGON) oder mit if(mode == GL_TRIANLES || mode == GL_TRIANGLE_FAN || mode == GL_TRIANGLE_STRIP), dann fuellen wir die texturen wieder aus mit (*orig_glPolygonMode)(GL_FRONT_AND_BACK,GL_FILL). im endeffekt duerfte es dann ungefaehr so aussehen:
ihr muesst jedoch dann noch den buffer clearen da sonst die frames ineinander laufen, dazu koennt ihr euch das asuswh tut anschauhen, dort ist der code beschrieben und ihr solltet auch nosky einfuegen(ebenfalls im asuswh tut beschrieben da es sich sonst nicht allzugut spielen laesst).
Code:
void sys_glBegin(GLenum mode)
{
if(mode == GL_POLYGON)
{
(*orig_glPolygonMode)(GL_FRONT_AND_BACK,GL_LINE);
(*orig_glLineWidth)(1.0f);
(*orig_glColor3f)(0.0f,1.0f,0.0f);
}
else if(mode == GL_TRIANGLES || mode == GL_TRIANGLE_STRIP || mode == GL_TRIANGLE_FAN)
{
(*orig_glPolygonMode)(GL_FRONT_AND_BACK,GL_FILL);
}
(*orig_glBegin)(mode);
}
ihr muesst jedoch dann noch den buffer clearen da sonst die frames ineinander laufen, dazu koennt ihr euch das asuswh tut anschauhen, dort ist der code beschrieben und ihr solltet auch nosky einfuegen(ebenfalls im asuswh tut beschrieben da es sich sonst nicht allzugut spielen laesst).