X
X-Terminator
Hi@all 00de Members
Die Zoom funktion ist ein nützliches Tool um z.b bei einer Colt oder AK wie mit einer Steyr Aug zoomen zu können.
Nun ja ich gestalte euch mal das Tutorial einfach.
Also zuerst müssen wir nen Namen für unser Zooming boolen.
Das könnt ihr auch in der opengl32.cpp boolen. ihr müsst nicht extra einen
header erstellen.
Hmm nennen wir es oioi (kommt valve sicher nicht dahinter). gg
Das sieht so aus;
Ok jetzt gehen wir gleich weiter zur sys_GLFrustum und pasten einfach
diese Zeilen:
so nun ne erklärung.
Also mit If(oioi) wollen wir den zooming modus darstellen.
Int zoom_lvl = 30; Diesen Wert "30" kann beliebig geändert werden.
So jetzt da wir die funktion und das bool schon haben müssen wir nur noch unseren Zoomkey einstellen; wir gehen zu sys_glviewport
VK_RBUTTON bedeutet Mouse 2 (rechte taste. meistens ist da der mittelfinger drauf)
ihr könnt auch andere keys benutzen.
Hier ein Link zu allen Virtual Keys
Virtual Keys hier
Ich wünsche euch noch viel Spaß
//Edit by Suxx
X-Terminator gutes TUT jedoch hab ich es ein wenig verallgemeinert und den Pi-Wert etwas gekürzt denn sonst Rechnet der PC viel mehr ... zieht Performance
Die Zoom funktion ist ein nützliches Tool um z.b bei einer Colt oder AK wie mit einer Steyr Aug zoomen zu können.
Nun ja ich gestalte euch mal das Tutorial einfach.
Also zuerst müssen wir nen Namen für unser Zooming boolen.
Das könnt ihr auch in der opengl32.cpp boolen. ihr müsst nicht extra einen
header erstellen.
Hmm nennen wir es oioi (kommt valve sicher nicht dahinter). gg
Das sieht so aus;
Code:
bool oioi=false;
Ok jetzt gehen wir gleich weiter zur sys_GLFrustum und pasten einfach
diese Zeilen:
Code:
void sys_glFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
{
if(oioi) //oioi = zoom knopf
{
int zoom_lvl = 30;
top = zNear * tan(zoom_lvl * 3.1428571428571428 / 360.0);
bottom = -top;
left = bottom * (4/3); // bzw. ViewPort[2]/ViewPort[3]
right = top * (4/3); // ViewPort enthält informationen über den Screen sprich 1024x768 denn mit dem wert von 1.3 würde es zu verzerrungen kommen bei leuten die z.B. eine Auflösung ala 1280x1024 haben wie ich (suxx ^^)
}
(*orig_glFrustum) (left, right, bottom, top, zNear, zFar);
}
so nun ne erklärung.
Also mit If(oioi) wollen wir den zooming modus darstellen.
Int zoom_lvl = 30; Diesen Wert "30" kann beliebig geändert werden.
So jetzt da wir die funktion und das bool schon haben müssen wir nur noch unseren Zoomkey einstellen; wir gehen zu sys_glviewport
Code:
{
if(GetAsyncKeyState(VK_RBUTTON)&(1==1)) //mouse 2 Zooming VK_rbutton
{
oioi=!oioi;
}
}
VK_RBUTTON bedeutet Mouse 2 (rechte taste. meistens ist da der mittelfinger drauf)
ihr könnt auch andere keys benutzen.
Hier ein Link zu allen Virtual Keys
Virtual Keys hier
Ich wünsche euch noch viel Spaß
//Edit by Suxx
X-Terminator gutes TUT jedoch hab ich es ein wenig verallgemeinert und den Pi-Wert etwas gekürzt denn sonst Rechnet der PC viel mehr ... zieht Performance