определение цвета пикселя.
я вот по всем справочникам посмотрел и делал вот так
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{drawpix=0;
GLint viewport[4]; // параметры viewport-a.
GLdouble projection[16]; // матрица проекции.
GLdouble modelview[16]; // видовая матрица.
GLdouble vx,vy,vz; // координаты курсора мыши в системе координат viewport-a.
GLbyte wrk[2];
glGetIntegerv(GL_VIEWPORT,viewport); // узнаём параметры viewport-a.
glGetDoublev(GL_PROJECTION_MATRIX,projection); // узнаём матрицу проекции.
glGetDoublev(GL_MODELVIEW_MATRIX,modelview); // узнаём видовую матрицу.
vx = X-pKx;
vy =Height-Y-pKy; // где height - текущая высота окна.
wrk[0]=0;
wrk[1]=0;
wrk[2]=0;
glReadPixels(vx, vy, 1, 1, GL_RGB, GL_FLOAT, &wrk);\\цвет пикселя
вот только он у меня только первый раз вроде получается а вот дальше чтото все херится.
как это дело исправить?!!!
заранее спасибо!!!!
________________________________
[COLOR="Red"]Для выделения листинга есть специальные теги. Но за год с лишним тебе, разумеется, не хватило времени об этом узнать. Либо читай и исправляй, либо пойдешь "под статью".
Модератор[/COLOR]
Код:
GLbyte wrk[2];
затем инициализируешь его как массив трёх элементов
Код:
wrk[0]=0;
wrk[1]=0;
wrk[2]=0;
wrk[1]=0;
wrk[2]=0;
а затем передаёшь в glReadPixels() адрес, по которому содержится адрес первого элемента массива
Код:
glReadPixels(vx, vy, 1, 1, GL_RGB, GL_FLOAT, &wrk);
то есть, указатель на указатель. glReadPixels() же принимает последним параметром void *
vx = X-pKx;
vy =Height-Y-pKy; // где height - текущая высота окна.
glReadPixels(vx, vy, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &wrk);
делал по примеру.вот только он чтото не всегда реагирует. и я так не понял- эта функция считывает цвет пикселя с текстуры(например жвакаю на объект на который нанесена текстура,одна сторона-один цвет- по цвету определяю цвет стороны)? можно так или эта функция на текстуру не реагирует?
Значит так. maxFM поздравляю с первым "пряником" по вопросу оформления кода в постах. Еще один пост с неверным оформлением - растоплю баню. Никто за тебя форматированием заниматься не будет.