When i click to mouse my graphic able to rotate but when i up to mouse graphic turning back initial position i don't know why here this my events
here this illustrations about my issue
i think it is totally different like moving on the picturebox
Mouse_up event
private void simpleOpenGlControl1_MouseUp(object sender, MouseEventArgs e)
{
Dragging2 = false;
}
private void simpleOpenGlControl1_MouseMove(object sender, MouseEventArgs e)
{
xrot -= 0.5;
simpleOpenGlControl1.Refresh();
}
Mouse_down event
{
if (e.Button == MouseButtons.Left)
{
Dragging2 = true;
}
}
double olcek3d_gen1 = obj.genislikDeger1 / pictureBox1.Width;
double olcek3d_gen2 = obj.genislikDeger2 / pictureBox1.Width;
double olcek3d_gen3 = obj.genislikDeger3 / pictureBox1.Width;
double olcek3d_gen4 = obj.genislikDeger4 / pictureBox1.Width;
double olcek3d_yuk1 = obj.yukselikDeger1 / pictureBox1.Width;
double olcek3d_yuk2 = obj.yukselikDeger2 / pictureBox1.Width;
double olcek3d_yuk3 = obj.yukselikDeger3 / pictureBox1.Width;
double olcek3d_yuk4 = obj.yukselikDeger4 / pictureBox1.Width;
double olcek_derinlik = obj.L / pictureBox1.Width;
//Gl.glColorMask(1,1,1,1);
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT | Gl.GL_ACCUM_BUFFER_BIT);
Gl.glEnable(Gl.GL_DEPTH_TEST); //clear buffers to preset values
Gl.glClearColor(0, 0, 0, 0);
/* Gl.glEnable(Gl.GL_COLOR_MATERIAL);
Gl.glEnable(Gl.GL_LIGHTING);
Gl.glEnable(Gl.GL_LIGHT0);*/
Gl.glBlendFunc(Gl.GL_ONE, Gl.GL_ONE_MINUS_SRC_ALPHA);
Gl.glMatrixMode(Gl.GL_MODELVIEW);
Gl.glLoadIdentity(); // load the identity matrix
// load the identity
Gl.glTranslated(left_right, up_down, sabit3D);
//Gl.glEnable(Gl.GL_TEXTURE_2D);
if (Dragging2)
{
Gl.glRotated(xrot, xRotate, yRotate, zRotate);
listBox1.Items.Add("angle " + xrot.ToString() +" xrot "+ xRotate+" yrot "+ yRotate+" zrot "+zRotate+" left_right "+left_right+" up_Down "+ up_down);
}
//rotate on y
//Gl.glRotated(zrot += 0.5, 0, 0, 1); //rotate on z
//face 1.0
//face 2.0 görünen açıdan sağdaki
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(90, 90, 90);
Gl.glVertex3d(olcek3d_gen1, 0, 0);
Gl.glVertex3d(olcek3d_gen1, 0, olcek_derinlik);
Gl.glVertex3d(olcek3d_gen1, olcek3d_yuk1, olcek_derinlik);
Gl.glVertex3d(olcek3d_gen1, olcek3d_yuk1, 0);
Gl.glEnd();
//face 3.0 ön yüzey
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(100, 100, 100);
Gl.glVertex3d(0, 0, olcek_derinlik);
Gl.glVertex3d(olcek3d_gen1, 0, olcek_derinlik);
Gl.glVertex3d(olcek3d_gen1, olcek3d_yuk1, olcek_derinlik);
Gl.glVertex3d(0, olcek3d_yuk1, olcek_derinlik);
Gl.glEnd();
//face 4.0 arka yüzey
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(110, 110, 110);
Gl.glVertex3d(0, 0, 0);
Gl.glVertex3d(0, 0, olcek_derinlik);
Gl.glVertex3d(0, olcek3d_yuk1, olcek_derinlik);
Gl.glVertex3d(0, olcek3d_yuk1, 0);
Gl.glEnd();
//face 5.0 üst yüzey
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(100, 100, 100);
Gl.glVertex3d(0, olcek3d_yuk1, 0);
Gl.glVertex3d(olcek3d_gen1, olcek3d_yuk1, 0);
Gl.glVertex3d(olcek3d_gen1, olcek3d_yuk1, olcek_derinlik);
Gl.glVertex3d(0, olcek3d_yuk1, olcek_derinlik);
Gl.glEnd();
//face 6.0 // sorun olan bölge başlangıc en zıt arkası
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(100, 100, 100);
Gl.glVertex3d(0, 0, 0);
Gl.glVertex3d(olcek3d_gen1, 0, 0);
Gl.glVertex3d(olcek3d_gen1, olcek3d_yuk1, 0);
Gl.glVertex3d(0, olcek3d_yuk1, 0);
Gl.glEnd();
//face 1.1
Gl.glBegin(Gl.GL_QUADS); //start drawing GL_QUADSis the connection mode
Gl.glColor3ub(90, 90, 90);
Gl.glVertex3d(0, -1 * olcek3d_yuk2, 0);
Gl.glVertex3d(olcek3d_gen2, -1 * olcek3d_yuk2, 0);
Gl.glVertex3d(olcek3d_gen2, 0, 0);
Gl.glVertex3d(0, 0, 0);
Gl.glEnd();
//face 2.1
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(70, 70, 70);
Gl.glVertex3d(olcek3d_gen2, -1 * olcek3d_yuk2, 0);
Gl.glVertex3d(olcek3d_gen2, -1 * olcek3d_yuk2, olcek_derinlik);
Gl.glVertex3d(olcek3d_gen2, 0, olcek_derinlik);
Gl.glVertex3d(olcek3d_gen2, 0, 0);
Gl.glEnd();
//face 3.1
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(80, 80, 80);
Gl.glVertex3d(0, -1 * olcek3d_yuk2, olcek_derinlik);
Gl.glVertex3d(olcek3d_gen2, -1 * olcek3d_yuk2, olcek_derinlik);
Gl.glVertex3d(olcek3d_gen2, 0, olcek_derinlik);
Gl.glVertex3d(0, 0, olcek_derinlik);
Gl.glEnd();
//face 4.1
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(90, 90, 90);
Gl.glVertex3d(0, -1 * olcek3d_yuk2, 0);
Gl.glVertex3d(0, -1 * olcek3d_yuk2, olcek_derinlik);
Gl.glVertex3d(0, 0, olcek_derinlik);
Gl.glVertex3d(0, 0, 0);
Gl.glEnd();
//face cover.1 çizgi level
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(80, 80, 80);
Gl.glVertex3d(olcek3d_gen1, 0, 0);
Gl.glVertex3d(olcek3d_gen2, 0, 0);
Gl.glVertex3d(olcek3d_gen2, 0, olcek_derinlik);
Gl.glVertex3d(olcek3d_gen1, 0, olcek_derinlik);
Gl.glEnd();
if (sev.Value == 2)
{
//face 5.1
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(85, 85, 85);
Gl.glVertex3d(0, -1 * olcek3d_yuk2, 0);
Gl.glVertex3d(olcek3d_gen2, -1 * olcek3d_yuk2, 0);
Gl.glVertex3d(olcek3d_gen2, -1 * olcek3d_yuk2, olcek_derinlik);
Gl.glVertex3d(0, -1 * olcek3d_yuk2, olcek_derinlik);
Gl.glEnd();
}
if (sev.Value >= 3)
{
//face 1.2
Gl.glBegin(Gl.GL_QUADS); //start drawing GL_QUADSis the connection mode
Gl.glColor3ub(85, 85, 85);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3), 0);
Gl.glVertex3d(olcek3d_gen3, -1 * (olcek3d_yuk2 + olcek3d_yuk3), 0);
Gl.glVertex3d(olcek3d_gen3, -1 * olcek3d_yuk2, 0);
Gl.glVertex3d(0, -1 * olcek3d_yuk2, 0);
Gl.glEnd();
//face 2.2
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(70, 70, 70);
Gl.glVertex3d(olcek3d_gen3, -1 * (olcek3d_yuk2 + olcek3d_yuk3), 0);
Gl.glVertex3d(olcek3d_gen3, -1 * (olcek3d_yuk2 + olcek3d_yuk3), olcek_derinlik);
Gl.glVertex3d(olcek3d_gen3, -1 * olcek3d_yuk2, olcek_derinlik);
Gl.glVertex3d(olcek3d_gen3, -1 * olcek3d_yuk2, 0);
Gl.glEnd();
//face 3.2
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(90, 90, 90);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3), olcek_derinlik);
Gl.glVertex3d(olcek3d_gen3, -1 * (olcek3d_yuk2 + olcek3d_yuk3), olcek_derinlik);
Gl.glVertex3d(olcek3d_gen3, -1 * olcek3d_yuk2, olcek_derinlik);
Gl.glVertex3d(0, -1 * olcek3d_yuk2, olcek_derinlik);
Gl.glEnd();
//face 4.2
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(85, 85, 85);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3), 0);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3), olcek_derinlik);
Gl.glVertex3d(0, -1 * olcek3d_yuk2, olcek_derinlik);
Gl.glVertex3d(0, -1 * olcek3d_yuk2, 0);
Gl.glEnd();
//face kapak.2
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(80, 80, 80);
Gl.glVertex3d(olcek3d_gen2, -1 * (olcek3d_yuk1), 0);
Gl.glVertex3d(olcek3d_gen3, -1 * (olcek3d_yuk1), 0);
Gl.glVertex3d(olcek3d_gen3, -1 * (olcek3d_yuk1), olcek_derinlik);
Gl.glVertex3d(olcek3d_gen2, -1 * (olcek3d_yuk1), olcek_derinlik);
Gl.glEnd();
if (sev.Value == 3)
{
//face 5.2
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(85, 85, 85);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3), 0);
Gl.glVertex3d(olcek3d_gen3, -1 * (olcek3d_yuk2 + olcek3d_yuk3), 0);
Gl.glVertex3d(olcek3d_gen3, -1 * (olcek3d_yuk2 + olcek3d_yuk3), olcek_derinlik);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3), olcek_derinlik);
Gl.glEnd();
}
}
if (sev.Value == 4)
{
//face 1.3
Gl.glBegin(Gl.GL_QUADS); //start drawing GL_QUADSis the connection mode
Gl.glColor3ub(85, 85, 85);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), 0);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), 0);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk2 + olcek3d_yuk3), 0);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3), 0);
Gl.glEnd();
//face 2.3
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(70, 70, 70);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), 0);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), olcek_derinlik);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk2 + olcek3d_yuk3), olcek_derinlik);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk2 + olcek3d_yuk3), 0);
Gl.glEnd();
//face 3.3
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(90, 90, 90);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), olcek_derinlik);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), olcek_derinlik);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk2 + olcek3d_yuk3), olcek_derinlik);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3), olcek_derinlik);
Gl.glEnd();
//face 4.3
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(85, 85, 85);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), 0);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), olcek_derinlik);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3), olcek_derinlik);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3), 0);
Gl.glEnd();
//face 5.3
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(85, 85, 85);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), 0);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), 0);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), olcek_derinlik);
Gl.glVertex3d(0, -1 * (olcek3d_yuk2 + olcek3d_yuk3 + olcek3d_yuk4), olcek_derinlik);
Gl.glEnd();
//face kapak.2
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor3ub(80, 80, 80);
Gl.glVertex3d(olcek3d_gen3, -1 * (olcek3d_yuk1 + olcek3d_yuk2), 0);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk1 + olcek3d_yuk2), 0);
Gl.glVertex3d(olcek3d_gen4, -1 * (olcek3d_yuk1 + olcek3d_yuk2), olcek_derinlik);
Gl.glVertex3d(olcek3d_gen3, -1 * (olcek3d_yuk1 + olcek3d_yuk2), olcek_derinlik);
Gl.glEnd();
}