Пятница, 29 Марта 2024, 18:21

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Компьютерная графика на С++ (Нашел интересную задачу, котору не могу решить)
Компьютерная графика на С++
gil9redДата: Четверг, 14 Октября 2010, 11:46 | Сообщение # 1
частый гость
Сейчас нет на сайте
Я 2 недели как изучаю кг на си, нашел книжку с заданиями и решаю
Пока не наткнулся на задачу, которую не могу решить, у меня не хватает опыта и знаний(
помоги пжл с ее решением советов или кодом))

Условие такое:
Написать программу, которая позволяет имитировать свечение лампочки. Позволить пользователю регулировать яркость свечения (изменять цвет и количество лучей, исходящих от лампы), включать/выключать лампу.


В программировании нет совершенства, но к нему нужно стремиться. ©
AkyltistДата: Четверг, 14 Октября 2010, 13:05 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Code
GLfloat light2_diffuse[] = {0.4, 0.7, 0.2};  //цвет рассеянного излучения источника света   
GLfloat light2_position[] = {0.0, 0.0, 1.0, 1.0};  //(x, y, z, w) направление источника направленного света
glEnable(<источник света>); // по умолчанию GL_LIGHT0
glLightfv(<источник света>, GL_DIFFUSE, light2_diffuse);
glLightfv(<источник света>, GL_POSITION, light2_position);
glLightf(<источник света>, GL_CONSTANT_ATTENUATION, 0.0);
glLightf(<источник света>, GL_LINEAR_ATTENUATION, 0.2);
glLightf(<источник света>, GL_QUADRATIC_ATTENUATION, 0.4);

Code
// отключение источника света
glDisable(<источник света>);

GL_CONSTANT_ATTENUATION - постоянная k_const в функции затухания f(d)
GL_LINEAR_ATTENUATION - коэффициент k_linear при линейном члене в функции затухания f(d)
GL_QUADRATIC_ATTENUATION - коэффициент k_quadratic при квадрате расстояния в функции затухания f(d)

Ну и естественно не забываем врубить свет, что то типа такого:

void init (void)
{
glClearColor (0.3, 0.3, 0.3, 0.0); // цвет фона
glEnable(GL_LIGHTING); // рассчет освещения
glLightModelf(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE); // двухсторонний расчет освещения
glEnable(GL_NORMALIZE); // автоматическое приведение нормалей к единичной длине
}

Дополнительно тут:

gil9redДата: Пятница, 15 Октября 2010, 13:03 | Сообщение # 3
частый гость
Сейчас нет на сайте
Спасибо, Akyltist:)
Подскажи пожалуйста, где можно найти информацию по компьютерной графике на С++?
Пытался я скачать Богуславского, но без результатно(
а так хочется найти хороший литературный источник с кодом и объяснением его:)

И честно эти функции я впервые вижу(

Их на Борланд С++ можно использовать?


В программировании нет совершенства, но к нему нужно стремиться. ©
05142Дата: Пятница, 15 Октября 2010, 14:06 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Quote (gil9red)
Их на Борланд С++ можно использовать?

Нужно подключить OpenGL


mecinvader
ezhickovichДата: Пятница, 15 Октября 2010, 14:15 | Сообщение # 5
[Великий и могучий хозяинъ]
Сейчас нет на сайте
gil9red, а какой ГАПИ ты используешь?

Если OpenGL, то гугли "OpenGL суперкнига"



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
gil9redДата: Понедельник, 18 Октября 2010, 13:08 | Сообщение # 6
частый гость
Сейчас нет на сайте
ezhickovich, я нуб, объясни что значит ГАПИ:)
OpenGL поддерживает яп си++?


В программировании нет совершенства, но к нему нужно стремиться. ©
LorderonДата: Понедельник, 18 Октября 2010, 13:11 | Сообщение # 7
старожил
Сейчас нет на сайте
Quote (gil9red)
ezhickovich, я нуб, объясни что значит ГАПИ:)

Это короче Directx и OpeнGL.
Quote (gil9red)
OpenGL поддерживает яп си++?

Он мультиязычный...
ezhickovichДата: Понедельник, 18 Октября 2010, 15:08 | Сообщение # 8
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Quote (gil9red)
я нуб, объясни что значит ГАПИ:)

ОМФГ...

Можно поинтересоваться по каким урокам ты занимаешься? (книге/сайту)



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
zadrot_666Дата: Понедельник, 18 Октября 2010, 16:21 | Сообщение # 9
почетный гость
Сейчас нет на сайте
ГАПИ это Графический API, ну или проще говоря библиотека для работы с графикой.

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine? © SHODAN.
Форум игроделов » Программирование » C/C++ » Компьютерная графика на С++ (Нашел интересную задачу, котору не могу решить)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг