![]() |
Ответ: Пишем 3D движок - замену Xors3D
Цитата:
На булке всегда обсуждения не по теме (и не только на булке). И кстати почему "не по теме"? Разговор же как раз по теме. |
Ответ: Пишем 3D движок - замену Xors3D
Всё по теме. А я наблюдаю за происходящим, при этом не спеша пишу движок...
|
Ответ: Пишем 3D движок - замену Xors3D
Народ, столкнулся с такой проблемкой - если использовать текстурный атлас, то для некоторых вершин нужно 2 текстурные координаты, что приводит к невозможности использовать индексный буфер. Кто как решал проблемку? Дублировать вертекс в таких позициях? Но тогда как выявлять такие вертексы в модели - не понимаю....
|
Ответ: Пишем 3D движок - замену Xors3D
Почему нету возможности использовать индексный буфер?
|
Ответ: Пишем 3D движок - замену Xors3D
Цитата:
|
Ответ: Пишем 3D движок - замену Xors3D
дублируй вертекс и меняй индексы
|
Ответ: Пишем 3D движок - замену Xors3D
если использовать текстурный атлас для уменьшения количества смен текстур - то ничего менять ненадо. просто твои uv координаты будут ужиматься до нужного куска.
но, в DX10 появились texture arrays которые данную задачу решают лучше, избегая болячек типа смешивания цветов на пограничных выборках или там проблемы с мипами. а в кеплере и его амд-шнгом аналоге в gl-е появились bindless текстуры, которые еще круче. если же тебе нужен мультитекстуринг, для лайтмап например, то вторые uv координаты нужны для каждой вершины. такчто и тут никаких проблем. вообще, если в пределах одного меша у тебя для одной вершины нужны одни данные, а для другой другие - то это уже кривой подход. опиши задачу яснее. ну и демок накидай в тему. Цитата:
|
Ответ: Пишем 3D движок - замену Xors3D
Цитата:
P.S. Предполагаю, что нужно как-то сравнивать текстурные координаты в каждой вершине при загрузке модели... |
Ответ: Пишем 3D движок - замену Xors3D
Цитата:
если у тебя в индкесном буфере будут все индексы уникальными, то толку от него все равно нет. сам виноват, что взял ГАПИ 10 летней давности. |
Ответ: Пишем 3D движок - замену Xors3D
Ага, видимо проще забить на индексы, если в файле с моделью нет индексов изначально...
|
Ответ: Пишем 3D движок - замену Xors3D
я не понимаю твою проблему - какая разница атлас, не атлас?
была текстура отдельно, стала в атласе - если нет тайлинга, то только применить к ЮВ оффсет и скейл, чтобы загнать в нужное место. с тайлингом из атласа сложнее. |
Ответ: Пишем 3D движок - замену Xors3D
Цитата:
P.S. Скорее всего проблему нужно решать на уровне модели, а не на уровне движка. Т.е. подводить модели под общие правила и формат... |
Ответ: Пишем 3D движок - замену Xors3D
ага, тут либо в модели каждый тайл должен своими вертексами быть окружён, либо ты должен иметь оригинальные текскоорды + скейл и оффсет в пиксельном шейдере. тогда делаешь им fmod, чтобы повторялись попиксельно, затем трансформируешь. тогда со старой геометрией может проканать.
+ с атласом есть ещё свои заморочки с фильтрацией на краях. по нормальному, если тебе нужна не point фильтрация, тебе нужно края вокруг каждой текстуры в атласе сгенерить в несколько пикселей, как будто она тайлится вширь немного. для линейной хватает +2 пикселя, для анизотропной поболее, но вроде больше 4х не требовалось. |
Ответ: Пишем 3D движок - замену Xors3D
Цитата:
хотя может на том расстоянии, где нужны мипы постарше уже будет без разницы. Цитата:
чо вы ради 2.51% пользователей так заморачиваетесь (http://store.steampowered.com/hwsurvey/) |
Ответ: Пишем 3D движок - замену Xors3D
кстати говоря, можно ещё 3д текстуру юзать как альтернативу текстурному массиву)
каждый слой - свой тайл как раз (если тайлы одного/похожего размера). меняешь Z у выборки - выбираешь нужный. из-за дополнительной интерполяции может быть чутка медленее, чем атлас. |
Часовой пояс GMT +4, время: 04:42. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot