Демо - физика, ландшафт, вода, тени, динамическое небо

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение djalex777 » 17.10.2008 (Пт) 10:51

Выкладываю первую версию демки. Для её работы необходима установка драйверов Ageia PhysX 2.7.3
http://developer.download.nvidia.com/PhysX/PhysX_7.11.13_SystemSoftware.exe

Управление A,W,S,D + мышь
O,P - Управление положением солнца
Space (пробел) - прыжок

Что интересует:
1. Если не трудно, напишите FPS и название видео карты + процессор и его тактовая частота;

А так же вопрос - я использовал ландшафт от Майкла. При хождении по ландшафту в некоторых местах появляются какие-то дополнительные треугольники, ландщафт как-будто ломается. Но стоит изменить направление взгляда камеры, как всё опять становится нормальным. Откуда может браться эта проблема? Были мысли, что из-за некорректного размера index-буфера. Но, ведь пример Майкла работает и нет там тауих проблем.

И ещё вопрос - тени у меня стенсильные. Если объект, которым мы управляем повернуть определённой стороной, то в нём начинают прорисовываться все объекты, которые отбрасывают тени (только очень маленькие по размеру, размер зависит от задней плоскости в матрице проекций. Чем ближе плоскость, тем больше объекты). Как можно убрать такого рода ошибку?

Последнее обновление: 29.10.08
Добавлено:
добавлен эффект LensFlare
исправлена ошибка ландшафта
оптимизирована физика
оптимизировано небо
оптимизирована вода
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось djalex777 29.10.2008 (Ср) 19:02, всего редактировалось 4 раз(а).

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

По поводу Демо - физика, ландшафт, вода, тени, динамическое

Сообщение DODge » 17.10.2008 (Пт) 21:07

1. FPS 22-30
Компьютер (домашний):
PentiumD 2.66х2
2048 Mb
ATI RADEON X1650 Pro 256 Mb
WinXP SP2

2. Сколько по ландшафту не лазил - треугольных артефактов так и не увидел
3. Чё-то воды я там не нашёл ☺
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

Bazilius
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 14.11.2003 (Пт) 16:07
Откуда: Пермь

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Bazilius » 17.10.2008 (Пт) 23:09

FPS - 53-60
Компьютер:
Intel E6750 2.66
2048 Mb
NVidia GeForce 8600 GTS
Windows XP Professional SP2
Артефактов не наблюдал.
P.S. 2DODge: Просто ты в воде и был, заберись на верхушку горы и посмотри кругом...
In the grim darkness of the far future, there is only war!

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение nekeda » 18.10.2008 (Сб) 11:23

FPS: 50-60
Intel Q6600 @ 3.0Ghz
3.25 Gb ram
nVidia GeForce 9600 GTS
WinXP SP2 (под вистой не пошло)

Артефактов не наблюдал

Ktulhu
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 14.07.2007 (Сб) 14:03
Откуда: Киев, Р'льех

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Ktulhu » 18.10.2008 (Сб) 11:44

20 FPS

Celeron 2.66 GHz
GeForce FX5500

Артефакты ландшафта видел. Скорее всего где-то неправильно заполняется индекс буфер.
Напиши свои процедуры рисования тени и порядок вызова.

Понравилась смена дня/ночи. Расскажи как делал

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Mikle » 18.10.2008 (Сб) 13:58

djalex777
Помню когда-то была такая ошибка на ландшафте, помню исправлял. Возможно у тебя не последняя версия ландшафта.
Демку пока не смотрел, PhysX качать долго :cry:

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение djalex777 » 18.10.2008 (Сб) 18:52

Ktulhu писал(а):Понравилась смена дня/ночи. Расскажи как делал

Вот тут давно обсуждал эту тему http://bbs.vbstreets.ru/viewtopic.php?f=6&t=32226
Для вычисления цвета неба использую всепогодную функцию Переса (Perez)

Mikle, а где можно взять последнюю версию? С "народа" ссылки уже не работают.

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение DODge » 18.10.2008 (Сб) 20:49

Bazilius & djalex777
Вот прикол: на той машине, что я указал, вааще ни воды ни артефактов нет :shock: , а вот на этой
Компьютер (Рабочий):
Core 2 Duo 6300 (1800x2)
2048 Mb
NV GF 9600GT 512 Mb
WinXP SP2
и артефакты и вода есть :D
FPS, кстати, 37-43
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Vovik » 18.10.2008 (Сб) 21:18

DODge писал(а):Вот прикол: на той машине, что я указал, вааще ни воды ни артефактов нет :shock: , а вот на этой
и артефакты и вода есть
Все дело в видеокарте. Я как-то писал код, че-т намудрил с буферами. На nVidia 4MX440 валило без проблем, а на Radeon 9600XT просто перегружало комп, а после загрузки винда писала, что система восстановлена после серьезной ошибки.

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение DODge » 18.10.2008 (Сб) 22:06

Vovik
И не только. На своём опыте и в шейдерах достаточно намудрить, как вполне возможно для данного случая. Для Radeon'ов критично если вдруг в пиксельный будут переданы семантики типа NORMAL или POSITION, а в NVIDIA картах хоть бы что.
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Vovik » 18.10.2008 (Сб) 23:36

DODge писал(а):Vovik
И не только. На своём опыте и в шейдерах достаточно намудрить, как вполне возможно для данного случая. Для Radeon'ов критично если вдруг в пиксельный будут переданы семантики типа NORMAL или POSITION, а в NVIDIA картах хоть бы что.
Не спорю. Но я и без шейдеров намудрил так, что мама не горюй :lol:

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Debugger » 19.10.2008 (Вс) 10:34

