Шрифты - это не к мешам, а к спрайтам. Для вывода шрифта нужно создавать shSpritesLayer и из него - shSpriteFont. shSpriteFont может иметь ресурс в виде TTF, FNT и XML. Из XML - это свой собственный шрифт из картинок.
Пример XML для кастомного шрифта:
<?xml version = '1.0' encoding = 'UTF-8'?>
в этом шрифте заданы цифры от 0 до 9, соответственно такой шрифт может рисовать только их. Класть файлы XML для шрифтов по умолчанию нужно в папку "../Animations".
Last edit: Nickolay Sosnovikov 2015-05-24
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ну, должен сказать, я впечатлен. При таком развитии движка, вы вскоре превратите его в отличную вещь! Все работает, буду моделировать свою сцену. Спасибо!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Потому что больше уже не влезает в слоты: 8 текстур под материалы, 2 под кубмапу окружения (цвет и глубина), 2 зарезервировано под изображение сцены (цвет и глубина), ещё 3 зарезервировано под шедоумапы и одна под лайтмапы. Всё, в притык 16.
Однако, потенциально эту одну карту можно использовать для нескольких компонентов, как в кризисе. Там одна текстура используется для нормалей, диффузии и блеска. Это можно прикрутить при желании.
Не можно, а нужно. 4-й компонент карты нормалей используется в качестве высоты при рассчётах эмбиента. Если этот компонент не задан, то высота всегда равна 1.0, то есть эмбиент максимальный.
Параллакс изначально предусмотрен в существующей системе, для этого даже 4 параметра интегрированы для его настроек. Даже не представляю почему вы решили что его нельзя добавить.
Единственное что нельзя делать - это комбинация альфа-теста и параллакса.
Last edit: Nickolay Sosnovikov 2015-09-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
А как сильно повлияет на производительность OpenGL такая техника, как step parallax, ну или relief mapping? В SoftPixelEngine рельеф напрочь убивал ФПС.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Параллакс достаточно сильно просаживает производительность. А так как эффект от него достаточно слабый, лучше его вообще не использовать. В играх кроме первого кризиса его больше никуда не пихали. Игроки параллакс не заметят, а тормоза заметят.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Вообще обидно за OpenGL, т.к. для него почти нет учебной литературы по современной графике(ну разве что супербиблия с примерами). Поэтому и учить его тяжело.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Вы очень часто упоминаете Кризис, но я не могу понять, почему, ведь он на DirectX. Я еще никогда не работал с директом, так что я не могу судить о нем, я знаю, что OpenGL намного лучше обрабатывает треугольники - а это уже что-то. И вообще, почему все создатели игр используют директ?
И еще один момент, относительно параллакса: Посмотрите исходники движка X-Ray(это который в игре сталкер), ну ОЧЕНЬ интересный двиг, тока код очень корявый, и явно заточен под WIN API :(
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Direct3D и OpenGL - это только интерфейс к видеокарте. Производительность зависит от видеокарты, а не от GAPI. Если от GAPI что-то и зависит, то только работа на процессоре, то есть скорость отправки команд.
Про кризис я указал, так как это единственная игра где применяли параллакс.
А Direct3D используют из-за наработок в коде. Раньше D3D9 был очень популярным, так как дрова под OpenGL были кривоваты. Сейчас ситуация с дровами намного лучше.
Last edit: Nickolay Sosnovikov 2015-09-20
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
В смысле, из-за наработок в коде? Я знаю, что примеров по D3D больше, или они как-то друг у друга тырят код(очень частое стало явление!)?
Еще одно: Нашел движок, который меня заинтересовал - UXGEN SDK - писал русский, весь код под LGPL(полностью свободный), поддержка OpenGL 3.3 - 4.2(core и compatibility), но сыроват, и похоже заброшен.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ну вот есть контора, которая пишет игры с 95 года. Она использовала D3D, так как в те времена в дровах и железе был зоопарк, а D3D вроде как работал более-менее. 20 лет - это и опыт программистов и наработки. С чего им вдруг резко всё менять? Тем более что винда обещает хорошую поддержку именно D3D. Вот так оно и получается.
А движков всяких десятки. Что мне с них?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Можно пример меша с материалом и xml - файла шрифта?
Шрифты - это не к мешам, а к спрайтам. Для вывода шрифта нужно создавать shSpritesLayer и из него - shSpriteFont. shSpriteFont может иметь ресурс в виде TTF, FNT и XML. Из XML - это свой собственный шрифт из картинок.
Пример XML для кастомного шрифта:
<?xml version = '1.0' encoding = 'UTF-8'?>
<space>30</space>
<offset>0 0 38</offset>
<coord>0 0 39 50</coord>
<array index="012345678" path="monkey/font/rb_%.png" first="0">
<offset>
0 0 38
0 0 29
0 0 38
0 0 39
0 0 40
0 0 38
0 0 40
0 0 38
0 0 38
</offset>
<coord>
0 0 39 50
7 0 26 50
0 0 39 50
0 0 40 50
0 0 42 50
0 0 40 50
0 0 41 50
0 0 39 50
0 0 39 50
</coord>
</array>
<frame/>
Last edit: Nickolay Sosnovikov 2015-05-24
Все-таки, выложите, пожалуйста, пример меша с материалом. Не могу понять, что не так делаю.
А какое отношение меши имеют к шрифтам?
Да дело не в шрифтах.Сейчас я прошу МЕШ с МАТЕРИАЛОМ. Тогда я просил и меш, и файл шрифта, а это ДВЕ разные вещи.
https://drive.google.com/file/d/0B1Sb6IrBqtgsREx1bk1WemdNN2c/view?usp=sharing
Сделал для вас сборку на основе бинарника из SVN. То есть это код из SVN, из класса demoListener.
Модели положил не все, так как иначе слишком большой архив будет.
Напишите когда скачаете и запустится.
Ну, должен сказать, я впечатлен. При таком развитии движка, вы вскоре превратите его в отличную вещь! Все работает, буду моделировать свою сцену. Спасибо!
Бывает такое, что "спотыкаешься" на ровном месте. Не указал кодировку xml - вот ничего и не работало. Обалдеть!
А почему можно использовать только одну карту деталей в материале? Или я что-то не понял?
Потому что больше уже не влезает в слоты: 8 текстур под материалы, 2 под кубмапу окружения (цвет и глубина), 2 зарезервировано под изображение сцены (цвет и глубина), ещё 3 зарезервировано под шедоумапы и одна под лайтмапы. Всё, в притык 16.
Однако, потенциально эту одну карту можно использовать для нескольких компонентов, как в кризисе. Там одна текстура используется для нормалей, диффузии и блеска. Это можно прикрутить при желании.
Тут более детально расписано:
https://sourceforge.net/p/shengine/wiki/Шейдеры%20и%20их%20встроенные%20данные/
Last edit: Nickolay Sosnovikov 2015-09-12
Так что, на вещи типа параллакса уже места нет? Плохо... хотя, можно карту высот запихать в альфа канал карты нормалей.
Last edit: Raizel 2015-09-12
Не можно, а нужно. 4-й компонент карты нормалей используется в качестве высоты при рассчётах эмбиента. Если этот компонент не задан, то высота всегда равна 1.0, то есть эмбиент максимальный.
Параллакс изначально предусмотрен в существующей системе, для этого даже 4 параметра интегрированы для его настроек. Даже не представляю почему вы решили что его нельзя добавить.
Единственное что нельзя делать - это комбинация альфа-теста и параллакса.
Last edit: Nickolay Sosnovikov 2015-09-12
А как сильно повлияет на производительность OpenGL такая техника, как step parallax, ну или relief mapping? В SoftPixelEngine рельеф напрочь убивал ФПС.
Параллакс достаточно сильно просаживает производительность. А так как эффект от него достаточно слабый, лучше его вообще не использовать. В играх кроме первого кризиса его больше никуда не пихали. Игроки параллакс не заметят, а тормоза заметят.
А вот тут я не согласен, я говорил не о простом параллаксе а о step и relief. Вобщем, посмотрите сами.
Обычно под параллаксом подразумевается именно "степ параллакс". "Обычный" от него отличается только тем, что в нём шаг один.
Вообще обидно за OpenGL, т.к. для него почти нет учебной литературы по современной графике(ну разве что супербиблия с примерами). Поэтому и учить его тяжело.
Вы очень часто упоминаете Кризис, но я не могу понять, почему, ведь он на DirectX. Я еще никогда не работал с директом, так что я не могу судить о нем, я знаю, что OpenGL намного лучше обрабатывает треугольники - а это уже что-то. И вообще, почему все создатели игр используют директ?
И еще один момент, относительно параллакса: Посмотрите исходники движка X-Ray(это который в игре сталкер), ну ОЧЕНЬ интересный двиг, тока код очень корявый, и явно заточен под WIN API :(
Direct3D и OpenGL - это только интерфейс к видеокарте. Производительность зависит от видеокарты, а не от GAPI. Если от GAPI что-то и зависит, то только работа на процессоре, то есть скорость отправки команд.
Про кризис я указал, так как это единственная игра где применяли параллакс.
А Direct3D используют из-за наработок в коде. Раньше D3D9 был очень популярным, так как дрова под OpenGL были кривоваты. Сейчас ситуация с дровами намного лучше.
Last edit: Nickolay Sosnovikov 2015-09-20
В смысле, из-за наработок в коде? Я знаю, что примеров по D3D больше, или они как-то друг у друга тырят код(очень частое стало явление!)?
Еще одно: Нашел движок, который меня заинтересовал - UXGEN SDK - писал русский, весь код под LGPL(полностью свободный), поддержка OpenGL 3.3 - 4.2(core и compatibility), но сыроват, и похоже заброшен.
Ну вот есть контора, которая пишет игры с 95 года. Она использовала D3D, так как в те времена в дровах и железе был зоопарк, а D3D вроде как работал более-менее. 20 лет - это и опыт программистов и наработки. С чего им вдруг резко всё менять? Тем более что винда обещает хорошую поддержку именно D3D. Вот так оно и получается.
А движков всяких десятки. Что мне с них?