Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 16.02.2011, 10:37   #361
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Xors3D

Сообщение от Amatsu Посмотреть сообщение
Вопрос по поводу теней - попытался сделать тени на уровне от самого уровня, получилось вот что http://images.tvlg.ru/images/65759763007493176218.jpg Пока не нашел, как отключить "полутона" при затемнении объекта, да и не думаю что такая возможность есть, разве что шейдер править. Потому вопрос - можно ли у модели отключить самозатенение, но при этом чтобы он отбрасывал тени на другие объекты и принимал тени с других объектов? То есть тени от уровня на уровне я допустим сделаю лайтмапой, но хотелось бы чтобы персонажи не просто отбрасывали тени на уровень, но и принимали тени от него, то есть заходя грубо говоря в темный угол затемнялись?
В xLightShadowEpsilons() первое значение подкрути, судя по скрину.
Насчет отключения самозатенения - человеки, вы вообще как себе это представляете? Есть теневая карта, и фиг знает какой пиксел какому объету принадлежит там. Можно иметь какой буфер хранящий идентификаторы объекта чтобы различать, но все равно, будут неточности.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Amatsu (16.02.2011)
Старый 16.02.2011, 13:40   #362
radiantstudio
Оператор ЭВМ
 
Регистрация: 14.08.2006
Сообщений: 39
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Xors3D

Сообщение от HolyDel Посмотреть сообщение
попробуй поставить значение кратное n^2.
например 1024.
К сожалению не помогает. Вообще значения меньше 1500 приводят к страшному результату.
Кстати и при значении 2048 артефакт тоже есть, но очень очень редко проявляется.
(Offline)
 
Ответить с цитированием
Старый 16.02.2011, 14:30   #363
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: Xors3D

Сообщение от Knightmare Посмотреть сообщение
В xLightShadowEpsilons() первое значение подкрути, судя по скрину.
Ок, попробую, спасибо
(Offline)
 
Ответить с цитированием
Старый 16.02.2011, 19:32   #364
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: Xors3D

Попробовал покрутить - "полутона" исчезли, зато вылезло http://images.tvlg.ru/images/24587438978767700276.jpg
(Offline)
 
Ответить с цитированием
Старый 16.02.2011, 19:43   #365
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Xors3D

Читаем о shadow-mapping'e, понимаем что это обычное дело.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Amatsu (16.02.2011)
Старый 16.02.2011, 20:30   #366
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: Xors3D

Ок, значит попробую как-нибудь схитрить
(Offline)
 
Ответить с цитированием
Старый 16.02.2011, 20:44   #367
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: Xors3D

Размеры мира какие примерно? Т.е. допустим на кубе 1х1х1 будет очень заметно. А на 100х100х100 уже нет. Точность она конечная, такие дела, и чтобы не было ошибочного самозатенения приходится обрезать диапазон.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Amatsu (16.02.2011)
Старый 16.02.2011, 20:46   #368
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: Xors3D

Размеры мира пока не определял, я пока просто копаюсь в ксорсе, смотрю что да как.
Наверное просто сделаю по старинке - весь уровень в статичной лайтмапе, а от динамичных объектов - тень
(Offline)
 
Ответить с цитированием
Старый 14.03.2011, 21:17   #369
Ganociy
Разработчик
 
Аватар для Ganociy
 
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений
(для 74 пользователей)
Ответ: Xors3D

Не могу отыскать пример Island. Где можно достать?
__________________
Самый первый и самый великий программист - это Бог.
(Offline)
 
Ответить с цитированием
Старый 14.03.2011, 21:37   #370
Ganociy
Разработчик
 
Аватар для Ganociy
 
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений
(для 74 пользователей)
Ответ: Xors3D

Всё. Нашёл. Вот выкладываю, что бы другие не искали:
http://www.blitzbasic.com/Community/...hp?topic=86061
__________________
Самый первый и самый великий программист - это Бог.
(Offline)
 