Артефактов не видел. Тени тоже нормально ложатся.
Расскажи, пожалуйста, как ты сделал тени.

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение djalex777 » 19.10.2008 (Вс) 12:42

Debugger писал(а):Артефактов не видел. Тени тоже нормально ложатся.
Расскажи, пожалуйста, как ты сделал тени.


Тени я сделал стенсильные, только доработал код из dx sdk и сделал так, чтобы тени всегда рисовались "правильные" (даже если находимся внутри теневого объема). Вот тут я обсуждал эту тему и выложил исходник теней.
http://bbs.vbstreets.ru/viewtopic.php?f=6&t=36415

С небом тоже выложу исходник, только уберу всё лишнее.

Да, с водой проблемы возникают из-за vertex shader. За основу взят пример от Майкла с водой и отражениями, только доработанный для моих целей. Видимость зависит от глубины. Реализовал с помощью тумана.

Обновил демо (прикрепленный файл вверху темы)! Теперь вода обладает водными свойствами, а персонаж соответственно умеет плавать :)

Bazilius
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 14.11.2003 (Пт) 16:07
Откуда: Пермь

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Bazilius » 20.10.2008 (Пн) 20:17

2djalex777:
Обновил карту на 260GTX. В старом примере FPS остался таким-же (50-60), в новом поднялся до 60-70. Однако под водой изменений не произошло - как было далеко и отчетливо видно, так и осталось. Заметил искажения на воде: когда камеру опускаешь до горизонтального уровня выскакивают полосы прямо у объектива.
waterdemo.PNG
У вас нет доступа для просмотра вложений в этом сообщении.
In the grim darkness of the far future, there is only war!

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Вылетает с ошибкой

Сообщение DODge » 21.10.2008 (Вт) 13:29

djalex777
Обнаружил серьёзный баг в твоей демке (версия от 20.10.08)- вылетает с ошибкой типа [Память не может быть "read"], когда пытаешься достигнуть другого угла ландшафта относительно точки старта. Проверял на обоих компах (конфигурации известны) и на обоих вылетает, кстати, старые глюки по-прежнему актуальны.
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение djalex777 » 29.10.2008 (Ср) 19:03

Выложил новую версию. Существенные доработки. Пишите Ваш FPS и видеокарту с процессором.

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Debugger » 29.10.2008 (Ср) 19:47

Воды до сих пор не видно.

Ktulhu
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 14.07.2007 (Сб) 14:03
Откуда: Киев, Р'льех

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Ktulhu » 30.10.2008 (Чт) 19:46

GeFerce fx5500 celeron 2.6 30fps
и в чем была ошибка ландшафта?
lens flare и динамическое небо смотрится очень симпатично, особенно когда солнце низко.

з.ы: просил в теме http://bbs.vbstreets.ru/viewtopic.php?f=6&t=32226 показать исходник этой функции Переза.

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение djalex777 » 30.10.2008 (Чт) 20:16

Исходник неба скинул. Пользуйтесь. Для его работы нужна моя библиотека dxwrap.dll, она есть в демке. Но можно и без неё. Просто нужно код раскомментировать.
Ktulhu, Ошибка была в неправильном рассчете числа индексов геометрии ландшафта.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Mikle » 31.10.2008 (Пт) 11:02

Установил физ. движок, запустил демку (новую).
70-80 FPS, если удачно повернуться, будет все 160.
Athlon 64 X2 6000+ Black, 2gB Dual DDR2 800, GF8600 GTS 256 mB.
Что-то маловато, если бы можно было отключать физику, воду, тени..., можно было бы определить, что тормозит.
Все корректно, кроме воды вблизи, но это и в моей воде так, можно просто NearPlane отодвинуть.
Шейдер воды ты поменял? Что-то не заметно зависимости прозрачности от угла зрения, реализм воды не очень. Волн тоже нет, только рябь.
Что такое dxwrap.dll, каковы возможности?

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение djalex777 » 31.10.2008 (Пт) 19:13

Добавлю возможности отключения воды и теней. Тормозит всё по-немногу и в результате такое кол-во FPS.
1) Главный кусок воды состоит из 128*128 вершин, плюс дорисовка "дальней" воды (для организации бесконечных водных просторов) 8*64*64 вершин. Итого 49152 вершин. Это довольно много. А можно наложить bump текстуру+отражения+прозрачность на два треугольника, образующие квадрат??? Т.е. создать воду, как квадрат с тем же наложением как и в примере с водой у тебя, Майкл. Если можно, то как?
2) dxwrap.dll - это библиотека написанная мной на C++, содержащая в себе функции для ускорения некоторых "мест" в коде Visual Basic-а. Там есть функция для пересчета тени (Stencil Volume), функция для расчета цвета неба в каждой точке. Прирост производительности ощутим.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Демо - физика, ландшафт, вода, тени, динамическое небо

Сообщение Mikle » 31.10.2008 (Пт) 20:39

Там есть функция для пересчета тени (Stencil Volume)

Это действительно слабое место. Одно из немногих, которые стоит перевести на плюса или асм.
функция для расчета цвета неба в каждой точке

А вот это либо делается гораздо проще (см. мое небо), либо перекладывается на шейдер.
То есть dxwrap - это совсем не враппер... :(
Воду "до горизонта" обдумываю, может скоро сделаю.


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList