Не могу понять как управлять камерой. Использую Borland Builder 6 C++.
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
static int lastX = -1;
static int lastY = -1;
if ( lastX == -1 ) // not initialized
{
lastX = X;
lastY = Y;
}
if( Shift.Contains(ssLeft) )
{
yaw -= (Y - lastY) * 0.02;
roll += (X - lastX) * 0.02;
}
lastX = X;
lastY = Y;
camera.setEulerAngles ( yaw, pitch, roll );Не понятно, почему roll += (X - lastX) * 0.02;, это же вроде z координата?
Подскажите как нужно передавать в таком случае z координату, ну например при вращении колеса мыши?
void __fastcall TForm1::FormMouseWheel(TObject *Sender, TShiftState Shift,
int WheelDelta, TPoint &MousePos, bool &Handled)
{
zZoom += WheelDelta*0.01;
}zZoom как использовать?
А если сцену нужно наклонить, а не повернуть, или отодвинуть по какой нибудь оси? (типа glTranslatef и glRotatef)