Ответить с цитированием
Старый 04.07.2011, 02:39   #371
chuvak2007f
AnyKey`щик
 
Регистрация: 04.07.2011
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Xors3D

Какие связки лучше использовать в пропорции: скорость выполнения/скорость создания/качество кода:
xors + C или xors + Blitz, 3 вариант?

пример такой: создаю в одном кадре много объектов, отворачиваю камеру за их пределы, прорисовка будет продолжаться или выпадает?

есть ли возмозможность (туман не предлагать) уменьшать с расстоянием кол-во полигонов на объектах, как в гта =), но при этом объекты будут видимы, или это нужно делать ручками и возможно ли?
примеры если можно в студию, типа так:
xCreatePoligonUmenshatel(1000, 100)
каждые 1000 пикселей уменьшать на 100 полигонов )))

снова создаю много объектов, смотрю на них, будут ли отрисовываться те которые не видимы (т.е. за данными объектами в том же кадре)?

можно ли как-то сделать чтобы отрисовка невидимых объектов (находящихся за другими), в том же кадре, не происходила? эдакая панацея:
xPaintHidenObjects(false)
(Offline)
 
Ответить с цитированием
Старый 04.07.2011, 04:32   #372
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Xors3D

BlitzMax + Xors3D.

Объекты вне зоны видимости не рисуются.

Систему ЛОДов ручками. (Нет, не возможно, другие для этого используют уличную магию, которя тебе не доступна.)

Отрисовка невидимых объектов кажется не происходит, но если-б они и рисовались, ты-бы их не увидел, потому что они невидимые.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
chuvak2007f (04.07.2011)
Старый 04.07.2011, 11:15   #373
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Xors3D

пример такой: создаю в одном кадре много объектов, отворачиваю камеру за их пределы, прорисовка будет продолжаться или выпадает?
прорисовка выпадает. но количество таких объектов все равно ограниченно. это связано с линейной структурой сценографа и, видимо, с обрезкой по боксу изначально. т-е если создать миллион объектов, то даже если в кадре будет лишь 2000 из них - все равно будет работать не так быстро - как хотелось-бы.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mr_F_ (04.07.2011)
Старый 04.07.2011, 13:06   #374
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Xors3D

скорость выполнения
качество кода
свой двиг под конкретную цель
имхо

скорость создания
ксорс + блиц. для всяких быстрых тестов, небольших приложений, сцен тестов шейдеров - очень отличная связка. для казуалок, возможно, тоже отличный вариант.

есть ли возмозможность (туман не предлагать) уменьшать с расстоянием кол-во полигонов на объектах, как в гта =), но при этом объекты будут видимы, или это нужно делать ручками и возможно ли?
примеры если можно в студию, типа так:
xCreatePoligonUmenshatel(1000, 100)
каждые 1000 пикселей уменьшать на 100 полигонов )))
автоматически уменьшать полигоны - это тупо, потому что автомат будет делать кривые сетки. реальные лоды должны делать люди, стараясь оставлять контуры со всех сторон максимально читаемыми, убирая полигоны во внутренних местах. тем не менее автоматическая технология такая вроде есть - progressive mesh, но там мутно это всё работает (и вообще только с .x), в ксорсе он не поддерживается.

снова создаю много объектов, смотрю на них, будут ли отрисовываться те которые не видимы (т.е. за данными объектами в том же кадре)?
будут конечно. хотя есть такая фишка: если объект рисуется, но он уже перекрыт другим объектом, то на перекрытые пиксели не считается пиксель шейдер. не знаю сортируется ли оно в ксорсе от передних к дальним, но это в принципе могло бы помочь. естественно это никак не уменьшает нагрузку на вертексы/трианглы - для полного отсекания перекрытых мешей в играх используют разные алгоритмы, например портальный рендеринг, окклюдеры (порталы наоборот), проверки загораживания через occlusion query (dx9+ only) - не уверен насчёт существования последнего в ксорсе, но оно в принципе лагучее - если у кого внезапно исчезали/появлялись куски сцены при быстром вращении камеры в дюке форевер - тот поймёт. окклюдеры и порталы, в общем, годное решение, (но только в случае, если твой левел похож на интерьеры) рекомендую глянуть как оно примерно устроено:
http://geck.bethsoft.com/index.php/Occlusion_Culling
для аутдор пространств такой подход не катит, собственно поэтому глупо требовать от разрабов ксорса всех этих алгоритмов заранее встроенных, т.к. всем не угодишь.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
chuvak2007f (04.07.2011), Randomize (04.07.2011)
Старый 04.07.2011, 14:08   #375
chuvak2007f
AnyKey`щик
 
