Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2012, 13:17   #1
maccam
Новичок
Джуниор
 
Регистрация: 11.04.2012
Сообщений: 1
По умолчанию комп. графика и градиент цвета

У меня возникла проблема , как сделать градиент цвета от одной вердины многоугольника к другой... про градиент нашел тут вот такую штуку
Код:
void DrawGradient(int width, int begin, int end)
{
	float r,g,b,dr,dg,db;
	r=GetRValue(begin)/255.0;
	g=GetGValue(begin)/255.0;
	b=GetBValue(begin)/255.0;
	dr=(GetRValue(end)/255.0 - r)/(float)width;
	dg=(GetGValue(end)/255.0 - g)/(float)width;
	db=(GetBValue(end)/255.0 - b)/(float)width;
	for(int i=1;i<=width;i++)
	{
		r+=dr;
		g+=dg;
		b+=db;
		for(int k=1;k<=100;k++)
		{
			glBegin(GL_POINTS);
				glColor3f(r,g,b);
				glVertex2d(i,k);
			glEnd();
		}
	}
}
там begin-начальный цвет, end-конечный цвет, width-длина градации...

проблема в том что
-у меня есть массив фигур, в котором есть массив вершин. Массив вершин состоит в свою очередь из координат Х и У и цвета R,G,B.
Код:
struct point
{
	float X,Y,R,G,B;
};
vector < point> p_p;
vector < vector <point> > polygon(1);
- реализую рисование многоугольника вот так
Код:
void draw(int j)
{		
	glBegin(GL_LINE_LOOP);
	int psize = polygon[j].size();
	for(int i=0; i<psize; i++)
	{
		glColor3f(polygon[j][i].R, polygon[j][i].G, polygon[j][i].B);
		glVertex2f(polygon[j][i].X,polygon[j][i].Y);
	}
	glEnd();
}
не знаю как сделать переход цвета... подкиньте идей как это реализовать...
maccam вне форума Ответить с цитированием
Старый 12.04.2012, 10:21   #2
sIllent
Пользователь
 
Аватар для sIllent
 
Регистрация: 11.04.2012
Сообщений: 23
По умолчанию

Интерполяция, поищи такую штуку и будет тебе плавный переход цвета от вершине к вершине.
sIllent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TreeView и градиент kettanaito Компоненты Delphi 19 26.08.2011 22:26
Комп. графика Lazio Фриланс 4 19.12.2010 21:38
градиент Naive HTML и CSS 1 14.12.2010 09:10
Градиент в OpenGL papos Помощь студентам 9 16.11.2010 00:27
При передаче данных с накопителя на комп или наоборот комп перезагружается? СисТемникс Компьютерное железо 3 15.06.2010 15:21