1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| legat |
28.02.2010 18:37
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Сергей Репутация: 1 |
Необходимо реализовать трассировку лучей на OpenGl и C++, задача вроде проста, есть базовая сфера( радиус =1, центр в начале координат) необходимо ее отрисовать. У меня почти получилось, только вот точки пересечения не получается найти, по моему что-то с заданием направления луча. Может кто-то сталкивался с этим? Буду благодарен за код=)
Может кто знает, где можно найти книгу Лорен Хейни "Построение изображений метод слежения луча"? Сообщение отредактировано: Lapp - 3.03.2010 5:22 |
![]() ![]() |
| volvo |
4.03.2010 3:03
Сообщение
#2
|
|
Гость |
Это нахождение нормали (направления отраженного луча) в точке пересечения луча со сферой: с учетом того, что нормаль в точке пересечения имеет направление вектора, выпущенного из центра сферы в эту самую точку пересечения, да еще и учитывая нормализацию, вектор N (нормаль) находится вот так:
N = (newStart - sphereCenter) / |newStart - sphereCenter| Что, собственно, и сделано: // чуть выше того, что ты процитировал, находим N = newStart - sphereCenter |
legat Трассировка лучей, OpenGl, C++ 28.02.2010 18:37
volvo Чего ж ты не показал, что именно у тебя получилось... 28.02.2010 21:56
legat Все добавил код 2.03.2010 20:57
volvo Странно. В Reshape используешь функции из GLUT-а, ... 2.03.2010 22:18
legat Так сферу конечно нарисовать мог, но мне именно на... 2.03.2010 23:30
volvo Значит, смотри...
Вот - основа: http://www.coderm... 3.03.2010 13:36
legat Большое спасибо. Буду разбираться с кодом. 3.03.2010 15:37
Client А где взять файлик glut.h ? 3.03.2010 17:11
volvo Здесь: ftp://ftp.sgi.com/sgi/opengl/glut/
Там ест... 3.03.2010 17:54
Client спасибо, скачал этот :) Сколько там файлов....
ес... 3.03.2010 18:33
volvo Ну, и зачем тебе это все? Я ж говорил, что тебе на... 3.03.2010 19:22
legat Не могу понять зачем нужна переменная level? 3.03.2010 19:33
volvo А, это чтобы не затормаживать отрисовку сцены. Есл... 3.03.2010 19:39
legat float temp = n * n;
if (temp == 0.0f) break;
t... 3.03.2010 21:14
legat Пишу трассировку лучей по книге "Программиров... 1.05.2010 23:49
volvo Оно что у тебя, компилируется? Мне вот чего выдает... 5.05.2010 11:41
ttt Может у кого-то есть книга
"Лорен Хейни. Пост... 4.11.2011 13:30![]() ![]() |
|
Текстовая версия | 15.11.2025 9:50 |