Регистрация: 04.07.2011
Сообщений: 5
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Xors3D

Сообщение от NitE Посмотреть сообщение
Систему ЛОДов ручками. (Нет, не возможно, другие для этого используют уличную магию, которя тебе не доступна.)

Отрисовка невидимых объектов кажется не происходит, но если-б они и рисовались, ты-бы их не увидел, потому что они невидимые.
Про лоды спасибо узнал новое ) но гугл не особо щедр на такую инфу, есть ли блитз/ксорс примеры на эту тему?

Насчёт отрисовки, раньше кодил на блитз басике, и проводил такой тест, создавал кучу стандартных кубов в рядок, когда кубы уходили из поля видимости, фпс увеличивалась, а в камере доходило до 5-10 фпс, отрисовка продолжалась даже если стоишь за первым кубом, а все остальные за ним и в камере не светятся...
была такая идея чтобы перебирать в цикле все объекты падающие в камеру и те что были заслоняемые другими удалялись/скрывались и создавались когда обратно попадали.. но этот цикл был весьма удручающий )) и тут напрашивается вопрос есть ли более рациональное решение или такой же цикл но быстрее )) ?


Сообщение от Mr_F_ Посмотреть сообщение
свой двиг под конкретную цель
имхо
Учитывая мои скромные познания в области 3Д проще будет использовать готовые ксорсы чем тратить пол года - год на новый двиг, хотя может не всё так страшно )

Сообщение от Mr_F_ Посмотреть сообщение
автоматически уменьшать полигоны - это тупо, потому что автомат будет делать кривые сетки. реальные лоды должны делать люди, стараясь оставлять контуры со всех сторон максимально читаемыми, убирая полигоны во внутренних местах. тем не менее автоматическая технология такая вроде есть - progressive mesh, но там мутно это всё работает (и вообще только с .x), в ксорсе он не поддерживается.


будут конечно. хотя есть такая фишка: если объект рисуется, но он уже перекрыт другим объектом, то на перекрытые пиксели не считается пиксель шейдер. не знаю сортируется ли оно в ксорсе от передних к дальним, но это в принципе могло бы помочь. естественно это никак не уменьшает нагрузку на вертексы/трианглы - для полного отсекания перекрытых мешей в играх используют разные алгоритмы, например портальный рендеринг, окклюдеры (порталы наоборот), проверки загораживания через occlusion query (dx9+ only) - не уверен насчёт существования последнего в ксорсе, но оно в принципе лагучее - если у кого внезапно исчезали/появлялись куски сцены при быстром вращении камеры в дюке форевер - тот поймёт. окклюдеры и порталы, в общем, годное решение, (но только в случае, если твой левел похож на интерьеры) рекомендую глянуть как оно примерно устроено:
http://geck.bethsoft.com/index.php/Occlusion_Culling
для аутдор пространств такой подход не катит, собственно поэтому глупо требовать от разрабов ксорса всех этих алгоритмов заранее встроенных, т.к. всем не угодишь.
Сообщение от Mr_F_ Посмотреть сообщение
ксорс + блиц. для всяких быстрых тестов, небольших приложений, сцен тестов шейдеров - очень отличная связка. для казуалок, возможно, тоже отличный вариант.
а я то уже размечтался ) тогда понту от этого dx9 + блитз если возможностей 0...
портальный рендеринг, окклюдеры (порталы наоборот), проверки загораживания через occlusion query спасибо это то что надо!
пойду искать мануал по дх9 ))
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Xors3d wants YOU! .Squid Xors3D 33 13.01.2013 23:34
Xors3D для D johnk Проекты C++ 8 09.08.2009 14:18
Xors3D for .NET? johnk C++ 7 06.08.2009 09:34
Xors3D ЛысыЙ_Чук-Иванчук Модули для BlitzMax 145 18.06.2009 21:17
xors3d NitE 3D-программирование 9 02.04.2009 22:21


Часовой пояс GMT +4, время: 22:20.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com