Пятница, 29 Марта 2024, 01:30

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Общие обсуждения программистов » Тени OpenGl вопрос
Тени 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, оттрассировать пересечение треугольников объекта и пола или других объектов, каждый треугольник спроицировать и затемнить с прозрачностью. wink
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, который ОЧЕНЬ зависим от размера окна + количества полигонов на сцене + количества источников света biggrin Для real-time не годится)
SaiteiДата: Воскресенье, 21 Июня 2015, 17:40 | Сообщение # 8
старожил
Сейчас нет на сайте
Хотя я мог неправильно вас понять)
falcowareДата: Воскресенье, 21 Июня 2015, 18:20 | Сообщение # 9
старожил
Сейчас нет на сайте
Saitei, я вынужден Вас оштрафовать за неверное понимание! Скажите свой логин в фалько админке! biggrin

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, ого, да вы не только успешный бизнесмен, но и специалист по компьютерной графике up

Вы - мой кумир up
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
Форум игроделов » Программирование » Общие обсуждения программистов » Тени OpenGl вопрос
  • Страница 1 из 1
  • 1
Поиск:

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