void_fastcall TGLGraf::MoveLight(int xPos, int yPos)
{
int nrLight = NrLightMove-1;
if(HitsMove== 1 || HitsMove == 2)
{
if(nrLight >= 0 && nrLight <=6)
{
if(clickMouseMOve)
{
float x = tabPropertiesLight[nrLight].GetPosLight(0);
float y = tabPropertiesLight[nrLight].GetPosLight(1);
float z = tabPropertiesLight[nrLight].GetPosLight(2);
GLdouble pos3D_x, pos3D_y, pos3D_z ;
GLdouble winX, winY, winZ;
GLdouble model_view[16];
glGetDoublev(GL_MODELVIEW_MATRIX, model_view);
GLdouble projection[16];
glGetDoublev(GL_PROJECTION_MATRIX, projection);
GLint wiewport[4];
glGetIntegerv(GL_VIEWPORT, viewport);
// szerokość i wysokość obszaru renderingu
int width = viewport[2] ;
int heiht = viewport[3] ;
gluProject(x, y, z, model_view, projection, viewport,
&winX, &winY, &winZ);
winX=xPos;
winY= (float)viewport[3] - (float)yPos;
gluUnProject(winX, winY, winZ, model_view, projection,
viewport, &pos3D_x, &pos3d_y, &pos3D_z);
tabPropertiesLight[nrLight].SetPosLight(o,(float)pos3D_x);
tabPropertiesLight[nrLight].SetPosLight(1, (float)pos3D_y);
tabPropertiesLight[nrLight].SetPosLight(2, (float)pos3D_z);
SetPositionLight((float)pos3D_x, (float)pos3D_y,(float)pos3D_z);
}
}
else
clickMouseMove = false ;
}
else
clickMouseMove = false ;
}
Wyszukiwarka
Podobne podstrony:
zestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 6Międzynarodowy Program Badań nad Zachowaniami SamobójczymiCSharp Introduction to C# Programming for the Microsoft NET Platform (Prerelease)Instrukcja Programowania Zelio Logic 2 wersja polskaProgram wykładu Fizyka II 14 15roprm ćwiczenie 6 PROGRAMOWANIE ROBOTA Z UWZGLĘDNIENIEM ANALIZY OBRAZU ARLANGio port programming 3ogqzy3bscrrpgv753q3uywjfexgwwoiiffd46a 3ogqzy3bscrrpgv753q3uywjfexgwwoiiffd46a2009 12 Metaprogramowanie algorytmy wykonywane w czasie kompilacji [Programowanie C C ]Podstawy Programowania Wersja Rozszerzonakoło Programy GoofyPROGRAMYPrzyczynek do analizy polozeniaprogramator do Amigiwięcej podobnych podstron