Тени OpenGl вопрос
|
|
PoidetLi | Дата: Суббота, 20 Июня 2015, 18:33 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Как создать тени в Opengl для которых не нужна рендерить 2 раза картинку ?
в еюдуго прсхлуренц http://gcup.ru/forum/9-44187-1 мой Project 96
|
|
| |
Saitei | Дата: Воскресенье, 21 Июня 2015, 17:03 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| PoidetLi, а в чём, собственно, проблема? Рендерить тени в отдельный буфер - это нормально
|
|
| |
PoidetLi | Дата: Воскресенье, 21 Июня 2015, 17:14 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Цитата Saitei ( ) а в чём, собственно, проблема? Рендерить тени в отдельный буфер - это нормально Проблема в том что я хочу рендерить всё в real-time через команду drawmodel, которую надо вводить только 1 раз, а не после команды drawall
в еюдуго прсхлуренц http://gcup.ru/forum/9-44187-1 мой Project 96
Сообщение отредактировал PoidetLi - Воскресенье, 21 Июня 2015, 17:14 |
|
| |
Saitei | Дата: Воскресенье, 21 Июня 2015, 17:29 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Цитата PoidetLi ( ) Проблема в том что я хочу рендерить всё в real-time через команду drawmodel, которую надо вводить только 1 раз, а не после команды drawall DrawAll - это хорошее решение, потому что видеокарта получит инфу максимально возможным куском, а не "понемногу". Дело в том, что связь CPU <-> GPU весьма дорогостоящая, поэтому лучше делать именно так. Если речь только в эстетике кода - то в методе "DrawModel" ты можешь своему "Render" отдать приказ аля "Нарисуй меня!". Ну а под конец, когда надо будет выводить кадр, движок сам всё решит и передаст инфу в видеокарту. Движок, например, сможет в этом случае применить https://ru.wikipedia.org/wiki/Geometry_Instancing , а это нехилый профит
|
|
| |
falcoware | Дата: Воскресенье, 21 Июня 2015, 17:31 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| PoidetLi, оттрассировать пересечение треугольников объекта и пола или других объектов, каждый треугольник спроицировать и затемнить с прозрачностью.
|
|
| |
PoidetLi | Дата: Воскресенье, 21 Июня 2015, 17:34 | Сообщение # 6 |
участник
Сейчас нет на сайте
| Цитата Saitei ( ) DrawAll - это хорошее решение, потому что видеокарта получит инфу максимально возможным куском, а не "понемногу". Дело в том, что связь CPU <-> GPU весьма дорогостоящая, поэтому лучше делать именно так. Если речь только в эстетике кода - то в методе "DrawModel" ты можешь своему "Render" отдать приказ аля "Нарисуй меня!". Ну а под конец, когда надо будет выводить кадр, движок сам всё решит и передаст инфу в видеокарту. Движок, например, сможет в этом случае применить https://ru.wikipedia.org/wiki/Geometry_Instancing , а это нехилый профит у меня был вариант использовать List, только я не знаю может ли GLLIST держать в себе GLlist
в еюдуго прсхлуренц http://gcup.ru/forum/9-44187-1 мой Project 96
|
|
| |
Saitei | Дата: Воскресенье, 21 Июня 2015, 17:37 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| Цитата falcoware ( ) PoidetLi, оттрассировать пересечение треугольников объекта и пола или других объектов, каждый треугольник спроицировать и затемнить с прозрачностью. wink В итоге мы изобрели raytracer, который ОЧЕНЬ зависим от размера окна + количества полигонов на сцене + количества источников света Для real-time не годится)
|
|
| |
Saitei | Дата: Воскресенье, 21 Июня 2015, 17:40 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| Хотя я мог неправильно вас понять)
|
|
| |
falcoware | Дата: Воскресенье, 21 Июня 2015, 18:20 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| Saitei, я вынужден Вас оштрафовать за неверное понимание! Скажите свой логин в фалько админке!
|
|
| |
OpenGOO | Дата: Воскресенье, 21 Июня 2015, 18:27 | Сообщение # 10 |
почти ветеран
Сейчас нет на сайте
| Кстати, уже есть проекты который использовали рейтрейсинг в реалтайме Quake Wars: Ray Traced
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Воскресенье, 21 Июня 2015, 18:28 |
|
| |
wcpt | Дата: Воскресенье, 21 Июня 2015, 18:36 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| falcoware, ого, да вы не только успешный бизнесмен, но и специалист по компьютерной графике
Вы - мой кумир
|
|
| |
falcoware | Дата: Воскресенье, 21 Июня 2015, 18:44 | Сообщение # 12 |
старожил
Сейчас нет на сайте
| wcpt,
|
|
| |
Saitei | Дата: Воскресенье, 21 Июня 2015, 19:16 | Сообщение # 13 |
старожил
Сейчас нет на сайте
| wcpt, falcoware, выдаю устное предупреждение за оффтоп.
|
|
| |
falcoware | Дата: Воскресенье, 21 Июня 2015, 19:39 | Сообщение # 14 |
старожил
Сейчас нет на сайте
| Saitei, сорри.
PoidetLi, а можно тень как битмап с прозрачностью приаттачить к объекту. Тоже не надо 2 раза рандерить.
|
|
| |
PoidetLi | Дата: Воскресенье, 21 Июня 2015, 19:42 | Сообщение # 15 |
участник
Сейчас нет на сайте
| Цитата falcoware ( ) PoidetLi, а можно тень как битмап с прозрачностью приаттачить к объекту. Тоже не надо 2 раза рандерить. это опять же статичная освещение, а у меня динамическая
в еюдуго прсхлуренц http://gcup.ru/forum/9-44187-1 мой Project 96
|
|
| |
Xakep | Дата: Вторник, 30 Июня 2015, 16:08 | Сообщение # 16 |
めちゃくちゃちゃ
Сейчас нет на сайте
| Цитата PoidetLi ( ) это опять же статичная освещение, а у меня динамическая Если не хочется через Shadow Map делать, делай через shadow volume, все эти техники давно реализованы и очень хорошо описаны в интернете, не нужно ничего придумывать. Вот пример есть: http://www.paulsprojects.net/opengl/shadvol/shadvol.html
Добавлено (30 июня 2015, 16:08) --------------------------------------------- вот еще статейка, как через Shadow Volume сделать реалистичную мягкую тень: http://www.uraldev.ru/articles/id/18
Сообщение отредактировал Xakep - Вторник, 30 Июня 2015, 16:08 |
|
| |