forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   addmesh ??? (http://forum.boolean.name/showthread.php?t=17046)

Alex__Noc 18.07.2012 18:13

addmesh ???
 
Знает ли кто нить как ЭТО работает?:4to:

HolyDel 18.07.2012 18:29

Ответ: addmesh ???
 
в вершинный буффер первого меша добавляется вершинный буффер второго меша
в индексный буффер исходного меша добавляется индексный буффер второго меша.
каждый индекс новой части индексного буффера увеличивается на число - равное числу вершин в исходно буффере

Alex__Noc 18.07.2012 19:18

Ответ: addmesh ???
 
Ладно не буду мучать - создал тему чтобы обьяснить что это такое на самом деле , то что HolyDel написал - это само собой разумеющиеся вещи!
Допустим мы создали меш и хотим в него аттачить ентитю или меш !
если ентитя стоит в координатах все по нулям то ентитя примет 0 созданного меша (где бы он не стоял!!!)
Если ентитя стояла в 2,0,0 то при аттаче она за 0 возьмет пивот меша и добавит координаты ентити
тоесть сам меш останется в тех же координатах - а вот треугольники добавляемого ентити установятся в позицию 0(мешовая координата)+2(ентитьная бывшая координата)!
Внимательнее следите за скейлом ибо он также накладывается!
Надеюсь кому то поможет! (в синглсурфейсных системах СТОПУДОВО это понадобится знать!)
особенно когда травы ЖУТЬ как дофига нужно:

HolyDel 18.07.2012 20:16

Ответ: addmesh ???
 
Цитата:

особенно когда травы ЖУТЬ как дофига нужно:
особенно когда жуть как нужно пиннать труп блица.

используйте подходящие инструменты блин.
нужна казуалка - берите блиц
нужны сложная демка со сложной графикой и нестандартными вещами - берите более подходящий двиг :) который поддерживает геометрические шейдеры и прочую фигню.

impersonalis 18.07.2012 23:24

Ответ: addmesh ???
 
Разве это не ожидаемый эффект? Точно так же наследуются координаты и скейл при приparentчивании.

moka 18.07.2012 23:29

Ответ: addmesh ???
 
Олег, не утруждайся, Алекс сильно упорот в плане блица, и не способен ни на что другое, до сих пор благословляя блиц с "отмазой": "На блице можно сделать что угодно, так что крутые движки и всякая хрень не нужна".

Короче, не утруждайтесь..

impersonalis 19.07.2012 00:19

Ответ: addmesh ???
 
Да дело-то не в инструменте, а в мастере...

ABTOMAT 19.07.2012 04:02

Ответ: addmesh ???
 
Что тут обсуждают? При Move(Translate)Entity, Turn(Rotate)Entity, ScaleEntity вершины в буфере НЕ модифицируются, соответственно при AddMesh они присоединяются такими, какими они родились. Это матчасть, это знать надо! А иначе это кажется странностями, как самый известный самолёт на тихоокеанском театре военных действий.

Alex__Noc 19.07.2012 12:22

Ответ: addmesh ???
 
Приаттач в зд максе любой обьект в любой обьект , и странностью покажеться что блиц аттачит со сдвигами!
Посему логика очевидна.
Я не боготворю блиц , не утверждаю что нету двигов луче и не выделяю вообще никакие из них , дело лишь в мастере как сказал импер.

Nerd 19.07.2012 12:37

Ответ: addmesh ???
 
Too slow

moka 19.07.2012 13:58

Ответ: addmesh ???
 
Цитата:

Сообщение от Alex__Noc (Сообщение 233328)
Приаттач в зд максе любой обьект в любой обьект , и странностью покажеться что блиц аттачит со сдвигами!
Посему логика очевидна.

[s]Посмотрите как сливаются цвета в фотошопе, а в реале я смешал синий с красным, и заместо розового получил грязно чёрный цвет! Какого хрена?
Видимо реальные краски занимаются странными махинациями, и не правильно работают, не как фотожоп..[/s]

ABTOMAT 19.07.2012 14:00

Ответ: addmesh ???
 
3Д Макс - не блиц

Alex__Noc 19.07.2012 15:43

Ответ: addmesh ???
 
Именно для этого и создал тему !!!!!!!!!!!!!!!!
Сам ничего не нашел по этой команде - вынужден был все "грабли" собрать чтобы понять как это дерьмо работает !
Надеюсь другим не придется сильно париться :)
Макс харэ тролить ! )))

pax 19.07.2012 16:29

Ответ: addmesh ???
 
Вершины трансфоримрует видеокарта при отрисовке объекта, используя матрицу трансформаций. Это позволяет рисовать одни и те же меши в разных частях сцены. Так устроено 3D.

moka 19.07.2012 16:52

Ответ: addmesh ???
 
"Блиц так не устроен!".
Pax, если помнишь, будучи блицером ты не имеешь дела с математикой и матрицами, это всё сокрыто и работа с энтитями и мешами прозрачна в блице.

А Алекс, кроме блица ни во что не углублялся, поэтому и не понимает этих азов и принципов работы реалтайм 3д.

Alex__Noc 19.07.2012 18:28

Ответ: addmesh ???
 
А зачем углубляться - если проблема решаема???
Нахрена мне себя пичкать теми знаниями - которыми я и не собираюсь пользоваться? Вот проблему решил - и кстати даже не углублялся!!!
Будет такая задача когда нужно будет углубиться - вот тогда и посмотрю , а сейчас хватает тех знаний что уже имею!
Макс и не нужно меня даже пытаться за это упрекнуть:))), это мое личное дело - что знать а что нет!

moka 19.07.2012 18:38

Ответ: addmesh ???
 
Дело твоё, тебя никто не упрекает.

Но тут и дураку понятно, что ты встретил эту проблему, и не мог понять почему что-то работает не как ты ожидал, и почему что-то смещается. В 3Д Максе же иначе!
Ты углубился, и понял "как блиц делает", хотя не понял почему так и т.п.
И затем на эмоциях запостил тут всем и так известную инфу, только известную не потому что они также как и ты "углублялись", а потому что знают азы 3д программирования, что такое матрицы и вершинные буфера и т.п. Хотя бы поверхностно.

Так что, да, "не углубляйся"..

Alex__Noc 20.07.2012 01:15

Ну вот я и дописал свою синглсурфейсную травку - работает мега быстро вплоть до милиона травинок в кадре - 25 фпс , причем под травинкой подразумевается ОДНА травинка (хотя могу и плашку в качестве травинки указать)!!! А не плашка с нарисованной кучей травы!!! Любая библа идет НА Ху..тор! 150 строк кода это делаю , рассаживают траву по ЛЮБОМУ обьекту который укажу! А теперь задайте себе вопрос - ЗА ЧТО ПЛАТИТЬ!!!! ЗА БИБЛЫ!!!

особенно когда жуть как нужно пиннать труп блица.
используйте подходящие инструменты блин.
Любой инструмент можно сломать!!!! А ведь можно работать и не новым и не совершенным - НО ОЧЕНЬ аккуратно , в итоге получишь такую же качественную вешь - как если бы ты сделал ее НОВЫМ инструментом!!!!!!!!! ИТОГ: Дело не в инструменте а в руках и голове мастера !!!!!!!!

Знали бы вы сколько денег делается на трупах!!!!!!!!!!

HolyDel 20.07.2012 01:36

Ответ: addmesh ???
 
Цитата:

до милиона травинок в кадре - 25 фпс
демку в студию.

они же колышутся, правда?
или ты порадовался что просто сделал меш в два лямов поликов (ну ладно, пару десятков мешей, чтобы вписаться в Unsigned short индексы).

tormoz 20.07.2012 02:11

Ответ: addmesh ???
 
Цитата:

Сообщение от Alex__Noc (Сообщение 233391)
Ну вот я и дописал свою синглсурфейсную травку - работает мега быстро вплоть до милиона травинок в кадре - 25 фпс , причем под травинкой подразумевается ОДНА травинка (хотя могу и плашку в качестве травинки указать)!!! А не плашка с нарисованной кучей травы!!! Любая библа идет НА Ху..тор! 150 строк кода это делаю , рассаживают траву по ЛЮБОМУ обьекту который укажу! А теперь задайте себе вопрос - ЗА ЧТО ПЛАТИТЬ!!!! ЗА БИБЛЫ!!!

особенно когда жуть как нужно пиннать труп блица.
используйте подходящие инструменты блин.
Любой инструмент можно сломать!!!! А ведь можно работать и не новым и не совершенным - НО ОЧЕНЬ аккуратно , в итоге получишь такую же качественную вешь - как если бы ты сделал ее НОВЫМ инструментом!!!!!!!!! ИТОГ: Дело не в инструменте а в руках и голове мастера !!!!!!!!

Знали бы вы сколько денег делается на трупах!!!!!!!!!!

Неверю
демку в студию

ABTOMAT 20.07.2012 02:21

Ответ: addmesh ???
 
Люди! Ну что же вы разговорчивые такие? Вы же покушать принесли, троллю покушать! Давайте лучше сядем из блитза шашки сделаем.

Alex__Noc 20.07.2012 02:55

Ответ: addmesh ???
 
интересно с какого то это хрена я кому то чтото тут должен доказывать ??? Скриншотека хватит вам...

Alex__Noc 20.07.2012 03:08

Ответ: addmesh ???
 
И это на машине: cor 2 duo , radion 2600 Hd , 2 gb памяти . система 7 А ТЕПЕРЬ ВСЕ ДРУЖНО НАЧИНАЕМ ВЕРИТЬ !!!:crazy:

Mr_F_ 20.07.2012 03:15

Ответ: addmesh ???
 
мне нравится трава. погонять бы демо самому.

HolyDel 20.07.2012 03:30

Ответ: addmesh ???
 
мне тоже очень нравится трава. и тоже хочется погонять демо самому. дай демку пожалуйста.

Alex__Noc 20.07.2012 03:30

Ответ: addmesh ???
 
И при всем при этом я могу РИСОВАТЬ ТРАВОЙ!!! Автофейд пашед ! Учитываются высоты И ОНА ЕЩЕ И АНИМИРОВАННАЯ!!!!!!

Alex__Noc 20.07.2012 03:32

Ответ: addmesh ???
 
Да ладно Вам - блиц же хреновый инструмент че там уж...

Alex__Noc 20.07.2012 03:34

Ответ: addmesh ???
 
И дааа)) я даже НЕ УГЛУБЛЯЛСЯ в основы !!!!!!!!!!!!!!!!!

moka 20.07.2012 05:52

Ответ: addmesh ???
 
Быстрей же!!!!! Пиши свой кризис на блице, деньги делай!!!!
Чегож ты сидишь без дела, давай мир покорять блицем!!!!!

MiXaeL 20.07.2012 12:49

Ответ: addmesh ???
 
Мне кажется, что автор упоротый тролль.
Поздравляю его с красивым (возможно), но неюзабельным (определенно) велосипедом.
Geometry instancing говорит о чем-нибудь? Нет? А вот и зря.

HolyDel 20.07.2012 12:54

Ответ: addmesh ???
 
заплачу 2$ за демку

Alex__Noc 20.07.2012 13:27

тему делете!

Не нужна вам демка ! Ибо я не собираюсь тратить на это время - раз! Ибо вы все тут крутые пупы которым нужен только крутой инструмент для работы - два ! Ибо я не собираюсь никому ничего доказывать - дам демку , потом еще вопросы найдутся - зачем? Мне это не нужно ! Тусите ребятки считая друг друга богами и получайте удовольствие от общения друг с другом)))), тему либо удалите либо оставьте наиболее важную инфу - тут на усмотрение модера!!! Скоро еще будет водичка))) да да , обещаю ее МЕГА быстрой! ))

MiXaeL 20.07.2012 13:47

Ответ: addmesh ???
 
Автор, ты хотя бы себе можешь объяснить, ЗАЧЕМ? Ну ведь шейдеры есть... не мучайся. Это быстрее, проще, красивее.

Nuprahtor 20.07.2012 14:01

Ответ: addmesh ???
 
Цитата:

Не нужна вам демка
Нет, нужна

Mr_F_ 20.07.2012 15:26

Ответ: addmesh ???
 
Цитата:

Geometry instancing говорит о чем-нибудь? Нет? А вот и зря.
я тебя удивлю может, но он медленее, чем тупо синглсюрфейс)
долго парился с травой для проекта, перепробовал все возможные варианты.

MiXaeL 20.07.2012 16:01

Ответ: addmesh ???
 
Цитата:

Сообщение от Mr_F_ (Сообщение 233475)
я тебя удивлю может, но он медленее, чем тупо синглсюрфейс)
долго парился с травой для проекта, перепробовал все возможные варианты.

Не удивишь, но тупо на сингсюрфейсе далеко не удеешь. Во всяком случае, у меня с инстансингом как-то лучше отношения сложились.
Так или иначе, намек был скорее в сторону DX9 (хотя бы), чем в сторону конкретно этой техники.

Mr_F_ 20.07.2012 16:24

Ответ: addmesh ???
 
Цитата:

Не удивишь, но тупо на сингсюрфейсе далеко не удеешь. Во всяком случае, у меня с инстансингом как-то лучше отношения сложились.
у меня лучшая производительность вышла, когда я просто ставлю 9 блоков синглсюрфейсной травы вокруг камеры (т.е. как сетка для игры в крестики-нолики с камерой в центральной клетке) + дисплейсю геометрию по карте высот в вертекс шейдере.
ну да, в общем без шейдерного дисплейса далеко и впрямь не уедешь, т.к. не напасёшься уникально отдеформированных мешей на всю местность (если она большая).
но с инстансингом всяко выходило медленнее, просто от оверхеда от его использования.
инстансинг имеет смысл, если ты каждый кадр положения объектов меняешь, к примеру, сортируешь их, а сортировать травинки в любом случае дороговато (хотя можно препросчитать несколько IB с ограниченного кол-ва ракурсов сортированных и выбирать самый подходящий).

Alex__Noc 20.07.2012 16:29

Ответ: addmesh ???
 
прежде чем достич этого результата , было опробовано около 7 разных методов , и хоть вывернись на изнанку - но синглсурфей самый быстрый способ - ЭТО ФАКТ!
" у меня с инстансингом как-то лучше отношения сложились."<-- 50 строчек кода - сделает даже пятикласник!!!
А не сложились с синглсурфой ПОТОМУ ЧТО НЕ БЫЛО ИНФЫ ПРО ОСОБЕННОСТИ РАБОТЫ С МЕШАМИ!!!!!!!!!!!!!!!!!!!!
Выше я написал особенность - думаю огромного труда не составит написать систему травы!

FREE MAN 20.07.2012 16:48

Ответ: addmesh ???
 
Alex__Noc, Давай демку!!!

Alex__Noc 20.07.2012 17:01

Ответ: addmesh ???
 
На подумай на досуге вот :)))):cool:

Alex__Noc 20.07.2012 17:02

Ответ: addmesh ???
 
5 лямов почти и блиц еще щевелится :))))

impersonalis 20.07.2012 17:12

Ответ: addmesh ???
 
Чтобы не посвящать нас в код - выложи видео, а не статические скриншоты, пожалуйста.

HolyDel 20.07.2012 17:19

Ответ: addmesh ???
 
нафиг видео. за видео не заплачу ни цента.

давай демку, заплачу 3$.

MiXaeL 20.07.2012 17:37

Ответ: addmesh ???
 
Цитата:

Сообщение от Alex__Noc (Сообщение 233483)
прежде чем достич этого результата , было опробовано около 7 разных методов , и хоть вывернись на изнанку - но синглсурфей самый быстрый способ - ЭТО ФАКТ!
" у меня с инстансингом как-то лучше отношения сложились."<-- 50 строчек кода - сделает даже пятикласник!!!
А не сложились с синглсурфой ПОТОМУ ЧТО НЕ БЫЛО ИНФЫ ПРО ОСОБЕННОСТИ РАБОТЫ С МЕШАМИ!!!!!!!!!!!!!!!!!!!!
Выше я написал особенность - думаю огромного труда не составит написать систему травы!

По-моему, каждый пятиклассник как раз знал эти особенности. Достаточно было понимать разницу Entity и Mesh, а также обнаружить, что ВНЕЗАПНО есть такие команды как PositionMesh и т.д. Ну и хелп частично намекает:
Цитата:

Adds the source mesh to the destination mesh.

AddMesh works best with meshes that have previously only had mesh commands used with them.

So if you want to manipulate a mesh before adding it to another mesh, make sure you use ScaleMesh, PositionMesh, PaintMesh etc rather than ScaleEntity, PositionEntity, EntityTexture etc before using AddMesh.

However, something to be aware of when using commands such as RotateMesh is that all mesh commands work from a global origin of 0,0,0. Therefore it is generally a good idea to scale and rotate a mesh before positioning it, otherwise your mesh could end up in unexpected positions. Also, when using AddMesh, the origin of the new all-in-one mesh will be set at 0,0,0.

After using AddMesh, the original source_mesh will still exist, therefore use FreeEntity to delete it if you wish to do so.
ЗЫ. Стало интересно, будет время, напишу через инстансинг травку, "сверим часы" :-D

Alex__Noc 20.07.2012 17:48

Ответ: addmesh ???
 
HolyDel - оставь себе , пивка попьёшь :))

Alex__Noc 20.07.2012 17:49

Цитата:

Сообщение от MiXaeL (Сообщение 233500)
По-моему, каждый пятиклассник как раз знал эти особенности. Достаточно было понимать разницу Entity и Mesh, а также обнаружить, что ВНЕЗАПНО есть такие команды как PositionMesh и т.д. Ну и хелп частично намекает:


ЗЫ. Стало интересно, будет время, напишу через инстансинг травку, "сверим часы" :-D

Вперед!)

Видео чтото не аттачится - и в зип его и в рар его и грит ошибка заливки! Забил !

Nerd 20.07.2012 17:53

Ответ: addmesh ???
 
rghost.ru, на булке ограничение размера файла.

moka 20.07.2012 17:54

Ответ: addmesh ???
 
youtube

Alex__Noc 20.07.2012 18:06

Ответ: addmesh ???
 
ЗАБИЛ !!!

HolyDel 20.07.2012 18:11

Ответ: addmesh ???
 
Цитата:

HolyDel - оставь себе , пивка попьёшь

MiXaeL 20.07.2012 21:53

Ответ: addmesh ???
 
Так, посидел я часочек над эти делом. Писал на С++ и Xors3D.
Во-первых, сразу могу сказать, что результаты не следует сильно брать в расчет, т.к. обнаружилось, что Mesh в Xorse может иметь весьма ограниченное число треугольников (2 байтовые инты?), в это не углублялся. Пришлось немного изворачиваться, делая несколько синглсюрфейсных мешей. Тесты и их результаты ниже.
Все тесты заключались в следующем: некоторыми примитивами покрывался терраин. Сам терраин не рисовался, чтобы максимально устранить внешние факторы.

SingleSurface
1. 1024 куба, один меш

2. 65536 кубов, 64 меша

3. 9216 сфер, 144 меша

4. 65536 сфер, 1024 меша
MAV (кончилась оперативка)

5. Многополигональные сферы, 1024 меша
MAV (кончилась оперативка)

Hardware Instancing
1. 1024 куба

2. 65536 кубов

3. 9216 сфер

4. 65536 сфер, 1024 меша

5. Многополигональные сферы, 1024 меша

Сравнение
Тест . SS .. HwI
1 ...... 2351... 669
2 ...... 108 ... 12
3 ...... 90 .... 73
4 ...... MAV ... 10
5 ...... MAV .... 3

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

Как делать траву личный выбор каждого.
Можно хоть на основе шейдеров шерсти сделать, которые что-то типа такого выдают :-D

mauNgerS 20.07.2012 21:54

Ответ: addmesh ???
 
Не, серьёзно, Alex__Noc, продемонстрируй видео.
Или екзешник выложи.

Nuprahtor 20.07.2012 22:17

Ответ: addmesh ???
 
Сдается мне, не увижу я демо-версию программы.

moka 20.07.2012 22:33

Ответ: addmesh ???
 
Мы такое упустили... эх..

tormoz 20.07.2012 23:17

Ответ: addmesh ???
 
ппц. Машина времени. 7 лет назад на блиц рр тоже какой-то долбайоп велосипедом с травой всех веселил :-D

HolyDel 20.07.2012 23:18

Ответ: addmesh ???
 
трава - такая трава ))))

хотя 7 лет назад было еще более менее обоснованно. и трава на блице была зеленее.

Mr_F_ 20.07.2012 23:22

Ответ: addmesh ???
 
Цитата:

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

Alex__Noc 30.07.2012 18:52

Ответ: addmesh ???
 
смотреть нахъ :pure_magic:

L.D.M.T. 30.07.2012 20:02

Ответ: addmesh ???
 
нетбук - 2 ядра, 2 гига оперативы. фпс от 1 до 5...

pax 30.07.2012 20:04

Ответ: addmesh ???
 
Цитата:

Сообщение от Alex__Noc (Сообщение 234767)
смотреть нахъ :pure_magic:

Что-то лагает сильно

Кирпи4 30.07.2012 20:13

Ответ: addmesh ???
 
Никудышный из тебя маг. Сначала повис, висеееееееееееееееел, а как отвис - 0 фпс... Intel GMA 3310

FREE MAN 30.07.2012 20:37

Ответ: addmesh ???
 
4 ядра amd
8 Гб ram
video GeForce 440
75 FPS
в общем травка красивая получилось, но её где либо использовать в играх не получится... да и еще сделай траву лучше кусками чем рисовать каждую травинку и потом её атачить мешу, думаю фпс во много раз увеличатся!

Alex__Noc 31.07.2012 03:30

Ответ: addmesh ???
 
))) ок , мне не мешает на моем атлоне 3000+ 1 гиг , 6600 GT - думаем у кого комп слабее (мой 2002 года!!)

Alex__Noc 31.07.2012 13:17

Ответ: addmesh ???
 
мой комп уже на помойку пора)) , может вам туда же со своими сходить?)


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot