![]() |
Ответ: xCreateInstance
Ребят, а где можно почитать о том, что такое Instance ?
В официальной справке команда xCreateInstance отсутствует. Запрос в Яндексе "xCreateInstance" выдает аж 4(четыре) ответа. Гугл немножко больше, но инфы там ноль. По форуму все как-то вскользь. |
Ответ: xCreateInstance
|
Ответ: xCreateInstance
я думаю автору интересны не теоретические подробности реализации инстансинга, а то, как с ним работать в Хорсе. Вообще, имхо, хорс очень простой движок, и по листингам выше итак все должно быть понятно.
насколько я понимаю, достаточно вместо хCopyEntity писать xCreateInstance |
Ответ: xCreateInstance
А xCreateInstance работает со спрайтами?
Воюю сейчас с травой, создаю к примеру 10 000 спрайтов (через копиЭнтити). FPS - около 8. Пытаюсь сделать через xCreateInstance - ничего не отображается. Делаю 10 000 кубов через xCreateInstance FPS - около 18. С использованием xHWInstancingAvailable() FPS - около 30. (файл шейдера спёр из сэмпла Instancing. И вот пытаюсь ответить на такие вопросы: 1. xCreateInstance работает со спрайтами? если да, то как? 2. Что за штука такая чудесная - xHWInstancingAvailable() (я понял конечно, что аппартное ускорение инстанса, но как ее использовать, нужно ли писать для каждого конкретного случая свой файл шейдеров или есть какие-то заготовки) ? Может кто намекнет, в каком направлении копать. |
Ответ: xCreateInstance
Цитата:
Цитата:
|
Ответ: xCreateInstance
Цитата:
Так все таки не подскажите по поводу спрайтов и инстансов? |
Ответ: xCreateInstance
ты можешь делать не спрайт, а просто сюрфейс квада. и ориентировать их на камеру в шейдере инстансинга.
но, кончено, такие вещт лучше как то печь в один сюрфейс. |
Ответ: xCreateInstance
Цитата:
Делал 1000 спрайтов и 1000 сюрфейсов с одинаковыми текстурами. Счёт по FPS: Спрайты - 18. Сюрфейсы - 94! Правда еще не прикрутил поворот. Два вопроса: 1. Как сделать сюрфейс прозрачным ? Перепробовал все команды, что влияют на альфу сюрфейса из оф.доки - ничего не берет - белый и все тут? (может кстати это и причина высокого ФПС). 2. При выходе из проги с сюрфейсами виндовз выдает ошибку, может их как-то из памяти удалять нужно? |
Ответ: xCreateInstance
Цитата:
Цитата:
Цитата:
|
Ответ: xCreateInstance
Цитата:
Я не совсем понял, точнее совсем не понял:)), как это "1000 квадов на 1 сюрфейс" ? что это за сюрфейс и как он должен располагаться? |
Ответ: xCreateInstance
Квад это два треугольника. Получется тот же спрайт.
Создаешь меш и один сюрфейс и в сюрфейсе создаешь уже квады. Вот пример который я как то выкладывал. Ссылка Минус в том что тяжеловато манипулировать кучей квадов на одном сюрфейсе. Инстансингом не пользовался, но уверен, что его использовать будет лучше. |
Ответ: xCreateInstance
у тебя 1000 сюрфейсов? 1000 ентити? - это все равно много.
тебе нужен 1 сюрфейс из 2000 вершин. по 2 на травинку. инстансинг скорее-всего будет медленнее, чем синглсюрфей из-за накладываемого движком оверхеда на обработку ентити, хотя хз как это реализовано. с альфой будут траблы, ибо спрайты надо сортировать от дальнего к ближнему, иначе будут косяки. можно попробовать маску. и что за машина такая, если фпс падает от 94 до 20 при включенной альфе? |
Ответ: xCreateInstance
Цитата:
|
Ответ: xCreateInstance
Цитата:
И еще самый большой минус, что через команду нельзя взять и удалить 1 квад. Для удаления надо копировать все вертексы, удалить не нужные и перезаписывать сюрфейс. :crazy: |
Ответ: xCreateInstance
Цитата:
|
Часовой пояс GMT +4, время: 10:12. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot