|
Xors3D Графический движок с поддержкой DirectX9 |
11.04.2014, 23:51
|
#271
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,021
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Сообщение от L-ee-X
Движок загнулся и обсуждение не по теме пошло уже :D
|
Где и кто загнулся?????
На булке всегда обсуждения не по теме (и не только на булке).
И кстати почему "не по теме"? Разговор же как раз по теме.
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо Arton за это полезное сообщение:
|
|
13.04.2014, 10:12
|
#272
|
ПроЭктировщик
Регистрация: 19.03.2012
Адрес: Забайкальский край
Сообщений: 112
Написано 15 полезных сообщений (для 23 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Всё по теме. А я наблюдаю за происходящим, при этом не спеша пишу движок...
__________________
PC: MB ASRock Z170M Pro4S / CPU Intel Core i-5 6600 4-Core / RAM 32 Gb / GPU Geforce RTX 2080 Ti 11Gb / Oculus Rift DK1 + CV1 / HTC Vive / Deus Odin DK 0..5
https://rw-game.ru
https://geovoxium3d.com
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.04.2014, 13:53
|
#273
|
ПроЭктировщик
Регистрация: 19.03.2012
Адрес: Забайкальский край
Сообщений: 112
Написано 15 полезных сообщений (для 23 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Народ, столкнулся с такой проблемкой - если использовать текстурный атлас, то для некоторых вершин нужно 2 текстурные координаты, что приводит к невозможности использовать индексный буфер. Кто как решал проблемку? Дублировать вертекс в таких позициях? Но тогда как выявлять такие вертексы в модели - не понимаю....
__________________
PC: MB ASRock Z170M Pro4S / CPU Intel Core i-5 6600 4-Core / RAM 32 Gb / GPU Geforce RTX 2080 Ti 11Gb / Oculus Rift DK1 + CV1 / HTC Vive / Deus Odin DK 0..5
https://rw-game.ru
https://geovoxium3d.com
|
(Offline)
|
|
24.04.2014, 14:01
|
#274
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Почему нету возможности использовать индексный буфер?
|
(Offline)
|
|
24.04.2014, 14:19
|
#275
|
ПроЭктировщик
Регистрация: 19.03.2012
Адрес: Забайкальский край
Сообщений: 112
Написано 15 полезных сообщений (для 23 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Сообщение от moka
Почему нету возможности использовать индексный буфер?
|
Так как вертекс будет иметь одну и ту же текстурную координату. А надо для одного вертекса иметь две координаты. Если тупо слать вертексы в VB без индексного буфера - то все ок - все смежные вертексы засылаются отдельно и можно задать разные координаты текстуры. А вот как такое замутить с индексным буфером - непонятно.
__________________
PC: MB ASRock Z170M Pro4S / CPU Intel Core i-5 6600 4-Core / RAM 32 Gb / GPU Geforce RTX 2080 Ti 11Gb / Oculus Rift DK1 + CV1 / HTC Vive / Deus Odin DK 0..5
https://rw-game.ru
https://geovoxium3d.com
|
(Offline)
|
|
24.04.2014, 14:20
|
#276
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
дублируй вертекс и меняй индексы
|
(Offline)
|
|
24.04.2014, 14:23
|
#277
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
если использовать текстурный атлас для уменьшения количества смен текстур - то ничего менять ненадо. просто твои uv координаты будут ужиматься до нужного куска.
но, в DX10 появились texture arrays которые данную задачу решают лучше, избегая болячек типа смешивания цветов на пограничных выборках или там проблемы с мипами.
а в кеплере и его амд-шнгом аналоге в gl-е появились bindless текстуры, которые еще круче.
если же тебе нужен мультитекстуринг, для лайтмап например, то вторые uv координаты нужны для каждой вершины. такчто и тут никаких проблем.
вообще, если в пределах одного меша у тебя для одной вершины нужны одни данные, а для другой другие - то это уже кривой подход.
опиши задачу яснее. ну и демок накидай в тему.
Так как вертекс будет иметь одну и ту же текстурную координату. А надо для одного вертекса иметь две координаты. Если тупо слать вертексы в VB без индексного буфера - то все ок - все смежные вертексы засылаются отдельно и можно задать разные координаты текстуры. А вот как такое замутить с индексным буфером - непонятно.
|
теперь понятно. дублируй такие вертексы.
|
(Offline)
|
|
24.04.2014, 14:25
|
#278
|
ПроЭктировщик
Регистрация: 19.03.2012
Адрес: Забайкальский край
Сообщений: 112
Написано 15 полезных сообщений (для 23 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Сообщение от Mr_F_
дублируй вертекс и меняй индексы
|
Решение очевидное, но вопрос как найти какой вертекс дублировать? Например есть сфера, на нее натянута текстура из текстурного атласа. На каких-то вертексах если использовать индексный буфер будет неправильный стык текстур, хотя без индексов все нормально отобразится. Не могу сообразить, как найти эти стыки, чтобы продублировать вертексы - вот в чем вопрос.
P.S. Предполагаю, что нужно как-то сравнивать текстурные координаты в каждой вершине при загрузке модели...
__________________
PC: MB ASRock Z170M Pro4S / CPU Intel Core i-5 6600 4-Core / RAM 32 Gb / GPU Geforce RTX 2080 Ti 11Gb / Oculus Rift DK1 + CV1 / HTC Vive / Deus Odin DK 0..5
https://rw-game.ru
https://geovoxium3d.com
|
(Offline)
|
|
24.04.2014, 14:35
|
#279
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
На каких-то вертексах если использовать индексный буфер будет неправильный стык текстур, хотя без индексов все нормально отобразится.
|
рисуй без индексов.
если у тебя в индкесном буфере будут все индексы уникальными, то толку от него все равно нет.
сам виноват, что взял ГАПИ 10 летней давности.
|
(Offline)
|
|
24.04.2014, 14:40
|
#280
|
ПроЭктировщик
Регистрация: 19.03.2012
Адрес: Забайкальский край
Сообщений: 112
Написано 15 полезных сообщений (для 23 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Ага, видимо проще забить на индексы, если в файле с моделью нет индексов изначально...
__________________
PC: MB ASRock Z170M Pro4S / CPU Intel Core i-5 6600 4-Core / RAM 32 Gb / GPU Geforce RTX 2080 Ti 11Gb / Oculus Rift DK1 + CV1 / HTC Vive / Deus Odin DK 0..5
https://rw-game.ru
https://geovoxium3d.com
|
(Offline)
|
|
24.04.2014, 14:41
|
#281
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
я не понимаю твою проблему - какая разница атлас, не атлас?
была текстура отдельно, стала в атласе - если нет тайлинга, то только применить к ЮВ оффсет и скейл, чтобы загнать в нужное место.
с тайлингом из атласа сложнее.
|
(Offline)
|
|
24.04.2014, 15:48
|
#282
|
ПроЭктировщик
Регистрация: 19.03.2012
Адрес: Забайкальский край
Сообщений: 112
Написано 15 полезных сообщений (для 23 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
Сообщение от Mr_F_
я не понимаю твою проблему - какая разница атлас, не атлас?
была текстура отдельно, стала в атласе - если нет тайлинга, то только применить к ЮВ оффсет и скейл, чтобы загнать в нужное место.
с тайлингом из атласа сложнее.
|
Как раз на тайловой текстуре в индексной геометрии я и споткнулся. Вопрос можно перефразировать так: конвертация неиндексированной геометрии в индексированную при использовании атласной тайловой текстуры.
P.S. Скорее всего проблему нужно решать на уровне модели, а не на уровне движка. Т.е. подводить модели под общие правила и формат...
__________________
PC: MB ASRock Z170M Pro4S / CPU Intel Core i-5 6600 4-Core / RAM 32 Gb / GPU Geforce RTX 2080 Ti 11Gb / Oculus Rift DK1 + CV1 / HTC Vive / Deus Odin DK 0..5
https://rw-game.ru
https://geovoxium3d.com
|
(Offline)
|
|
24.04.2014, 16:59
|
#283
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
ага, тут либо в модели каждый тайл должен своими вертексами быть окружён, либо ты должен иметь оригинальные текскоорды + скейл и оффсет в пиксельном шейдере. тогда делаешь им fmod, чтобы повторялись попиксельно, затем трансформируешь. тогда со старой геометрией может проканать.
+ с атласом есть ещё свои заморочки с фильтрацией на краях. по нормальному, если тебе нужна не point фильтрация, тебе нужно края вокруг каждой текстуры в атласе сгенерить в несколько пикселей, как будто она тайлится вширь немного. для линейной хватает +2 пикселя, для анизотропной поболее, но вроде больше 4х не требовалось.
|
(Offline)
|
|
24.04.2014, 17:07
|
#284
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
для линейной хватает +2 пикселя
|
угу, для первых двух мипов. а дальше?
хотя может на том расстоянии, где нужны мипы постарше уже будет без разницы.
P.S. Скорее всего проблему нужно решать на уровне модели, а не на уровне движка.
|
был бы у тебя 10й директ - не было бы, такой проблемы.
чо вы ради 2.51% пользователей так заморачиваетесь ( http://store.steampowered.com/hwsurvey/)
|
(Offline)
|
|
24.04.2014, 17:32
|
#285
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Пишем 3D движок - замену Xors3D
кстати говоря, можно ещё 3д текстуру юзать как альтернативу текстурному массиву)
каждый слой - свой тайл как раз (если тайлы одного/похожего размера). меняешь Z у выборки - выбираешь нужный.
из-за дополнительной интерполяции может быть чутка медленее, чем атлас.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:50.
|